Sebastian Dröge
458199abfb
basevideoencoder: Pass the all-headers field of the force-key-unit event to the subclass
2011-11-29 12:20:09 +01:00
Sebastian Dröge
3cb4bbe97e
basevideoencoder: Implement full support for the new force-key-unit event
...
Including support for the running-time and count fields.
2011-11-29 12:20:09 +01:00
Sebastian Dröge
11b2dea82d
basevideoencoder: Use new force-keyunit event API from gst-plugins-base
2011-11-29 12:20:09 +01:00
Sebastian Dröge
77db7e5780
basevideoencoder: Adjusting padding is not required for -bad libraries
2011-11-29 12:20:09 +01:00
Sebastian Dröge
050700d561
basevideoencoder: Make headers metadata writable before pushing downstream
...
The timestamp, duration, etc of the headers has to be changed.
2011-11-29 12:20:09 +01:00
Sebastian Dröge
1f3f8c9dc5
basevideoencoder: Push the downstream force-keyframe event after the next keyframe
...
Even if the corresponding GstVideoFrame doesn't have the is_sync_point
flag set.
2011-11-29 12:20:09 +01:00
Sebastian Dröge
38b3f1ac00
basevideoencoder: Don't push an upstream force-keyunit event downstream
2011-11-29 12:20:09 +01:00
Jonas Larsson
36d2a21aa3
basevideoencoder: Add initial support for the all-headers field of the force-keyframe event
...
See bug #607742 .
2011-11-29 12:20:09 +01:00
Sebastian Dröge
cc50d894af
basevideoencoder: Only call ::reset once in READY->PAUSED
2011-11-17 10:34:19 -08:00
Vincent Penquerc'h
fa2dff1ad6
basevideoencoder: fix element leak
...
and this concludes an hour of yelling at the bloody test failing,
only to track down the problem not being in the test.
https://bugzilla.gnome.org/show_bug.cgi?id=657368
2011-08-26 10:27:16 +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
b673e37546
basevideoencoder: Proxy the width/height/framerate/PAR constraints of downstream caps to upstream
...
This allows to specify constraints on the compressed downstream caps
by muxers or capsfilters, which will then be forwarded to upstream
and allows video converters to fulfill the constraints.
Code based on Mark Nauwelaerts audio encoder base class.
2011-08-12 12:30:07 +02:00
Sebastian Dröge
f91a4e53db
basevideoencoder: Remove ::get_caps() vfunc
...
Subclasses can set the caps more efficiently and this only
caused additional indirections.
2011-08-12 12:30:07 +02:00
Sebastian Dröge
624c2b4fdb
basevideoencoder: Make access to the list of frames threadsafe
2011-08-02 15:14:24 +02:00
Sebastian Dröge
34da745dc5
basevideoencoder: Allow finishing of frames with no src_buffer to drop/free the GstVideoFrame
2011-07-21 07:44:10 +02:00
Sebastian Dröge
9619d9c95d
basevideoencoder: Only get caps from the subclass if they were not set yet by the subclass
2011-07-20 11:08:18 +02:00
Sebastian Dröge
fdd049a41c
basevideoencoder: Delay sending of serialized sink events until finish_frame()
2011-07-20 11:08:18 +02:00
Sebastian Dröge
159093cd6a
basevideoencoder: Add ::reset vfunc and handle ::reset/::finish the same way as in the decoder
2011-07-20 11:08:18 +02:00
Sebastian Dröge
92643716e4
basevideoencoder: Use a temporary GstVideoState until the subclass accepted the caps
...
Also store the caps in the GstVideoState and assume a PAR of 1/1 instead
of 0/1 if no PAR is specified in the caps.
2011-07-20 08:19:01 +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
93a675b570
basevideo: Add video encoder/decoder base classes from gst-plugins-bad
2011-07-06 08:42:15 +02:00