00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 #include <vlc/vlc.h>
00033
00034
00035
00036
00037 int VCDOpen ( vlc_object_t * );
00038 void VCDClose ( vlc_object_t * );
00039 int VCDOpenIntf ( vlc_object_t * );
00040 void VCDCloseIntf ( vlc_object_t * );
00041 int E_(VCDInit) ( vlc_object_t * );
00042 void E_(VCDEnd) ( vlc_object_t * );
00043
00044 int E_(DebugCallback) ( vlc_object_t *p_this, const char *psz_name,
00045 vlc_value_t oldval, vlc_value_t val,
00046 void *p_data );
00047
00048 int E_(BlocksPerReadCallback) ( vlc_object_t *p_this, const char *psz_name,
00049 vlc_value_t oldval, vlc_value_t val,
00050 void *p_data );
00051
00052
00053
00054
00055
00056 #define DEBUG_LONGTEXT \
00057 "This integer when viewed in binary is a debugging mask\n" \
00058 "meta info 1\n" \
00059 "event info 2\n" \
00060 "MRL 4\n" \
00061 "external call 8\n" \
00062 "all calls (10) 16\n" \
00063 "LSN (20) 32\n" \
00064 "PBC (40) 64\n" \
00065 "libcdio (80) 128\n" \
00066 "seek-set (100) 256\n" \
00067 "seek-cur (200) 512\n" \
00068 "still (400) 1024\n" \
00069 "vcdinfo (800) 2048\n"
00070
00071 #define VCD_TITLE_FMT_LONGTEXT \
00072 "Format used in the GUI Playlist Title. Similar to the Unix date \n" \
00073 "Format specifiers that start with a percent sign. Specifiers are: \n" \
00074 " %A : The album information\n" \
00075 " %C : The VCD volume count - the number of CDs in the collection\n" \
00076 " %c : The VCD volume num - the number of the CD in the collection.\n" \
00077 " %F : The VCD Format, e.g. VCD 1.0, VCD 1.1, VCD 2.0, or SVCD\n" \
00078 " %I : The current entry/segment/playback type, e.g. ENTRY, TRACK, SEGMENT...\n" \
00079 " %L : The playlist ID prefixed with \" LID\" if it exists\n" \
00080 " %N : The current number of the %I - a decimal number\n" \
00081 " %P : The publisher ID\n" \
00082 " %p : The preparer ID\n" \
00083 " %S : If we are in a segment (menu), the kind of segment\n" \
00084 " %T : The MPEG track number (starts at 1)\n" \
00085 " %V : The volume set ID\n" \
00086 " %v : The volume ID\n" \
00087 " A number between 1 and the volume count.\n" \
00088 " %% : a % \n"
00089
00090
00091
00092
00093
00094 vlc_module_begin();
00095 set_shortname( N_("(Super) Video CD"));
00096 set_description( _("Video CD (VCD 1.0, 1.1, 2.0, SVCD, HQVCD) input") );
00097 add_usage_hint( N_("vcdx://[device-or-file][@{P,S,T}num]") );
00098 add_shortcut( "vcdx" );
00099 set_category( CAT_INPUT );
00100 set_subcategory( SUBCAT_INPUT_ACCESS );
00101 set_capability( "access2", 55 );
00102 set_callbacks( VCDOpen, VCDClose );
00103
00104
00105 add_integer ( MODULE_STRING "-debug", 0, NULL,
00106 N_("If nonzero, this gives additional debug information."),
00107 DEBUG_LONGTEXT, VLC_TRUE );
00108
00109 add_integer ( MODULE_STRING "-blocks-per-read", 20,
00110 NULL,
00111 N_("Number of CD blocks to get in a single read."),
00112 N_("Number of CD blocks to get in a single read."),
00113 VLC_TRUE );
00114
00115 add_bool( MODULE_STRING "-PBC", 0, NULL,
00116 N_("Use playback control?"),
00117 N_("If VCD is authored with playback control, use it. "
00118 "Otherwise we play by tracks."),
00119 VLC_FALSE );
00120
00121 add_bool( MODULE_STRING "-track-length", VLC_TRUE,
00122 NULL,
00123 N_("Use track length as maximum unit in seek?"),
00124 N_("If set, the length of the seek bar is the track rather than "
00125 "the length of an entry."),
00126 VLC_FALSE );
00127
00128 add_bool( MODULE_STRING "-extended-info", 0, NULL,
00129 N_("Show extended VCD info?"),
00130 N_("Show the maximum amount of information under Stream and "
00131 "Media Info. Shows for example playback control navigation."),
00132 VLC_FALSE );
00133
00134 add_string( MODULE_STRING "-author-format",
00135 "%v - %F disc %c of %C",
00136 NULL,
00137 N_("Format to use in the playlist's \"author\" field."),
00138 VCD_TITLE_FMT_LONGTEXT, VLC_TRUE );
00139
00140 add_string( MODULE_STRING "-title-format",
00141 "%I %N %L%S - %M %A %v - disc %c of %C %F",
00142 NULL,
00143 N_("Format to use in the playlist's \"title\" field."),
00144 VCD_TITLE_FMT_LONGTEXT, VLC_FALSE );
00145
00146 vlc_module_end();
00147