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:
wiz 2014-01-08 23:07:09 +00:00
parent a1b79a6899
commit e5afdd35af
6 changed files with 91 additions and 0 deletions

View 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).

View 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"

View 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

View 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

View file

@ -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;

View file

@ -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;