vlc | branch: master | Steve Lhomme <[email protected]> | Tue Sep 18 10:16:29 2018 +0200| [fe73d59ce50b98fa7256115de834538389299c52] | committer: Steve Lhomme
demux:asf: process the i_pkt_time in vlc_tick_t instead of milliseconds > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=fe73d59ce50b98fa7256115de834538389299c52 --- modules/demux/asf/asfpacket.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/modules/demux/asf/asfpacket.c b/modules/demux/asf/asfpacket.c index e99cb6b68a..5da4db0825 100644 --- a/modules/demux/asf/asfpacket.c +++ b/modules/demux/asf/asfpacket.c @@ -207,7 +207,7 @@ static int DemuxPayload(asf_packet_sys_t *p_packetsys, asf_packet_t *pkt, int i_ if (GetValue2b(&i_replicated_data_length, pkt->p_peek, &pkt->i_skip, pkt->left - pkt->i_skip, pkt->property) < 0) return -1; - int64_t i_pkt_time; + vlc_tick_t i_pkt_time; vlc_tick_t i_pkt_time_delta = 0; uint32_t i_payload_data_length = 0; uint32_t i_temp_payload_length = 0; @@ -230,20 +230,20 @@ static int DemuxPayload(asf_packet_sys_t *p_packetsys, asf_packet_t *pkt, int i_ if( i_replicated_data_length > 7 ) // should be at least 8 bytes { /* Followed by 2 optional DWORDS, offset in media and *media* presentation time */ - i_pkt_time = (vlc_tick_t)GetDWLE( pkt->p_peek + pkt->i_skip + 4 ); + i_pkt_time = VLC_TICK_FROM_MS(GetDWLE( pkt->p_peek + pkt->i_skip + 4 )); /* Parsing extensions, See 7.3.1 */ ParsePayloadExtensions( p_packetsys, p_tkinfo, &pkt->p_peek[pkt->i_skip + 8], i_replicated_data_length - 8, &b_packet_keyframe ); - i_pkt_time -= MS_FROM_VLC_TICK(*p_packetsys->pi_preroll); + i_pkt_time -= *p_packetsys->pi_preroll; pkt->i_skip += i_replicated_data_length; } else if ( i_replicated_data_length == 0 ) { /* optional DWORDS missing */ - i_pkt_time = pkt->send_time/1000; + i_pkt_time = pkt->send_time; } /* Compressed payload */ else if( i_replicated_data_length == 1 ) @@ -252,8 +252,8 @@ static int DemuxPayload(asf_packet_sys_t *p_packetsys, asf_packet_t *pkt, int i_ /* Next byte is *media* Presentation Time Delta */ i_pkt_time_delta = VLC_TICK_FROM_MS(pkt->p_peek[pkt->i_skip]); b_ignore_pts = false; - i_pkt_time = (vlc_tick_t)i_media_object_offset; - i_pkt_time -= MS_FROM_VLC_TICK(*p_packetsys->pi_preroll); + i_pkt_time = VLC_TICK_FROM_MS(i_media_object_offset); + i_pkt_time -= *p_packetsys->pi_preroll; pkt->i_skip++; i_media_object_offset = 0; } @@ -274,7 +274,6 @@ static int DemuxPayload(asf_packet_sys_t *p_packetsys, asf_packet_t *pkt, int i_ bool b_preroll_done = ( pkt->send_time > (*p_packetsys->pi_preroll_start + *p_packetsys->pi_preroll) ); if (i_pkt_time < 0) i_pkt_time = 0; // FIXME? - i_pkt_time *= 1000; if( pkt->multiple ) { if (GetValue2b(&i_temp_payload_length, pkt->p_peek, &pkt->i_skip, pkt->left - pkt->i_skip, pkt->length_type) < 0) _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
