amldemux: CB2 qtdemux send data by dts [1/1]
PD#SWPL-60007
Problem:
qtdemux switch to video stream or audio stream by dts to send data,
which is incorrect, because render data is by pts.
Solution:
Use pts instead of dts to switch video/audio stream
Verify:
AP222
Signed-off-by: zengliang.li <zengliang.li@amlogic.com>
Change-Id: Ic9db8735098ba6ecf2a6da3ff6f9e200c55e15a5
diff --git a/aml-qtdemux/qtdemux.c b/aml-qtdemux/qtdemux.c
index 8e82090..a3556af 100644
--- a/aml-qtdemux/qtdemux.c
+++ b/aml-qtdemux/qtdemux.c
@@ -5305,14 +5305,14 @@
GST_TIME_ARGS (segment->media_stop));
/* see if we are past the segment */
- if (G_UNLIKELY (QTSAMPLE_DTS (stream, sample) >= segment->media_stop))
+ if (G_UNLIKELY (QTSAMPLE_PTS (stream, sample) >= segment->media_stop))
goto next_segment;
- if (QTSAMPLE_DTS (stream, sample) >= segment->media_start) {
+ if (QTSAMPLE_PTS (stream, sample) >= segment->media_start) {
/* inside the segment, update time_position, looks very familiar to
* GStreamer segments, doesn't it? */
stream->time_position =
- QTSAMPLE_DTS (stream, sample) - segment->media_start + segment->time;
+ QTSAMPLE_PTS (stream, sample) - segment->media_start + segment->time;
} else {
/* not yet in segment, time does not yet increment. This means
* that we are still prerolling keyframes to the decoder so it can