summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 2818cc2)
raw | patch | inline | side by side (parent: 2818cc2)
author | Ram Prasad <x0038811@ti.com> | |
Wed, 6 Mar 2019 12:23:42 +0000 (12:23 +0000) | ||
committer | Ramprasad N <x0038811@ti.com> | |
Wed, 15 May 2019 04:29:46 +0000 (09:59 +0530) |
Drop the decoded frames, don't post to next element
if the frame is out of the current segment.
Signed-off-by: Ramprasad N <x0038811@ti.com>
if the frame is out of the current segment.
Signed-off-by: Ramprasad N <x0038811@ti.com>
src/gstducatividdec.c | patch | blob | history | |
src/gstducatividdec.h | patch | blob | history |
diff --git a/src/gstducatividdec.c b/src/gstducatividdec.c
index 0c80b47557505b8b2bbbdc5373c2c49331ac117b..efebe107da111085769d1560c5501de8ca79d2ae 100644 (file)
--- a/src/gstducatividdec.c
+++ b/src/gstducatividdec.c
}
- if (send) {
+ if (send && self->out_of_segment == FALSE ) {
GstClockTime ts;
ts = GST_BUFFER_PTS (outbuf);
GstDucatiVidDecClass *klass = GST_DUCATIVIDDEC_GET_CLASS (self);
gint64 diff;
+ self->out_of_segment = FALSE;
if (self->wait_keyframe) {
if (GST_BUFFER_FLAG_IS_SET (buf, GST_BUFFER_FLAG_DELTA_UNIT)) {
GST_INFO_OBJECT (self, "skipping until the next keyframe");
}
timestamp = GST_BUFFER_PTS (buf);
- if (self->segment.format != GST_FORMAT_TIME ||
- self->qos_earliest_time == GST_CLOCK_TIME_NONE)
+ if (self->segment.format != GST_FORMAT_TIME)
goto no_qos;
if (G_UNLIKELY (!GST_CLOCK_TIME_IS_VALID (timestamp)))
qostime = gst_segment_to_running_time (&self->segment,
GST_FORMAT_TIME, timestamp);
- if (G_UNLIKELY (!GST_CLOCK_TIME_IS_VALID (qostime)))
+ if (G_UNLIKELY (!GST_CLOCK_TIME_IS_VALID (qostime))) {
+ self->out_of_segment = TRUE;
/* out of segment */
+ GST_DEBUG_OBJECT(self, "out of segment\n");
goto no_qos;
+ }
/* see how our next timestamp relates to the latest qos timestamp. negative
* values mean we are early, positive values mean we are too late. */
diff --git a/src/gstducatividdec.h b/src/gstducatividdec.h
index 44c09bf6c4482e12b1a3e6f0d83b4c374410d958..accdf60243c51e663f687e9cf287fe0e8e497ca8 100644 (file)
--- a/src/gstducatividdec.h
+++ b/src/gstducatividdec.h
gint displayDelay;
gboolean codec_debug_info;
+ gboolean out_of_segment;
const char *error_strings[32];
};