comparison libmpdemux/demux_real.c @ 37105:f05b151463ca

demux_real: remove code that new_sh_* already handles. Also makes it easier to check that ->id and ->sh are always consistent.
author reimar
date Tue, 13 May 2014 21:06:39 +0000
parents 91b00a4407cd
children 1b9907dfe2f4
comparison
equal deleted inserted replaced
37104:91b00a4407cd 37105:f05b151463ca
1503 1503
1504 /* Select audio stream with highest bitrate if multirate file*/ 1504 /* Select audio stream with highest bitrate if multirate file*/
1505 if (priv->is_multirate && ((demuxer->audio->id == -1) || 1505 if (priv->is_multirate && ((demuxer->audio->id == -1) ||
1506 ((demuxer->audio->id >= 0) && priv->a_bitrate && (bitrate > priv->a_bitrate)))) { 1506 ((demuxer->audio->id >= 0) && priv->a_bitrate && (bitrate > priv->a_bitrate)))) {
1507 demuxer->audio->id = stream_id; 1507 demuxer->audio->id = stream_id;
1508 demuxer->audio->sh = sh;
1508 priv->a_bitrate = bitrate; 1509 priv->a_bitrate = bitrate;
1509 mp_msg(MSGT_DEMUX,MSGL_DBG2,"Multirate autoselected audio id %d with bitrate %d\n", stream_id, bitrate); 1510 mp_msg(MSGT_DEMUX,MSGL_DBG2,"Multirate autoselected audio id %d with bitrate %d\n", stream_id, bitrate);
1510 }
1511
1512 if(demuxer->audio->id==stream_id){
1513 demuxer->audio->sh=sh;
1514 } 1511 }
1515 1512
1516 ++a_streams; 1513 ++a_streams;
1517 1514
1518 #ifdef stream_skip 1515 #ifdef stream_skip
1531 sh->wf->nSamplesPerSec = 0;//sh->samplerate; 1528 sh->wf->nSamplesPerSec = 0;//sh->samplerate;
1532 sh->wf->nAvgBytesPerSec = 0;//bitrate; 1529 sh->wf->nAvgBytesPerSec = 0;//bitrate;
1533 sh->wf->nBlockAlign = 0;//frame_size; 1530 sh->wf->nBlockAlign = 0;//frame_size;
1534 sh->wf->cbSize = 0; 1531 sh->wf->cbSize = 0;
1535 sh->wf->wFormatTag = sh->format = mmioFOURCC('a','d','u',0x55); 1532 sh->wf->wFormatTag = sh->format = mmioFOURCC('a','d','u',0x55);
1536
1537 if(demuxer->audio->id==stream_id){
1538 demuxer->audio->sh=sh;
1539 }
1540 1533
1541 ++a_streams; 1534 ++a_streams;
1542 } else if (strstr(mimet,"x-ralf-mpeg4")) { 1535 } else if (strstr(mimet,"x-ralf-mpeg4")) {
1543 sh_audio_t *sh = new_sh_audio(demuxer, stream_id, NULL); 1536 sh_audio_t *sh = new_sh_audio(demuxer, stream_id, NULL);
1544 mp_msg(MSGT_DEMUX, MSGL_INFO, MSGTR_AudioID, "real", stream_id); 1537 mp_msg(MSGT_DEMUX, MSGL_INFO, MSGTR_AudioID, "real", stream_id);
1673 1666
1674 /* Select video stream with highest bitrate if multirate file*/ 1667 /* Select video stream with highest bitrate if multirate file*/
1675 if (priv->is_multirate && ((demuxer->video->id == -1) || 1668 if (priv->is_multirate && ((demuxer->video->id == -1) ||
1676 ((demuxer->video->id >= 0) && priv->v_bitrate && (bitrate > priv->v_bitrate)))) { 1669 ((demuxer->video->id >= 0) && priv->v_bitrate && (bitrate > priv->v_bitrate)))) {
1677 demuxer->video->id = stream_id; 1670 demuxer->video->id = stream_id;
1671 demuxer->video->sh = sh;
1678 priv->v_bitrate = bitrate; 1672 priv->v_bitrate = bitrate;
1679 mp_msg(MSGT_DEMUX,MSGL_DBG2,"Multirate autoselected video id %d with bitrate %d\n", stream_id, bitrate); 1673 mp_msg(MSGT_DEMUX,MSGL_DBG2,"Multirate autoselected video id %d with bitrate %d\n", stream_id, bitrate);
1680 }
1681
1682 if(demuxer->video->id==stream_id){
1683 demuxer->video->sh=sh;
1684 } 1674 }
1685 1675
1686 ++v_streams; 1676 ++v_streams;
1687 1677
1688 } // VIDO 1678 } // VIDO