Import libbdplus-0.1.0 as multimedia/libbdplus.
BD+ is a part of the Blu-ray Disc DRM system. This library provides an open source implementation of the standard. This library is not complete, in that it will never be complete and will always require updates to stay up to date with the latest Bluray disks released. The general flow on this library is that the higher level 'player' code will call us if there exist a "BDSVM/00000.svm" file on the disk. If this is the case it will call bdplus_init(), connect the library with other parts of BluRay player and call bdplus_start(). BD+ VM executes the DLX assembled code inside the SVM file. This will perform thousands of AES, SHA, file reads and detailed memory checks to guess the authenticity of the player. If all goes well, the SVM will eventually spit out a 'conversion table'. This is a large table (usually about 1-2MB but it varies) which contains offsets into the M2TS video file. (usually the main title).
This commit is contained in:
parent
a1b79a6899
commit
e5afdd35af
6 changed files with 91 additions and 0 deletions
20
multimedia/libbdplus/DESCR
Normal file
20
multimedia/libbdplus/DESCR
Normal file
|
@ -0,0 +1,20 @@
|
|||
BD+ is a part of the Blu-ray Disc DRM system. This library provides
|
||||
an open source implementation of the standard.
|
||||
|
||||
This library is not complete, in that it will never be complete
|
||||
and will always require updates to stay up to date with the latest
|
||||
Bluray disks released.
|
||||
|
||||
The general flow on this library is that the higher level 'player'
|
||||
code will call us if there exist a "BDSVM/00000.svm" file on the
|
||||
disk. If this is the case it will call bdplus_init(), connect the
|
||||
library with other parts of BluRay player and call bdplus_start().
|
||||
|
||||
BD+ VM executes the DLX assembled code inside the SVM file. This
|
||||
will perform thousands of AES, SHA, file reads and detailed memory
|
||||
checks to guess the authenticity of the player.
|
||||
|
||||
If all goes well, the SVM will eventually spit out a 'conversion
|
||||
table'. This is a large table (usually about 1-2MB but it varies)
|
||||
which contains offsets into the M2TS video file. (usually the main
|
||||
title).
|
20
multimedia/libbdplus/Makefile
Normal file
20
multimedia/libbdplus/Makefile
Normal file
|
@ -0,0 +1,20 @@
|
|||
# $NetBSD: Makefile,v 1.1 2014/01/08 23:07:09 wiz Exp $
|
||||
|
||||
DISTNAME= libbdplus-0.1.0
|
||||
CATEGORIES= multimedia
|
||||
MASTER_SITES= ftp://ftp.videolan.org/pub/videolan/libbdplus/0.1.0/
|
||||
EXTRACT_SUFX= .tar.bz2
|
||||
|
||||
MAINTAINER= pkgsrc-users@NetBSD.org
|
||||
HOMEPAGE= https://www.videolan.org/developers/libbdplus.html
|
||||
COMMENT= Research project to implement the BD+ System Specifications
|
||||
LICENSE= gnu-lgpl-v2.1
|
||||
|
||||
GNU_CONFIGURE= yes
|
||||
USE_LIBTOOL= yes
|
||||
USE_TOOLS+= pkg-config
|
||||
|
||||
PKGCONFIG_OVERRIDE+= src/libbdplus.pc.in
|
||||
|
||||
.include "../../multimedia/libaacs/buildlink3.mk"
|
||||
.include "../../mk/bsd.pkg.mk"
|
5
multimedia/libbdplus/PLIST
Normal file
5
multimedia/libbdplus/PLIST
Normal file
|
@ -0,0 +1,5 @@
|
|||
@comment $NetBSD: PLIST,v 1.1 2014/01/08 23:07:09 wiz Exp $
|
||||
include/libbdplus/bdplus-version.h
|
||||
include/libbdplus/bdplus.h
|
||||
lib/libbdplus.la
|
||||
lib/pkgconfig/libbdplus.pc
|
7
multimedia/libbdplus/distinfo
Normal file
7
multimedia/libbdplus/distinfo
Normal file
|
@ -0,0 +1,7 @@
|
|||
$NetBSD: distinfo,v 1.1 2014/01/08 23:07:09 wiz Exp $
|
||||
|
||||
SHA1 (libbdplus-0.1.0.tar.bz2) = 67069a4d70e6c06bda560c2d2b623574880394ab
|
||||
RMD160 (libbdplus-0.1.0.tar.bz2) = cc73bf0d4b40925e3f823c7c49cc278118fb689c
|
||||
Size (libbdplus-0.1.0.tar.bz2) = 317810 bytes
|
||||
SHA1 (patch-src_libbdplus_bdsvm_segment.c) = 2f6a70a98bb740cc9f41c210a9ff76f5e82880c5
|
||||
SHA1 (patch-src_libbdplus_bdsvm_trap.c) = a028bbfc8801ddb7675e7aeef0a200d18730acbc
|
|
@ -0,0 +1,24 @@
|
|||
$NetBSD: patch-src_libbdplus_bdsvm_segment.c,v 1.1 2014/01/08 23:07:09 wiz Exp $
|
||||
|
||||
fseeko is a Linuxism.
|
||||
|
||||
--- src/libbdplus/bdsvm/segment.c.orig 2013-12-18 12:13:09.000000000 +0000
|
||||
+++ src/libbdplus/bdsvm/segment.c
|
||||
@@ -950,7 +950,7 @@ int32_t segment_patchfile(conv_table_t *
|
||||
offset);
|
||||
}
|
||||
|
||||
- if (fseeko(fd, offset, SEEK_SET)) {
|
||||
+ if (fseek(fd, offset, SEEK_SET)) {
|
||||
printf("Seek to offset %"PRIx64" failed. Stopping at table %d, segment %d, entry %d.\n",
|
||||
offset, table, currseg, currentry);
|
||||
return -1;
|
||||
@@ -975,7 +975,7 @@ int32_t segment_patchfile(conv_table_t *
|
||||
offset);
|
||||
}
|
||||
|
||||
- if (fseeko(fd, offset, SEEK_SET)) {
|
||||
+ if (fseek(fd, offset, SEEK_SET)) {
|
||||
printf("Seek to offset %"PRIx64" failed. Stopping at table %d, segment %d, entry %d.\n",
|
||||
offset, table, currseg, currentry);
|
||||
return -1;
|
|
@ -0,0 +1,15 @@
|
|||
$NetBSD: patch-src_libbdplus_bdsvm_trap.c,v 1.1 2014/01/08 23:07:09 wiz Exp $
|
||||
|
||||
fseeko is a Linuxism.
|
||||
|
||||
--- src/libbdplus/bdsvm/trap.c.orig 2013-12-18 12:13:09.000000000 +0000
|
||||
+++ src/libbdplus/bdsvm/trap.c
|
||||
@@ -1310,7 +1310,7 @@ uint32_t TRAP_MediaCheck(const char *dev
|
||||
return j;
|
||||
}
|
||||
|
||||
- if (fseeko(fd, seek, SEEK_SET)) {
|
||||
+ if (fseek(fd, seek, SEEK_SET)) {
|
||||
DEBUG(DBG_BDPLUS|DBG_CRIT, "[TRAP] TRAP_MediaCheck: failed to seek %s to %"PRIu64"\n", (char *)FileName, seek);
|
||||
fclose(fd);
|
||||
return STATUS_INVALID_PARAMETER;
|
Loading…
Reference in a new issue