Commit graph

178 commits

Author SHA1 Message Date
Sebastian Dröge
254bee9be9 omx: Set default roles for the components if none were set from the config file 2011-07-21 10:38:26 +02:00
Sebastian Dröge
a86debaf36 omx: Failure to set the component role is fatal 2011-07-21 10:36:19 +02:00
Sebastian Dröge
644fa35789 omxvideoenc: Add support for setting codec_data on the srcpad caps 2011-07-21 07:53:25 +02:00
Sebastian Dröge
182a488f49 omxvideoenc: Free/drop GstVideoFrames that resulted in an empty buffer 2011-07-21 07:44:34 +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
c0d304f819 omxvideoenc: Remove obsolete TODO comment 2011-07-21 07:31:05 +02:00
Sebastian Dröge
e8b2ffe6f4 omx: Use libgstopenmax.so for the plugin filename and openmax for the plugin name
Resolves conflicts with gst-openmax.
2011-07-20 11:09:54 +02:00
Sebastian Dröge
2343decb3c omxvideoenc: Add video encoder base class and MPEG4 video encoder
Unfortunately requires lots of hacks again to work properly with
Bellagio.
2011-07-20 11:08:18 +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
71d176f71a omx: Improve debug output a bit 2011-07-19 12:29:51 +02:00
Sebastian Dröge
b6558570bf omx: Rework port reconfiguration again and only use the Bellagio specific hacks with Bellagio
We only reconfigure ports that need to be reconfigured now instead of
always all ports.
2011-07-19 10:33:54 +02:00
Sebastian Dröge
4616d804ac omx: Add infrastructure to enable special hacks for broken OpenMAX implementations 2011-07-19 10:33:15 +02:00
Sebastian Dröge
f3f3bd1dff omx: When acquiring a buffer from an input port always wait until all output ports are reconfigured 2011-07-18 13:10:49 +02:00
Sebastian Dröge
9377aefb87 omxvideodec: Add support for converting between omx and gst rowstrides 2011-07-18 08:41:20 +02:00
Sebastian Dröge
51dbc82ef4 omx: Provide all buffers to output ports after enabling them 2011-07-14 10:34:09 +02:00
Sebastian Dröge
41feed55b7 omxvideodec: Add support for NV12 / OMX_COLOR_FormatYUV420SemiPlanar 2011-07-14 08:29:03 +02:00
Sebastian Dröge
961445aa1b omxvideodec: Only flush the component ports after we passed input to them 2011-07-14 07:58:41 +02:00
Sebastian Dröge
252624c7cc omxvideodec: Only change states downwards if an upper state was reached 2011-07-13 21:19:34 +02:00
Sebastian Dröge
f0cbbad0f1 omx: Add support for setting the component-role 2011-07-13 20:37:02 +02:00
Sebastian Dröge
0a9fe2f146 omx: Improve error reporting by formatting the error codes better and also providing their string representation 2011-07-13 20:22:51 +02:00
Sebastian Dröge
5f5d2edd16 build: Dist autogen.sh 2011-07-13 14:36:14 +02:00
Sebastian Dröge
9ab5f79784 build: Only require GStreamer >= 0.10.29 and GLib >= 2.16 2011-07-13 14:35:51 +02:00
Sebastian Dröge
5732b44606 build: Dist gstomx.conf 2011-07-13 14:04:47 +02:00
Sebastian Dröge
96fc0375d6 build: Clean _stdint.h on "make distclean" 2011-07-13 14:04:20 +02:00
Sebastian Dröge
8a78da68a6 omxvideodec: Fix typo 2011-07-13 14:02:50 +02:00
Sebastian Dröge
0966307189 omx: Dist gstomx.h 2011-07-13 13:59:50 +02:00
Sebastian Dröge
fb0ca24654 omxvideodec: Set SYNCFRAME flag on the OMX buffers for non-delta units 2011-07-13 12:46:50 +02:00
Sebastian Dröge
f5690ff412 omxvideodec: Free all pending frames when resetting the decoder
Workaround for https://bugzilla.gnome.org/show_bug.cgi?id=654529
2011-07-13 12:37:44 +02:00
Sebastian Dröge
af159705c9 omxvideodec: Handle output buffers without a corresponding GstVideoFrame more gracefully
This can happen on EOS in some cases and when the input is not
properly framed.
2011-07-13 10:02:20 +02:00
Sebastian Dröge
1b08dfa2a6 omxvideodec: Fix deadlock when finishing old frames that are left over by the decoder 2011-07-13 09:31:22 +02:00
Sebastian Dröge
24e0196d1d omxh264dec: It's called H.264, not H264 2011-07-12 11:37:28 +02:00
Sebastian Dröge
a24cdd41bc omxvideodec: Make sink/src pad template caps configurable 2011-07-12 11:36:42 +02:00
Sebastian Dröge
2023754bcf omx: Allow to set a preferred configuration directory with the GST_OMX_CONFIG_DIR environment variable 2011-07-12 11:13:50 +02:00
Sebastian Dröge
113d18caea omxvideodec: Make core/component-name and in/outport index configurable 2011-07-12 11:04:16 +02:00
Sebastian Dröge
940febae88 omx: Add initial version of configuration system
This now only registers elements that are specified in the
configuration file.

The configuration file is a keyfile in the first XDG configuration
directory with the name gstomx.conf.
2011-07-12 11:04:11 +02:00
Sebastian Dröge
6bd84629ed omxh264dec: Rename from omxh264videodec to omxh264dec 2011-07-12 08:54:22 +02:00
Sebastian Dröge
4fede99e2d omxh264videodec: Require alignment=au and stream-format={avc,bytestream} 2011-07-12 08:40:48 +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
079098c3d6 omxh264videodec: Add h.264 video decoder 2011-07-12 08:34:44 +02:00
Sebastian Dröge
b0154bc1fa omxmpeg4videodec: Fix debug category name 2011-07-12 08:29:15 +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