libbluray | branch: master | hpi1 <[email protected]> | Fri Jan 11 22:38:53 2013 +0200| [5fe435586dae652228904da06823b74a95f2b58b] | committer: hpi1
fixed help text and added playlist option > http://git.videolan.org/gitweb.cgi/libbluray.git/?a=commit;h=5fe435586dae652228904da06823b74a95f2b58b --- src/examples/bdsplice.c | 41 +++++++++++++++++++++++++++++++---------- 1 file changed, 31 insertions(+), 10 deletions(-) diff --git a/src/examples/bdsplice.c b/src/examples/bdsplice.c index 4d61b06..4375d9e 100644 --- a/src/examples/bdsplice.c +++ b/src/examples/bdsplice.c @@ -38,29 +38,32 @@ static void _usage(char *cmd) { fprintf(stderr, -"Usage: %s -t playlist [-c first[-last]] [-k keyfile] [-a angle] <bd path> [dest]\n" +"Usage: %s -t title [-c first[-last]] [-k keyfile] [-a angle] <bd path> [dest]\n" +" %s -p playlist [-c first[-last]] [-k keyfile] [-a angle] <bd path> [dest]\n" "Summary:\n" -" Given a playlist number and Blu-Ray directory tree,\n" +" Given a title or playlist number and Blu-Ray directory tree,\n" " find the clips that compose the movie and splice\n" " them together in the destination file\n" "Options:\n" " t N - Index of title to splice. First title is 1.\n" +" p N - Playlist to splice.\n" " a N - Angle. First angle is 1.\n" " c N or N-M - Chapter or chapter range. First chapter is 1.\n" " k keyfile - AACS keyfile path.\n" " <bd path> - Path to root of Blu-Ray directory tree.\n" " [dest] - Destination of spliced clips. stdout if not specified.\n" -, cmd); +, cmd, cmd); exit(EXIT_FAILURE); } -#define OPTS "c:vt:k:a:" +#define OPTS "c:vt:p:k:a:" int main(int argc, char *argv[]) { int title_no = -1; + int playlist = -1; int angle = 0; char *bdpath = NULL, *dest = NULL; FILE *out; @@ -114,10 +117,20 @@ main(int argc, char *argv[]) break; case 't': + if (playlist >= 0) { + _usage(argv[0]); + } title_no = atoi(optarg); title_no--; break; + case 'p': + if (title_no >= 0) { + _usage(argv[0]); + } + playlist = atoi(optarg); + break; + case 'v': verbose = 1; break; @@ -128,7 +141,7 @@ main(int argc, char *argv[]) } } while (opt != -1); - if (title_no < 0) { + if (title_no < 0 && playlist < 0) { _usage(argv[0]); } if (optind < argc) { @@ -147,9 +160,19 @@ main(int argc, char *argv[]) return 1; } - if (!bd_select_title(bd, title_no)) { - fprintf(stderr, "Failed to open title: %d\n", title_no); - return 1; + if (title_no >= 0) { + if (!bd_select_title(bd, title_no)) { + fprintf(stderr, "Failed to open title: %d\n", title_no); + return 1; + } + ti = bd_get_title_info(bd, title_no, angle); + + } else { + if (!bd_select_playlist(bd, playlist)) { + fprintf(stderr, "Failed to open playlist: %d\n", playlist); + return 1; + } + ti = bd_get_playlist_info(bd, playlist, angle); } if (dest) { @@ -162,8 +185,6 @@ main(int argc, char *argv[]) out = stdout; } - ti = bd_get_title_info(bd, title_no, angle); - if (angle >= (int)ti->angle_count) { fprintf(stderr, "Invalid angle %d > angle count %d. Using angle 1.\n", angle+1, ti->angle_count); _______________________________________________ libbluray-devel mailing list [email protected] http://mailman.videolan.org/listinfo/libbluray-devel
