summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: d8dfe29)
raw | patch | inline | side by side (parent: d8dfe29)
author | Vincent Penquerc'h <vincent.penquerch@collabora.co.uk> | |
Mon, 5 Sep 2011 10:11:52 +0000 (11:11 +0100) | ||
committer | Nikhil Devshatwar <a0132237@ti.com> | |
Fri, 17 May 2013 09:40:44 +0000 (15:10 +0530) |
https://bugzilla.gnome.org/show_bug.cgi?id=658241
ext/mpeg2dec/gstmpeg2dec.c | patch | blob | history | |
ext/mpeg2dec/gstmpeg2dec.h | patch | blob | history |
index 4e03c69d76d2a7246f6d9e1fa1373ae8210b23a8..833c8e4635a74899fd3e81913cc41e825b23ad59 100644 (file)
GST_OBJECT_LOCK (mpeg2dec);
mpeg2dec->proportion = 1.0;
mpeg2dec->earliest_time = -1;
+ mpeg2dec->dropped = 0;
+ mpeg2dec->processed = 0;
GST_OBJECT_UNLOCK (mpeg2dec);
}
&& qostime <= mpeg2dec->earliest_time;
GST_OBJECT_UNLOCK (mpeg2dec);
- if (need_skip)
+ if (need_skip) {
+ GstMessage *qos_msg;
+ guint64 stream_time;
+ gint64 jitter;
+
+ mpeg2dec->dropped++;
+
+ stream_time =
+ gst_segment_to_stream_time (&mpeg2dec->segment, GST_FORMAT_TIME,
+ time);
+ jitter = GST_CLOCK_DIFF (qostime, mpeg2dec->earliest_time);
+
+ qos_msg =
+ gst_message_new_qos (GST_OBJECT_CAST (mpeg2dec), FALSE, qostime,
+ stream_time, time, GST_BUFFER_DURATION (outbuf));
+ gst_message_set_qos_values (qos_msg, jitter, mpeg2dec->proportion,
+ 1000000);
+ gst_message_set_qos_stats (qos_msg, GST_FORMAT_BUFFERS,
+ mpeg2dec->processed, mpeg2dec->dropped);
+ gst_element_post_message (GST_ELEMENT_CAST (mpeg2dec), qos_msg);
+
goto dropping_qos;
+ }
}
+ mpeg2dec->processed++;
+
/* ref before pushing it out, so we still have the ref in our
* array of buffers */
gst_buffer_ref (outbuf);
index 43ba42d669922edf5e6838ce55ea52cf854a2dc2..69f4fe3cd8d7718fb94bfe6efa2f8987bc8baa54 100644 (file)
/* QoS stuff */ /* with LOCK*/
gdouble proportion;
GstClockTime earliest_time;
+ guint64 processed;
+ guint64 dropped;
/* gather/decode queues for reverse playback */
GList *gather;