X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Flibzmpeg3%2Fdemux.C;h=e5ae34097b3dbbd39a30ca56461584acad796645;hb=3badd817d6f012b5e882940db0c5d7e61cec15d7;hp=77473ce670e90a6e44e3cc84f21ac6587ab9219b;hpb=64ee854bdef9fb08e6fec938aa0519715f724b99;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/libzmpeg3/demux.C b/cinelerra-5.1/libzmpeg3/demux.C index 77473ce6..e5ae3409 100644 --- a/cinelerra-5.1/libzmpeg3/demux.C +++ b/cinelerra-5.1/libzmpeg3/demux.C @@ -271,7 +271,7 @@ get_payload() if( dump ) zmsgs(" 0x%x bytes elementary data\n", raw_size-raw_offset); // if( pid == 0x1100 ) zmsgs("get_payload 1 0x%x\n", audio_pid); if( pid == audio_pid && (do_audio || read_all) ) { - if( do_audio ) got_audio = pid; + if( do_audio ) got_audio = audio_pid; if( dump ) { zmsgs(" offset=0x%jx 0x%x bytes AC3 pid=0x%x\n", absolute_position(), raw_size-raw_offset, pid); @@ -279,7 +279,7 @@ get_payload() get_transport_payload(1, 0); } else if( pid == video_pid && (do_video || read_all) ) { - if( do_video ) got_video = pid; + if( do_video ) got_video = video_pid; get_transport_payload(0, 1); } else { @@ -1539,7 +1539,7 @@ seek_byte(int64_t byte) void zdemuxer_t:: set_audio_pts(uint64_t pts, const double denom) { - if( pts ) { + if( pts && pes_audio_time < 0 ) { pes_audio_pid = custom_id; pes_audio_time = pts / denom; //zmsgs("pid 0x%03x, pts %f @0x%jx\n",pes_audio_pid, pes_audio_time, @@ -1550,7 +1550,7 @@ set_audio_pts(uint64_t pts, const double denom) void zdemuxer_t:: set_video_pts(uint64_t pts, const double denom) { - if( pts ) { + if( pts && pes_video_time < 0 ) { pes_video_pid = custom_id; pes_video_time = pts / denom; //zmsgs("pid 0x%03x, pts %f @0x%jx\n",pes_video_pid, pes_video_time,