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
Sebastian Dröge
92c7944499
omxvideoenc: Rename component variable
2013-02-25 09:19:08 +01:00
Josep Torra
71b4573a34
omxvideoenc: remove duplicated line
2013-02-22 16:27:33 +01:00
Sebastian Dröge
219a93bbaf
omx: Some minor refactoring and cleanup
2013-02-12 11:49:21 +01:00
Sebastian Dröge
c3bcc43db7
omx: Split enabling/disabling of port into sending the command and waiting for it
...
This allows to do anything necessary after sending the command to actually let it finish
2013-02-12 11:41:43 +01:00