Mercurial > mplayer.hg
comparison libmpdemux/demuxer.c @ 19540:70a5e89ea4cd
Get rid of demux_aid_vid_mismatch mess.
author | reimar |
---|---|
date | Sat, 26 Aug 2006 19:17:04 +0000 |
parents | 8dd04ec733f5 |
children | b251bca5820c |
comparison
equal
deleted
inserted
replaced
19539:64009ae411fb | 19540:70a5e89ea4cd |
---|---|
124 &demuxer_desc_xmms, | 124 &demuxer_desc_xmms, |
125 #endif | 125 #endif |
126 NULL | 126 NULL |
127 }; | 127 }; |
128 | 128 |
129 // Should be set to 1 by demux module if ids it passes to new_sh_audio and | |
130 // new_sh_video don't match aids and vids it accepts from the command line | |
131 int demux_aid_vid_mismatch = 0; | |
132 | |
133 void free_demuxer_stream(demux_stream_t *ds){ | 129 void free_demuxer_stream(demux_stream_t *ds){ |
134 ds_free_packs(ds); | 130 ds_free_packs(ds); |
135 free(ds); | 131 free(ds); |
136 } | 132 } |
137 | 133 |
201 stream_reset(stream); | 197 stream_reset(stream); |
202 stream_seek(stream,stream->start_pos); | 198 stream_seek(stream,stream->start_pos); |
203 return d; | 199 return d; |
204 } | 200 } |
205 | 201 |
206 sh_audio_t* new_sh_audio(demuxer_t *demuxer,int id){ | 202 sh_audio_t* new_sh_audio_aid(demuxer_t *demuxer,int id,int aid){ |
207 if(id > MAX_A_STREAMS-1 || id < 0) | 203 if(id > MAX_A_STREAMS-1 || id < 0) |
208 { | 204 { |
209 mp_msg(MSGT_DEMUXER,MSGL_WARN,"Requested audio stream id overflow (%d > %d)\n", | 205 mp_msg(MSGT_DEMUXER,MSGL_WARN,"Requested audio stream id overflow (%d > %d)\n", |
210 id, MAX_A_STREAMS); | 206 id, MAX_A_STREAMS); |
211 return NULL; | 207 return NULL; |
221 // set some defaults | 217 // set some defaults |
222 sh->samplesize=2; | 218 sh->samplesize=2; |
223 sh->sample_format=AF_FORMAT_S16_NE; | 219 sh->sample_format=AF_FORMAT_S16_NE; |
224 sh->audio_out_minsize=8192;/* default size, maybe not enough for Win32/ACM*/ | 220 sh->audio_out_minsize=8192;/* default size, maybe not enough for Win32/ACM*/ |
225 sh->pts=MP_NOPTS_VALUE; | 221 sh->pts=MP_NOPTS_VALUE; |
226 if (!demux_aid_vid_mismatch) | 222 mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_AUDIO_ID=%d\n", aid); |
227 mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_AUDIO_ID=%d\n", id); | 223 } |
228 } | 224 ((sh_audio_t *)demuxer->a_streams[id])->aid = aid; |
229 return demuxer->a_streams[id]; | 225 return demuxer->a_streams[id]; |
230 } | 226 } |
231 | 227 |
232 void free_sh_audio(demuxer_t *demuxer, int id) { | 228 void free_sh_audio(demuxer_t *demuxer, int id) { |
233 sh_audio_t *sh = demuxer->a_streams[id]; | 229 sh_audio_t *sh = demuxer->a_streams[id]; |
235 mp_msg(MSGT_DEMUXER,MSGL_DBG2,"DEMUXER: freeing sh_audio at %p\n",sh); | 231 mp_msg(MSGT_DEMUXER,MSGL_DBG2,"DEMUXER: freeing sh_audio at %p\n",sh); |
236 if(sh->wf) free(sh->wf); | 232 if(sh->wf) free(sh->wf); |
237 free(sh); | 233 free(sh); |
238 } | 234 } |
239 | 235 |
240 sh_video_t* new_sh_video(demuxer_t *demuxer,int id){ | 236 sh_video_t* new_sh_video_vid(demuxer_t *demuxer,int id,int vid){ |
241 if(id > MAX_V_STREAMS-1 || id < 0) | 237 if(id > MAX_V_STREAMS-1 || id < 0) |
242 { | 238 { |
243 mp_msg(MSGT_DEMUXER,MSGL_WARN,"Requested video stream id overflow (%d > %d)\n", | 239 mp_msg(MSGT_DEMUXER,MSGL_WARN,"Requested video stream id overflow (%d > %d)\n", |
244 id, MAX_V_STREAMS); | 240 id, MAX_V_STREAMS); |
245 return NULL; | 241 return NULL; |
248 mp_msg(MSGT_DEMUXER,MSGL_WARN,MSGTR_VideoStreamRedefined,id); | 244 mp_msg(MSGT_DEMUXER,MSGL_WARN,MSGTR_VideoStreamRedefined,id); |
249 } else { | 245 } else { |
250 mp_msg(MSGT_DEMUXER,MSGL_V,MSGTR_FoundVideoStream,id); | 246 mp_msg(MSGT_DEMUXER,MSGL_V,MSGTR_FoundVideoStream,id); |
251 demuxer->v_streams[id]=malloc(sizeof(sh_video_t)); | 247 demuxer->v_streams[id]=malloc(sizeof(sh_video_t)); |
252 memset(demuxer->v_streams[id],0,sizeof(sh_video_t)); | 248 memset(demuxer->v_streams[id],0,sizeof(sh_video_t)); |
253 if (!demux_aid_vid_mismatch) | 249 mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_VIDEO_ID=%d\n", vid); |
254 mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_VIDEO_ID=%d\n", id); | 250 } |
255 } | 251 ((sh_video_t *)demuxer->v_streams[id])->vid = vid; |
256 return demuxer->v_streams[id]; | 252 return demuxer->v_streams[id]; |
257 } | 253 } |
258 | 254 |
259 void free_sh_video(sh_video_t* sh){ | 255 void free_sh_video(sh_video_t* sh){ |
260 mp_msg(MSGT_DEMUXER,MSGL_DBG2,"DEMUXER: freeing sh_video at %p\n",sh); | 256 mp_msg(MSGT_DEMUXER,MSGL_DBG2,"DEMUXER: freeing sh_video at %p\n",sh); |
812 int afmt =DEMUXER_TYPE_UNKNOWN,sfmt = DEMUXER_TYPE_UNKNOWN ; | 808 int afmt =DEMUXER_TYPE_UNKNOWN,sfmt = DEMUXER_TYPE_UNKNOWN ; |
813 int audio_demuxer_type = 0, sub_demuxer_type = 0; | 809 int audio_demuxer_type = 0, sub_demuxer_type = 0; |
814 int demuxer_force = 0, audio_demuxer_force = 0, | 810 int demuxer_force = 0, audio_demuxer_force = 0, |
815 sub_demuxer_force = 0; | 811 sub_demuxer_force = 0; |
816 | 812 |
817 demux_aid_vid_mismatch = 0; | |
818 | |
819 if ((demuxer_type = get_demuxer_type_from_name(demuxer_name, &demuxer_force)) < 0) { | 813 if ((demuxer_type = get_demuxer_type_from_name(demuxer_name, &demuxer_force)) < 0) { |
820 mp_msg(MSGT_DEMUXER,MSGL_ERR,"-demuxer %s does not exist.\n",demuxer_name); | 814 mp_msg(MSGT_DEMUXER,MSGL_ERR,"-demuxer %s does not exist.\n",demuxer_name); |
821 } | 815 } |
822 if ((audio_demuxer_type = get_demuxer_type_from_name(audio_demuxer_name, &audio_demuxer_force)) < 0) { | 816 if ((audio_demuxer_type = get_demuxer_type_from_name(audio_demuxer_name, &audio_demuxer_force)) < 0) { |
823 mp_msg(MSGT_DEMUXER,MSGL_ERR,"-audio-demuxer %s does not exist.\n",audio_demuxer_name); | 817 mp_msg(MSGT_DEMUXER,MSGL_ERR,"-audio-demuxer %s does not exist.\n",audio_demuxer_name); |