Aurélien Zanelli
0c265c1e0e
omxvideoenc: implement GstPreset interface
...
To allow user to use GstPreset to quickly save and load a set of
parameters.
https://bugzilla.gnome.org/show_bug.cgi?id=767907
2016-06-21 15:02:02 +03:00
Sebastian Dröge
a78756c63f
omx: #define OMX_SKIP64BIT on the RPi as required by their API
...
Also add generic support for OMX_SKIP64BIT to gst-omx, in case other
implementations also #define that for whatever reason.
https://bugzilla.gnome.org/show_bug.cgi?id=766475
2016-06-17 12:06:48 +03:00
Enrique Ocaña González
d1a79d7c59
Properly handle drain requests while flushing
...
Without this commit the decoder streaming thread stops without ever attending
the drain request, leaving the decoder input thread waiting forever.
https://bugzilla.gnome.org/show_bug.cgi?id=758274
2015-11-18 15:18:02 +02:00
Graham Leggett
703bab6885
omxvideoenc: Add keyframe support for the Rpi, using OMX_IndexConfigBrcmVideoRequestIFrame
...
https://bugzilla.gnome.org/show_bug.cgi?id=753085
2015-08-27 11:15:29 +03:00
Michal Lazo
bfeab29a39
omxvideoenc: Setup aspect ratio on RPi
...
Needs firmware from yesterday or newer to work with all possible
aspect ratios. Before that it only supported a fixed list.
https://bugzilla.gnome.org/show_bug.cgi?id=732533
2014-09-01 12:18:58 +03:00
Peng Liu
d3d0a82ba4
omxvideoenc: Implement the hack flag GST_OMX_HACK_NO_COMPONENT_RECONFIGURE
...
Fix a video encoder stall problem on RPi when changing the aspect ratio.
https://bugzilla.gnome.org/show_bug.cgi?id=732533
2014-08-28 10:45:11 +03:00
Sebastian Dröge
d75334456d
omx: Let base classes handle EOS
...
https://bugzilla.gnome.org//show_bug.cgi?id=734774
2014-08-14 17:36:11 +03:00
Sebastian Dröge
0a60770a28
omxvideoenc: Implement flush() instead of the deprecated reset()
2014-06-29 19:04:54 +02:00
Sebastian Dröge
34577a965d
omxvideoenc: Don't forget to unref codec state
...
CID 1214603
2014-05-19 09:10:07 +02:00
Sebastian Dröge
40869afea7
omxvideoenc: Implement hack for not disabling the output port after set_format until the output format is known
...
Needed on some OMX implementations, e.g. the one from Atmel. It does
not send the settings-changed event on the output port if it is
disabled.
2014-05-15 13:21:07 +02:00
Sebastian Dröge
bc2990169a
omxvideoenc: Set nTickCount to the whole duration of the buffer instead of a wrong calculation
2014-05-10 22:47:21 +02:00
Sebastian Dröge
a04ef276e5
omx: Rename function from _4_ to _for_ for clarity
2014-03-12 12:47:34 +01:00
Christian König
6bf4d9a498
omxvideo: start sharing more code between video decoder and encoder
...
Identical functionality spread of two different components.
We can't use a common base class because of different inheritance,
but let's try to share the code anyway.
https://bugzilla.gnome.org/show_bug.cgi?id=726024
2014-03-12 12:47:09 +01:00
Christian König
20cfcda4db
omxvideoenc: fix a memory leak in gst_omx_video_enc_getcaps
...
https://bugzilla.gnome.org/show_bug.cgi?id=725826
2014-03-06 20:37:02 +01:00
Christian König
85db124673
omxvideoenc: simplify _find_nearest_frame
...
Just the same as we did with the decoder. Also give the
function a gst_omx_video_enc prefix to distinct it from
the decoder function.
https://bugzilla.gnome.org/show_bug.cgi?id=724236
2014-03-03 20:12:58 +01:00
Christian König
4e4f093319
omxvideoenc: fix startup race condition
...
The reset function shouldn't start the src pad
loop if it wasn't started before.
Signed-off-by: Christian König <christian.koenig@amd.com>
2014-03-02 12:08:09 +01:00
Sebastian Dröge
1bf4edf721
omx: Don't handle FLUSHING and NOT_LINKED as errors
...
Also don't stop the task on NOT_LINKED. We're not a demuxer.
2014-01-25 17:44:57 +01:00
Roman Arutyunyan
5ba55b6c9a
gstomxvideoenc: Set bitrate in setcaps
...
Otherwise it gets lost whenever we configure new caps
https://bugzilla.gnome.org/show_bug.cgi?id=698049
2013-07-01 15:48:47 +02:00
Josep Torra
f3f9330332
omx: Take lock on EOS to update the flow return value
...
Fixes "GThread-ERROR **: file gthread-posix.c: line 171
(g_mutex_free_posix_impl): error 'Device or resource busy' during
'pthread_mutex_destroy ((pthread_mutex_t *) mutex)'" in _finalize.
2013-05-20 12:06:34 +02:00
jitendra
715b44ea66
omx: Add pads based on element type
...
This allows to later add sources and sink that only have a srcpad
or sinkpad.
https://bugzilla.gnome.org/show_bug.cgi?id=699754
2013-05-06 16:20:20 +02:00
Tim-Philipp Müller
2cbbab3128
omx: more printf format fixes
...
Fix printf formats again, so that gst-omx compiles warning-
free on the Raspberry Pi as well. Unfortunately OMX_UINT32
maybe be typedefed to uint32_t or unsigned long, which
doesn't work well with our debugging printf format strings,
so just use %u for those and cast to guint.
2013-04-18 23:10:13 +01:00
jitendra
960590f92f
omx: Disable output port before transition to idle state
...
https://bugzilla.gnome.org/show_bug.cgi?id=698109
2013-04-16 12:46:48 +02:00
Tim-Philipp Müller
0c08d375f4
omx: fix printf formats in debug messages
...
OMX_U32 is typedefed to an unsigned long,
OMX_TICKS to a 64-bit integer.
2013-04-08 17:02:32 +01:00
Josep Torra
a5778efe16
omx: Clarify that loop task is also paused in EOS
2013-03-16 10:00:24 +01:00
Josep Torra
e16207f3dd
omxvideoenec: Don't forget propagate flow return value upstream
2013-03-16 09:59:01 +01:00
Sebastian Dröge
e1f94660f7
omx: Stop output port task after draining
2013-03-15 11:46:34 +01:00
Sebastian Dröge
22dce51dd4
omx: Handle the OMX_EventBufferFlag to detect EOS too
2013-03-14 12:51:54 +01:00
Sebastian Dröge
b9af5f4f31
omxvideoenc: Properly check the nVersion field
2013-03-13 10:21:49 +01:00
Sebastian Dröge
68c8196912
omxvideoenc: RPi returns garbage for OMX_IndexParamVideoBitrate, work around that
2013-03-13 09:38:07 +01:00
Sebastian Dröge
3c13502b75
omxvideoenc: Always allocate output buffers from the loop function
2013-03-11 13:45:04 +01:00
Sebastian Dröge
79a1fed0e0
omxvideoenc: Wait until the Executing state is reached before passing buffers to the component
2013-03-11 11:52:57 +01:00
Sebastian Dröge
f518ce5ed9
omxvideoenc: Disable output port when setting a new format
2013-03-11 10:29:30 +01:00
Sebastian Dröge
65174bbd7f
omx: Catch errors when releasing buffers to a port and handle them
2013-03-11 10:04:10 +01:00
Sebastian Dröge
eac2078056
omxvideoenc: Use the correct video codec state when filling an input buffer
2013-03-10 12:09:23 +01:00
Sebastian Dröge
98cf9f6fe2
omxvideoenc: Store correct input state
2013-03-10 12:05:50 +01:00
Sebastian Dröge
fb3b213b3e
omxvideoenc: Allocate output buffers as early as possible
2013-03-10 11:31:55 +01:00
Josep Torra
bd071327da
omx: Fix deadlock in encoders and add explainatory comments.
2013-03-09 14:14:40 +01:00
Sebastian Dröge
c014b1c9a3
omx: Flush and stop srcpad when configuring new caps
2013-03-08 15:50:20 +01:00
Sebastian Dröge
7a1eaec3b9
omx: Add timeout to the flush operation and move buffer populating to a separate function
2013-03-07 13:57:00 +01:00
Sebastian Dröge
60861f3990
omx: Do number of buffers configuration explicitely
2013-03-07 13:56:44 +01:00
Sebastian Dröge
42937eaea0
omxvideoenc: gst_omx_port_update_port_definition() returns a OMX_ERRORTYPE, not a gboolean
2013-03-01 11:49:53 +01:00
Sebastian Dröge
687a188dad
omxvideo{dec,enc}: Don't use the input state if it wasn't set yet
2013-03-01 11:44:17 +01:00
Sebastian Dröge
a53c5638e2
omxvideoenc: Only enable the output port after we know the output format
2013-03-01 11:24:56 +01:00
Sebastian Dröge
1a906da409
omx: Add API for allocating a specific number of buffers and using EGLImages or buffers allocated elsewhere
2013-02-28 11:20:52 +01:00
Sebastian Dröge
e42faae652
omx: Refactor code flow a bit if output port settings have changed
2013-02-27 16:56:02 +01:00
Sebastian Dröge
b12610efd7
omx: Clean up port settings change handling
2013-02-27 15:50:20 +01:00
Josep Torra
b85358aff7
omxvideoenc: prevent a NULL pointer access
2013-02-27 10:21:39 +01:00
Sebastian Dröge
5b45cb0810
omx: Auto-detect the port indizes if possible
2013-02-25 12:42:05 +01:00
Sebastian Dröge
3e090dd83b
omx: Refactor querying of component supported caps into its own function
2013-02-25 11:42:38 +01:00
Sebastian Dröge
70368c31cd
omx: Refactor waiting for buffers to be released by the component to a separate function
2013-02-25 10:41:12 +01:00