comparison libmpdemux/demux_mpg.c @ 21917:57bb521c89e5

in EVO files substreams 0xC0 of private streams 0xBD contain [e]ac3. A more proper range will be committed when specs begin to appear; for the time being enjoy the audio stream
author nicodvb
date Mon, 15 Jan 2007 21:21:42 +0000
parents b266f27109a6
children ba25f87420b3
comparison
equal deleted inserted replaced
21916:f31ffbd84d07 21917:57bb521c89e5
178 case 0x00: sh_a->format=0x50;break; // mpeg 178 case 0x00: sh_a->format=0x50;break; // mpeg
179 case 0xA0: sh_a->format=0x10001;break; // dvd pcm 179 case 0xA0: sh_a->format=0x10001;break; // dvd pcm
180 case 0x80: if((aid & 0xF8) == 0x88) sh_a->format=0x2001;//dts 180 case 0x80: if((aid & 0xF8) == 0x88) sh_a->format=0x2001;//dts
181 else sh_a->format=0x2000;break; // ac3 181 else sh_a->format=0x2000;break; // ac3
182 } 182 }
183 if(aid == 0xC0) sh_a->format=0x2000;
183 if (mpg_d) mpg_d->a_stream_ids[mpg_d->num_a_streams++] = aid; 184 if (mpg_d) mpg_d->a_stream_ids[mpg_d->num_a_streams++] = aid;
184 } 185 }
185 if(demux->audio->id==-1) demux->audio->id=aid; 186 if(demux->audio->id==-1) demux->audio->id=aid;
186 } 187 }
187 188
310 demux->sub->id = aid; 311 demux->sub->id = aid;
311 if(demux->sub->id==aid){ 312 if(demux->sub->id==aid){
312 ds=demux->sub; 313 ds=demux->sub;
313 } 314 }
314 315
315 } else if((aid & 0xC0) == 0x80 || (aid & 0xE0) == 0x00) { 316 } else if((aid & 0xC0) == 0x80 || (aid & 0xE0) == 0x00 || aid==0xC0) {
316 317
317 // aid=128+(aid&0x7F); 318 // aid=128+(aid&0x7F);
318 // aid=0x80..0xBF 319 // aid=0x80..0xBF
319 new_audio_stream(demux, aid); 320 new_audio_stream(demux, aid);
320 if(demux->audio->id==aid){ 321 if(demux->audio->id==aid){