amltsdmx: CF1 handle seek with no audio flag [1/1]
PD#SWPL-180069
Problem:
tsdemux ignore no audio flag during seek TV-36122
Solution:
Support no audio flag
sync patch 0020-TV-36122-tsdemux-handle-seek
Verify:
ap222
Change-Id: Ib44a8bb6a99929f08181622e89577f4066fbdcaa
Signed-off-by: bo.xiao <bo.xiao@amlogic.com>
diff --git a/aml-tsdemux/amltsbase.c b/aml-tsdemux/amltsbase.c
index d8753a9..dab8f6a 100644
--- a/aml-tsdemux/amltsbase.c
+++ b/aml-tsdemux/amltsbase.c
@@ -1917,13 +1917,10 @@
goto done;
}
-//xiaobo-patch 0020-tsdemux-handle-seek
-/*
if (flags & GST_SEEK_FLAG_TRICKMODE_NO_AUDIO)
base->no_audio_set = TRUE;
else
base->no_audio_set = FALSE;
-*/
/* If the subclass can seek, do that */
ret = klass->seek (base, event);
diff --git a/aml-tsdemux/amltsbase.h b/aml-tsdemux/amltsbase.h
index 1ea159d..c3abae8 100644
--- a/aml-tsdemux/amltsbase.h
+++ b/aml-tsdemux/amltsbase.h
@@ -170,9 +170,8 @@
* add/remove streams at any point in time */
gboolean streams_aware;
- //xiaobo-patch 0020-tsdemux-handle-seek
/* save seek flag */
- //gboolean no_audio_set;
+ gboolean no_audio_set;
/* Do not use the PCR stream for timestamp calculation. Useful for
* streams with broken/invalid PCR streams. */
diff --git a/aml-tsdemux/amltsdemux.c b/aml-tsdemux/amltsdemux.c
index c233f79..60fa358 100644
--- a/aml-tsdemux/amltsdemux.c
+++ b/aml-tsdemux/amltsdemux.c
@@ -3038,6 +3038,7 @@
GstClockTime base =
seg->base + seg->position - (seg->start + seg->offset);
GstClockTime stop = seg->stop;
+ AmlTSBase *tsbase = (AmlTSBase *) demux;
gst_segment_init (seg, GST_FORMAT_TIME);
seg->start = firstts;
@@ -3046,9 +3047,8 @@
seg->time = firstts;
seg->rate = demux->rate;
seg->base = base;
- //xiaobo-patch 0020-tsdemux-handle-seek
- //if (tsbase->no_audio_set)
- // seg->flags |= GST_SEGMENT_FLAG_TRICKMODE_NO_AUDIO;
+ if (tsbase->no_audio_set)
+ seg->flags |= GST_SEGMENT_FLAG_TRICKMODE_NO_AUDIO;
}
} else if (base->out_segment.start < firstts) {
/* Take into account the offset to the first buffer timestamp */