comparison libmpdemux/demuxer.c @ 7867:3dc0b71630ff

cleanup config option handling in libmpdemux. removed overcompilacted m_config_register_options() mess - export the subconfig structs instead
author arpi
date Wed, 23 Oct 2002 17:21:01 +0000
parents 0568245deeb8
children 2b39ff3860b7
comparison
equal deleted inserted replaced
7866:732a8bfc7681 7867:3dc0b71630ff
1035 pts_from_bps=0; // !!! 1035 pts_from_bps=0; // !!!
1036 return demuxer; 1036 return demuxer;
1037 } 1037 }
1038 1038
1039 char* audio_stream = NULL; 1039 char* audio_stream = NULL;
1040 static char* sub_stream = NULL; 1040 char* sub_stream = NULL;
1041 static int demuxer_type = 0, audio_demuxer_type = 0, sub_demuxer_type = 0; 1041 int demuxer_type = 0, audio_demuxer_type = 0, sub_demuxer_type = 0;
1042 extern m_config_t* mconfig; 1042
1043 extern int hr_mp3_seek;
1043 1044
1044 demuxer_t* demux_open(stream_t *vs,int file_format,int audio_id,int video_id,int dvdsub_id){ 1045 demuxer_t* demux_open(stream_t *vs,int file_format,int audio_id,int video_id,int dvdsub_id){
1045 stream_t *as = NULL,*ss = NULL; 1046 stream_t *as = NULL,*ss = NULL;
1046 demuxer_t *vd,*ad = NULL,*sd = NULL; 1047 demuxer_t *vd,*ad = NULL,*sd = NULL;
1047 int afmt = 0,sfmt = 0; 1048 int afmt = 0,sfmt = 0;
1067 if(as) { 1068 if(as) {
1068 ad = demux_open_stream(as,audio_demuxer_type ? audio_demuxer_type : afmt,audio_id,-2,-2); 1069 ad = demux_open_stream(as,audio_demuxer_type ? audio_demuxer_type : afmt,audio_id,-2,-2);
1069 if(!ad) 1070 if(!ad)
1070 mp_msg(MSGT_DEMUXER,MSGL_WARN,MSGTR_OpeningAudioDemuxerFailed,audio_stream); 1071 mp_msg(MSGT_DEMUXER,MSGL_WARN,MSGTR_OpeningAudioDemuxerFailed,audio_stream);
1071 else if(ad->audio->sh && ((sh_audio_t*)ad->audio->sh)->format == 0x55) // MP3 1072 else if(ad->audio->sh && ((sh_audio_t*)ad->audio->sh)->format == 0x55) // MP3
1072 m_config_set_flag(mconfig,"hr-mp3-seek",1); // Enable high res seeking 1073 hr_mp3_seek=1; // Enable high res seeking
1073 } 1074 }
1074 if(ss) { 1075 if(ss) {
1075 sd = demux_open_stream(ss,sub_demuxer_type ? sub_demuxer_type : sfmt,-2,-2,dvdsub_id); 1076 sd = demux_open_stream(ss,sub_demuxer_type ? sub_demuxer_type : sfmt,-2,-2,dvdsub_id);
1076 if(!sd) 1077 if(!sd)
1077 mp_msg(MSGT_DEMUXER,MSGL_WARN,MSGTR_OpeningSubtitlesDemuxerFailed,sub_stream); 1078 mp_msg(MSGT_DEMUXER,MSGL_WARN,MSGTR_OpeningSubtitlesDemuxerFailed,sub_stream);
1243 } 1244 }
1244 1245
1245 return NULL; 1246 return NULL;
1246 } 1247 }
1247 1248
1248 /******************* Options stuff **********************/
1249
1250 static config_t demuxer_opts[] = {
1251 { "audiofile", &audio_stream, CONF_TYPE_STRING, 0, 0, 0, NULL },
1252 { "subfile", &sub_stream, CONF_TYPE_STRING, 0, 0, 0, NULL },
1253 { "demuxer", &demuxer_type, CONF_TYPE_INT, CONF_RANGE, 1, DEMUXER_TYPE_MAX, NULL },
1254 { "audio-demuxer", &audio_demuxer_type, CONF_TYPE_INT, CONF_RANGE, 1, DEMUXER_TYPE_MAX, NULL },
1255 { "sub-demuxer", &sub_demuxer_type, CONF_TYPE_INT, CONF_RANGE, 1, DEMUXER_TYPE_MAX, NULL },
1256 { NULL, NULL, 0, 0, 0, 0, NULL}
1257 };
1258
1259 void demuxer_register_options(m_config_t* cfg) {
1260 m_config_register_options(cfg,demuxer_opts);
1261 }
1262