diff options
Diffstat (limited to 'libmpdemux')
-rw-r--r-- | libmpdemux/demux_mpg.c | 4 | ||||
-rw-r--r-- | libmpdemux/demux_ogg.c | 5 | ||||
-rw-r--r-- | libmpdemux/demux_ts.c | 14 |
3 files changed, 11 insertions, 12 deletions
diff --git a/libmpdemux/demux_mpg.c b/libmpdemux/demux_mpg.c index 5801e5f1fd..ddc5d218dd 100644 --- a/libmpdemux/demux_mpg.c +++ b/libmpdemux/demux_mpg.c @@ -26,6 +26,7 @@ #include "config.h" #include "mp_msg.h" +#include "options.h" #include "stream/stream.h" #include "demuxer.h" @@ -57,7 +58,6 @@ typedef struct mpg_demuxer { int a_stream_ids[MAX_A_STREAMS]; } mpg_demuxer_t; -extern char* dvdsub_lang; static int mpeg_pts_error=0; off_t ps_probe = 0; @@ -482,7 +482,7 @@ static int demux_mpg_read_packet(demuxer_t *demux,int id){ if(demux->sub->id > -1) demux->sub->id &= 0x1F; - if(!dvdsub_lang && demux->sub->id == -1) + if(!demux->opts->sub_lang && demux->sub->id == -1) demux->sub->id = aid; if(demux->sub->id==aid){ ds=demux->sub; diff --git a/libmpdemux/demux_ogg.c b/libmpdemux/demux_ogg.c index e872ad5156..4234eb9498 100644 --- a/libmpdemux/demux_ogg.c +++ b/libmpdemux/demux_ogg.c @@ -163,8 +163,6 @@ typedef struct ogg_demuxer { #define PACKET_LEN_BITS2 0x02 #define PACKET_IS_SYNCPOINT 0x08 -extern char *dvdsub_lang, *audio_lang; - //-------- subtitle support - should be moved to decoder layer, and queue // - subtitles up in demuxer buffer... @@ -449,7 +447,8 @@ static void demux_ogg_check_comments(demuxer_t *d, ogg_stream_t *os, sh->lang = strdup(val); } // check for -slang if subs are uninitialized yet - if (os->text && d->sub->id < 0 && demux_ogg_check_lang(val, dvdsub_lang)) { + if (os->text && d->sub->id < 0 + && demux_ogg_check_lang(val, d->opts->sub_lang)) { d->sub->id = index; d->opts->sub_id = index; mp_msg(MSGT_DEMUX, MSGL_V, diff --git a/libmpdemux/demux_ts.c b/libmpdemux/demux_ts.c index c0dd2e632d..adef44913c 100644 --- a/libmpdemux/demux_ts.c +++ b/libmpdemux/demux_ts.c @@ -28,6 +28,7 @@ #include "config.h" #include "mp_msg.h" +#include "options.h" #include "stream/stream.h" #include "demuxer.h" @@ -60,7 +61,6 @@ int ts_prog; int ts_keep_broken=0; off_t ts_probe = 0; int audio_substream_id = -1; -extern char *dvdsub_lang, *audio_lang; //for -alang typedef enum { @@ -1007,17 +1007,17 @@ static demuxer_t *demux_open_ts(demuxer_t * demuxer) params.prog = ts_prog; params.probe = ts_probe; - if(dvdsub_lang != NULL) + if(demuxer->opts->sub_lang != NULL) { - strncpy(params.slang, dvdsub_lang, 3); + strncpy(params.slang, demuxer->opts->sub_lang, 3); params.slang[3] = 0; } else memset(params.slang, 0, 4); - if(audio_lang != NULL) + if(demuxer->opts->audio_lang != NULL) { - strncpy(params.alang, audio_lang, 3); + strncpy(params.alang, demuxer->opts->audio_lang, 3); params.alang[3] = 0; } else @@ -2937,10 +2937,10 @@ static int ts_parse(demuxer_t *demuxer , ES_stream_t *es, unsigned char *packet, int asgn = 0; uint8_t *lang; - if(dvdsub_lang) + if(demuxer->opts->sub_lang) { if ((lang = pid_lang_from_pmt(priv, pid))) - asgn = (strncmp(lang, dvdsub_lang, 3) == 0); + asgn = (strncmp(lang, demuxer->opts->sub_lang, 3) == 0); } else //no language specified with -slang asgn = 1; |