Matej Knopp
30005be2e5
basevideo: Make GstVideoFrame a reference counted boxed object
...
...and also clear all existing frames when resetting the decoder or encoder.
2011-12-12 14:24:47 +01:00
Tim-Philipp Müller
b42f17240a
basevideodecoder: some more debug logging
2011-11-28 16:17:19 +00:00
Tim-Philipp Müller
f40c93efb0
basevideodecoder: add API to drop a frame and post a QoS message on the bus
...
https://bugzilla.gnome.org/show_bug.cgi?id=640017
API: gst_base_video_decoder_drop_frame()
2011-11-28 16:17:19 +00:00
Tim-Philipp Müller
f27800d598
docs: fix comment in gst_base_video_decoder_get_max_decode_time() docs
2011-11-28 16:17:19 +00:00
Tim-Philipp Müller
f1bbb0f8a4
basevideodecoder: fix weird event list handling
...
Get rid of weird code that copies a list manually, taking
ownership of the elements and then frees the old list. Instead,
just take over the old list entirely. (If the intent was to
reverse the list, one could use g_list_reverse() instead).
Then, push events in the list out from last to first (since they
were prepended as they came in) instead of just pushing out the
last in the list and leaking the others.
2011-11-28 16:17:19 +00:00
Sebastian Dröge
e494792ca4
basevideodecoder: Fix deadlock
2011-08-18 10:24:40 +02:00
Sebastian Dröge
58104f9ce5
basevideo: Fix locking, especially if both pads have different streaming threads
2011-08-18 10:02:50 +02:00
Sebastian Dröge
d439d8c337
basevideo: Don't call g_type_class_peek_parent() in class_init
...
This is already done by the GObject boilerplate macro
2011-08-18 09:42:02 +02:00
Sebastian Dröge
5319d33ca1
basevideodecoder: Use the cached video frame size instead of recalculating it
2011-08-03 16:02:01 +02:00
Sebastian Dröge
0c72a15019
basevideodecoder: First inform subclass about resetting before resetting/freeing all internal state
...
The subclass might want to access the old state.
2011-07-12 08:36:01 +02:00
Sebastian Dröge
99c9f57460
basevideodecoder: Track present position on discont before resetting it
2011-07-12 08:36:01 +02:00
Sebastian Dröge
99da6b1db1
basevideodecoder: Also protect the list of pending frames from concurrent access when pushing all pendings events
2011-07-12 08:36:00 +02:00
Sebastian Dröge
07e3936abf
basevideocodec: Protect access to the list of pending frames with the object lock
...
This is required if ::finish_frame() and all buffer output happens
on a different thread than the sinkpad streaming thread.
2011-07-12 08:36:00 +02:00
Sebastian Dröge
9edd003406
basevideodecoder: Set the correct lists to NULL after freeing
2011-07-12 08:36:00 +02:00
Sebastian Dröge
9a2b87f196
basevideodecoder: Work with a copy of the GstVideoState in setcaps until the caps are accepted
...
Also fix a refcount problem with the codec_data.
2011-07-12 08:36:00 +02:00
Sebastian Dröge
0d724f58f2
basevideo: Move the utils from the codec header to its own header
2011-07-09 11:41:42 +02:00
Sebastian Dröge
9695e504ff
basevideo: Use GSlice for allocating GstVideoFrame and don't duplicate code in the decoder base class
2011-07-09 11:32:06 +02:00
Sebastian Dröge
f79460ff52
basevideo: Add destroy notify for the coder_hook to prevent memory leaks
...
Fixes bug #654293 .
2011-07-09 11:06:06 +02:00
Sebastian Dröge
8f66cb9e1a
basevideodecoder: Don't reorder serialized src events
...
And allow to drop EOS by the subclass if ::finish returns
DROPPED.
Fixes bug #653544 .
2011-07-09 11:06:01 +02:00
Sebastian Dröge
aaeff26189
basevideo: Add the caps to the GstVideoState and clean up caps/codec_data properly
2011-07-06 08:42:15 +02:00
Sebastian Dröge
93a675b570
basevideo: Add video encoder/decoder base classes from gst-plugins-bad
2011-07-06 08:42:15 +02:00