platform/upstream/gst-omx.git
11 years agoomxvideoenc: Store correct input state
Sebastian Dröge [Sun, 10 Mar 2013 11:05:50 +0000 (12:05 +0100)]
omxvideoenc: Store correct input state

11 years agoomxvideoenc: Allocate output buffers as early as possible
Sebastian Dröge [Sun, 10 Mar 2013 10:27:34 +0000 (11:27 +0100)]
omxvideoenc: Allocate output buffers as early as possible

11 years agoomx: Log unknown events
Sebastian Dröge [Sun, 10 Mar 2013 10:01:57 +0000 (11:01 +0100)]
omx: Log unknown events

11 years agoomx: Fix deadlock in encoders and add explainatory comments.
Josep Torra [Sat, 9 Mar 2013 13:14:40 +0000 (14:14 +0100)]
omx: Fix deadlock in encoders and add explainatory comments.

11 years agoomxvideodec: fix printf format identifier
Josep Torra [Sat, 9 Mar 2013 12:27:08 +0000 (13:27 +0100)]
omxvideodec: fix printf format identifier

11 years agoomx: Minor changes on debuging info
Josep Torra [Sat, 9 Mar 2013 12:07:59 +0000 (13:07 +0100)]
omx: Minor changes on debuging info

11 years agoomxvideodec: avoid a deadlock
Josep Torra [Sat, 9 Mar 2013 12:00:33 +0000 (13:00 +0100)]
omxvideodec: avoid a deadlock

11 years agoomxvideodec: Don't forget to populate output port
Sebastian Dröge [Fri, 8 Mar 2013 14:56:40 +0000 (15:56 +0100)]
omxvideodec: Don't forget to populate output port

11 years agoomx: Flush and stop srcpad when configuring new caps
Sebastian Dröge [Fri, 8 Mar 2013 14:11:27 +0000 (15:11 +0100)]
omx: Flush and stop srcpad when configuring new caps

11 years agoRevert "omx: use no-component-reconfigure hack on the Raspberry PI"
Sebastian Dröge [Thu, 7 Mar 2013 16:40:21 +0000 (17:40 +0100)]
Revert "omx: use no-component-reconfigure hack on the Raspberry PI"

This reverts commit e123b2089f69a413241f30a2428ea6edd8f231e7.

It's not required anymore after the fix from the last commit.

11 years agoomxvideodec: Only negotiate a color format with downstream on the initial caps
Sebastian Dröge [Thu, 7 Mar 2013 16:38:40 +0000 (17:38 +0100)]
omxvideodec: Only negotiate a color format with downstream on the initial caps

11 years agoomxvideodec: Make sure the output port is disabled while we allocate buffers
Sebastian Dröge [Thu, 7 Mar 2013 16:29:43 +0000 (17:29 +0100)]
omxvideodec: Make sure the output port is disabled while we allocate buffers

11 years agoomx: Also wait for disabled output ports to be reconfigured
Sebastian Dröge [Thu, 7 Mar 2013 16:27:05 +0000 (17:27 +0100)]
omx: Also wait for disabled output ports to be reconfigured

11 years agoomxvideodec: Add buffer pool for sharing OpenMAX memory with downstream
Sebastian Dröge [Thu, 7 Mar 2013 13:10:12 +0000 (14:10 +0100)]
omxvideodec: Add buffer pool for sharing OpenMAX memory with downstream

11 years agoomx: Add timeout to the flush operation and move buffer populating to a separate...
Sebastian Dröge [Thu, 7 Mar 2013 10:11:58 +0000 (11:11 +0100)]
omx: Add timeout to the flush operation and move buffer populating to a separate function

11 years agoomx: Remove min buffer count hack for RPi again
Sebastian Dröge [Wed, 6 Mar 2013 16:33:23 +0000 (17:33 +0100)]
omx: Remove min buffer count hack for RPi again

It's not necessary anymore

11 years agoomx: Do number of buffers configuration explicitely
Sebastian Dröge [Wed, 6 Mar 2013 16:05:51 +0000 (17:05 +0100)]
omx: Do number of buffers configuration explicitely

11 years agoomxvideodec: fixes reconfiguration
Josep Torra [Thu, 7 Mar 2013 10:24:54 +0000 (11:24 +0100)]
omxvideodec: fixes reconfiguration

Avoid having fixed fields from previous caps on reconfiguration.

11 years agoomx: use no-component-reconfigure hack on the Raspberry PI
Josep Torra [Thu, 7 Mar 2013 10:02:39 +0000 (11:02 +0100)]
omx: use no-component-reconfigure hack on the Raspberry PI

11 years agoAutomatic update of common submodule
Tim-Philipp Müller [Thu, 7 Mar 2013 00:03:28 +0000 (00:03 +0000)]
Automatic update of common submodule

From 2de221c to 04c7a1e

11 years agoomxvideoenc: drop unused data member
Josep Torra [Fri, 1 Mar 2013 14:32:47 +0000 (15:32 +0100)]
omxvideoenc: drop unused data member

11 years agoomxvideoenc: And set it actually on the right port
Sebastian Dröge [Fri, 1 Mar 2013 11:23:54 +0000 (12:23 +0100)]
omxvideoenc: And set it actually on the right port

11 years agoomxvideoenc: Set the coding type in the subclasses to the specific codec
Sebastian Dröge [Fri, 1 Mar 2013 11:18:08 +0000 (12:18 +0100)]
omxvideoenc: Set the coding type in the subclasses to the specific codec

11 years agoomxvideoenc: gst_omx_port_update_port_definition() returns a OMX_ERRORTYPE, not a...
Sebastian Dröge [Fri, 1 Mar 2013 10:49:53 +0000 (11:49 +0100)]
omxvideoenc: gst_omx_port_update_port_definition() returns a OMX_ERRORTYPE, not a gboolean

11 years agoomxvideo{dec,enc}: Don't use the input state if it wasn't set yet
Sebastian Dröge [Fri, 1 Mar 2013 10:44:17 +0000 (11:44 +0100)]
omxvideo{dec,enc}: Don't use the input state if it wasn't set yet

11 years agoomxaudioenc: Only enable the output port after we know the output format
Sebastian Dröge [Fri, 1 Mar 2013 10:25:04 +0000 (11:25 +0100)]
omxaudioenc: Only enable the output port after we know the output format

11 years agoomxvideoenc: Only enable the output port after we know the output format
Sebastian Dröge [Fri, 1 Mar 2013 10:24:56 +0000 (11:24 +0100)]
omxvideoenc: Only enable the output port after we know the output format

11 years agoomxvideodec: Only enable the output port after we know the output format
Sebastian Dröge [Thu, 28 Feb 2013 16:02:31 +0000 (17:02 +0100)]
omxvideodec: Only enable the output port after we know the output format

11 years agoomx: Handle errors more gracefully
Sebastian Dröge [Fri, 1 Mar 2013 10:18:18 +0000 (11:18 +0100)]
omx: Handle errors more gracefully

11 years agoomx: Return the OMX_ERRORTYPE from gst_omx_port_update_port_definition
Sebastian Dröge [Thu, 28 Feb 2013 14:48:53 +0000 (15:48 +0100)]
omx: Return the OMX_ERRORTYPE from gst_omx_port_update_port_definition

11 years agoomx: Return port definition update errors
Sebastian Dröge [Thu, 28 Feb 2013 14:37:53 +0000 (15:37 +0100)]
omx: Return port definition update errors

11 years agoomx: Add hack for RPi for the minimum number of buffers required for a port
Sebastian Dröge [Thu, 28 Feb 2013 12:57:43 +0000 (13:57 +0100)]
omx: Add hack for RPi for the minimum number of buffers required for a port

The value in the port definition is invalid and the initial actual
buffer count should be used.

11 years agoomx: Always tell the component about the right number of buffers that we're going...
Sebastian Dröge [Thu, 28 Feb 2013 12:26:56 +0000 (13:26 +0100)]
omx: Always tell the component about the right number of buffers that we're going to allocate

11 years agoomx: Invert assertion to let it express what was intended
Sebastian Dröge [Thu, 28 Feb 2013 12:07:58 +0000 (13:07 +0100)]
omx: Invert assertion to let it express what was intended

11 years agoomx: Add API for allocating a specific number of buffers and using EGLImages or buffe...
Sebastian Dröge [Thu, 28 Feb 2013 10:19:07 +0000 (11:19 +0100)]
omx: Add API for allocating a specific number of buffers and using EGLImages or buffers allocated elsewhere

11 years agoomx: Refactor code flow a bit if output port settings have changed
Sebastian Dröge [Wed, 27 Feb 2013 15:55:16 +0000 (16:55 +0100)]
omx: Refactor code flow a bit if output port settings have changed

11 years agoomx: Clean up port settings change handling
Sebastian Dröge [Wed, 27 Feb 2013 14:49:56 +0000 (15:49 +0100)]
omx: Clean up port settings change handling

11 years agoomxvideodec: initialize param structure before using it
Josep Torra [Wed, 27 Feb 2013 10:30:14 +0000 (11:30 +0100)]
omxvideodec: initialize param structure before using it

11 years agoomxvideoenc: prevent a NULL pointer access
Josep Torra [Wed, 27 Feb 2013 09:21:39 +0000 (10:21 +0100)]
omxvideoenc: prevent a NULL pointer access

11 years agoomxvideodec: prevent a NULL pointer access
Josep Torra [Tue, 26 Feb 2013 16:25:49 +0000 (17:25 +0100)]
omxvideodec: prevent a NULL pointer access

11 years agoomx: Fix deadlock during reconfiguration
Sebastian Dröge [Mon, 25 Feb 2013 12:11:16 +0000 (13:11 +0100)]
omx: Fix deadlock during reconfiguration

11 years agoomx: Auto-detect the port indizes if possible
Sebastian Dröge [Mon, 25 Feb 2013 11:38:27 +0000 (12:38 +0100)]
omx: Auto-detect the port indizes if possible

11 years agoomx: Refactor querying of component supported caps into its own function
Sebastian Dröge [Mon, 25 Feb 2013 10:42:38 +0000 (11:42 +0100)]
omx: Refactor querying of component supported caps into its own function

11 years agoomx: Refactor waiting for buffers to be released by the component to a separate function
Sebastian Dröge [Mon, 25 Feb 2013 09:41:12 +0000 (10:41 +0100)]
omx: Refactor waiting for buffers to be released by the component to a separate function

11 years agoomx: Add methods to set up and close a tunnel between components
Sebastian Dröge [Fri, 11 Jan 2013 17:44:13 +0000 (17:44 +0000)]
omx: Add methods to set up and close a tunnel between components

11 years agoomxaudioenc: Rename component variable
Sebastian Dröge [Mon, 25 Feb 2013 08:15:53 +0000 (09:15 +0100)]
omxaudioenc: Rename component variable

11 years agoomxvideoenc: Rename component variable
Sebastian Dröge [Mon, 25 Feb 2013 08:15:46 +0000 (09:15 +0100)]
omxvideoenc: Rename component variable

11 years agoomxvideodec: Rename component variable
Sebastian Dröge [Mon, 25 Feb 2013 08:12:22 +0000 (09:12 +0100)]
omxvideodec: Rename component variable

11 years agoomxvideoenc: remove duplicated line
Josep Torra [Fri, 22 Feb 2013 15:27:33 +0000 (16:27 +0100)]
omxvideoenc: remove duplicated line

11 years agoRetry loading libbcm_host.so without an absolute path if that failed
Sebastian Dröge [Fri, 22 Feb 2013 09:42:08 +0000 (10:42 +0100)]
Retry loading libbcm_host.so without an absolute path if that failed

11 years agoAdd missing file from last commit
Sebastian Dröge [Thu, 21 Feb 2013 19:32:42 +0000 (20:32 +0100)]
Add missing file from last commit

11 years agoAdd OpenMAX IL target for Bellagio
Sebastian Dröge [Thu, 21 Feb 2013 10:01:28 +0000 (11:01 +0100)]
Add OpenMAX IL target for Bellagio

Not tested since a very long time though.

11 years agoAllow using external OpenMAX IL headers
Sebastian Dröge [Thu, 21 Feb 2013 09:59:29 +0000 (10:59 +0100)]
Allow using external OpenMAX IL headers

11 years agoUpdate .gitignore
Sebastian Dröge [Thu, 21 Feb 2013 09:14:12 +0000 (10:14 +0100)]
Update .gitignore

11 years agoInstall the RPI config when the RPI target is selected
Sebastian Dröge [Thu, 21 Feb 2013 09:13:16 +0000 (10:13 +0100)]
Install the RPI config when the RPI target is selected

11 years agoSet default hacks for the RPI target and always initialize bcm_host
Sebastian Dröge [Thu, 21 Feb 2013 09:08:07 +0000 (10:08 +0100)]
Set default hacks for the RPI target and always initialize bcm_host

11 years agoAdd configure parameter for setting the OpenMAX IL target
Sebastian Dröge [Thu, 21 Feb 2013 09:05:37 +0000 (10:05 +0100)]
Add configure parameter for setting the OpenMAX IL target

11 years agoomx: Add FIXME for the future
Sebastian Dröge [Tue, 12 Feb 2013 10:55:39 +0000 (11:55 +0100)]
omx: Add FIXME for the future

11 years agoomx: Some minor refactoring and cleanup
Sebastian Dröge [Tue, 12 Feb 2013 10:49:21 +0000 (11:49 +0100)]
omx: Some minor refactoring and cleanup

11 years agoomx: Don't access the port's buffers array if it wasn't allocated yet
Sebastian Dröge [Tue, 12 Feb 2013 10:45:40 +0000 (11:45 +0100)]
omx: Don't access the port's buffers array if it wasn't allocated yet

11 years agoomx: Mark an array as const
Sebastian Dröge [Tue, 12 Feb 2013 10:44:40 +0000 (11:44 +0100)]
omx: Mark an array as const

11 years agoomx: Split enabling/disabling of port into sending the command and waiting for it
Sebastian Dröge [Tue, 12 Feb 2013 10:41:43 +0000 (11:41 +0100)]
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

11 years agoomx: Flushing is also allowed in Paused state
Sebastian Dröge [Tue, 12 Feb 2013 10:37:38 +0000 (11:37 +0100)]
omx: Flushing is also allowed in Paused state

11 years agoomxvideoenc: Set stride, slice height and buffer size
Sebastian Dröge [Tue, 12 Feb 2013 10:28:36 +0000 (11:28 +0100)]
omxvideoenc: Set stride, slice height and buffer size

11 years agoconfig: Add h264 and mpeg2 encoders to the raspberry pi config
Sebastian Dröge [Tue, 12 Feb 2013 10:09:30 +0000 (11:09 +0100)]
config: Add h264 and mpeg2 encoders to the raspberry pi config

Not completely working yet though.

11 years agoomxvideoenc: Properly negotiate OMX color format with the component
Sebastian Dröge [Tue, 12 Feb 2013 10:03:32 +0000 (11:03 +0100)]
omxvideoenc: Properly negotiate OMX color format with the component

11 years agoomxvideoenc: Implement getcaps() vfunc
Sebastian Dröge [Tue, 12 Feb 2013 09:53:24 +0000 (10:53 +0100)]
omxvideoenc: Implement getcaps() vfunc

11 years agoconfigure: use 1.0 gstconfig.h to detect disabled subsystems
Tim-Philipp Müller [Tue, 29 Jan 2013 21:32:53 +0000 (21:32 +0000)]
configure: use 1.0 gstconfig.h to detect disabled subsystems

Update unused configure check for GStreamer core subsystem
features from 0.10 to 1.0.

11 years agoAutomatic update of common submodule
Stefan Sauer [Mon, 28 Jan 2013 19:44:41 +0000 (20:44 +0100)]
Automatic update of common submodule

From a942293 to 2de221c

11 years agoomx: add mpeg2 video decoder
Julian Scheel [Thu, 24 Jan 2013 13:02:36 +0000 (14:02 +0100)]
omx: add mpeg2 video decoder

This adds a decoder class for mpeg2, as well as an extended
configuration for raspberry pi.

https://bugzilla.gnome.org/show_bug.cgi?id=692446

Signed-off-by: Julian Scheel <julian@jusst.de>
11 years agoomx: Minimize the time when the messages lock is held
Sebastian Dröge [Fri, 18 Jan 2013 15:47:04 +0000 (16:47 +0100)]
omx: Minimize the time when the messages lock is held

Fixes a deadlock if any OMX functions are called when the
messages are handled.

Thanks to Nicolas Dufresne for noticing.

11 years agoomx: improve debug message when we can't find the config file
Tim-Philipp Müller [Fri, 18 Jan 2013 15:28:20 +0000 (15:28 +0000)]
omx: improve debug message when we can't find the config file

Mention where we looked for the config file.

11 years agobuild: fix autogen.sh with automake 1.13
Tim-Philipp Müller [Fri, 18 Jan 2013 12:34:38 +0000 (12:34 +0000)]
build: fix autogen.sh with automake 1.13

AM_CONFIG_HEADER -> AC_CONFIG_HEADERS

11 years agoomx: Fix includes to properly work with the 1.0 releases
Sebastian Dröge [Thu, 17 Jan 2013 17:07:41 +0000 (18:07 +0100)]
omx: Fix includes to properly work with the 1.0 releases

11 years agoAutomatic update of common submodule
Tim-Philipp Müller [Tue, 15 Jan 2013 15:08:28 +0000 (15:08 +0000)]
Automatic update of common submodule

From a72faea to a942293

11 years agoomx: Update port definition when changing some port setting
Sebastian Dröge [Tue, 15 Jan 2013 13:34:45 +0000 (14:34 +0100)]
omx: Update port definition when changing some port setting

11 years agoomx: Rename from libgstopenmax.so to ligstomx.so for consistency
Sebastian Dröge [Mon, 14 Jan 2013 10:41:57 +0000 (11:41 +0100)]
omx: Rename from libgstopenmax.so to ligstomx.so for consistency

11 years agoomx: Add a method to send message
Nicolas Dufresne [Fri, 11 Jan 2013 15:32:22 +0000 (15:32 +0000)]
omx: Add a method to send message

11 years agoomx: Atomic ops are not required anymore for the reconfiguration
Sebastian Dröge [Fri, 11 Jan 2013 14:44:38 +0000 (15:44 +0100)]
omx: Atomic ops are not required anymore for the reconfiguration

11 years agoomx: Fix some memory leaks and suboptimal locking
Sebastian Dröge [Fri, 11 Jan 2013 11:52:10 +0000 (12:52 +0100)]
omx: Fix some memory leaks and suboptimal locking

11 years agoomxvideoenc: Don't forget to unmap frame in error cases
Sebastian Dröge [Fri, 11 Jan 2013 11:34:04 +0000 (12:34 +0100)]
omxvideoenc: Don't forget to unmap frame in error cases

11 years agoomxvideoenc: Fix copying of the video frames to the OMX buffers
Sebastian Dröge [Fri, 11 Jan 2013 11:29:20 +0000 (12:29 +0100)]
omxvideoenc: Fix copying of the video frames to the OMX buffers

11 years agoomxvideodec: Fix copying of the video frames from the OMX buffers
Sebastian Dröge [Fri, 11 Jan 2013 11:24:13 +0000 (12:24 +0100)]
omxvideodec: Fix copying of the video frames from the OMX buffers

11 years agoomx: Implement new approach for locking that should solve all deadlocks on RPi
Sebastian Dröge [Thu, 10 Jan 2013 13:44:33 +0000 (14:44 +0100)]
omx: Implement new approach for locking that should solve all deadlocks on RPi

No mutex is locked while calling any OpenMAX functions anymore
and everything from the OpenMAX callbacks is inserted into a message
queue and handled from outside the callbacks.

Also there's only a single mutex and condition variable per component
now for handling anything from OpenMAX callbacks and a single mutex
for keeping our component/port state sane.

11 years agoomxvideodec: Set the OMX buffer nFilledLength field properly
Sebastian Dröge [Thu, 20 Dec 2012 18:30:38 +0000 (19:30 +0100)]
omxvideodec: Set the OMX buffer nFilledLength field properly

11 years agoomxrecmutex: Fix another race condition when two threads are trying to lock for recur...
Sebastian Dröge [Thu, 20 Dec 2012 17:48:21 +0000 (18:48 +0100)]
omxrecmutex: Fix another race condition when two threads are trying to lock for recursion at the same time

11 years agoomxrecmutex: Fix yet another race condition that resulted in deadlocks
Sebastian Dröge [Thu, 20 Dec 2012 17:16:43 +0000 (18:16 +0100)]
omxrecmutex: Fix yet another race condition that resulted in deadlocks

11 years agoomx: Fix another race condition in the recursive mutex
Sebastian Dröge [Thu, 20 Dec 2012 16:46:36 +0000 (17:46 +0100)]
omx: Fix another race condition in the recursive mutex

Between lock() and begin_recursion() it was possible for another thread to
try to do a recursive_lock(). This would block because the mutex was already
locked(), but not ready for recursive locking yet. unlock() would never
happen in the original thread because it was waiting for the other thread
to finish first.

Happened on the Raspberry Pi.

11 years agoomxrecmutex: Fix a small race condition when unlocking a non-recursive lock
Sebastian Dröge [Thu, 20 Dec 2012 13:45:18 +0000 (14:45 +0100)]
omxrecmutex: Fix a small race condition when unlocking a non-recursive lock

11 years agoomx: Fix ununsed variable compiler warning
Sebastian Dröge [Thu, 20 Dec 2012 11:30:05 +0000 (12:30 +0100)]
omx: Fix ununsed variable compiler warning

11 years agoomx: No need to start the srcpad task in ::start() already
Sebastian Dröge [Thu, 20 Dec 2012 11:27:47 +0000 (12:27 +0100)]
omx: No need to start the srcpad task in ::start() already

It will be started properly after the caps are set.

11 years agoomxvideodec: OMX_ErrorNoMore is no error and just means we ended iteration
Sebastian Dröge [Thu, 20 Dec 2012 11:23:49 +0000 (12:23 +0100)]
omxvideodec: OMX_ErrorNoMore is no error and just means we ended iteration

11 years agoomx: Improve debug output
Sebastian Dröge [Thu, 20 Dec 2012 11:20:31 +0000 (12:20 +0100)]
omx: Improve debug output

11 years agoomxvideodec: Don't forget to free a GList
Sebastian Dröge [Thu, 20 Dec 2012 11:02:30 +0000 (12:02 +0100)]
omxvideodec: Don't forget to free a GList

11 years agoomxvideodec: Map OMX_COLOR_FormatYUV420PackedPlanar to I420 too
Sebastian Dröge [Thu, 20 Dec 2012 10:56:29 +0000 (11:56 +0100)]
omxvideodec: Map OMX_COLOR_FormatYUV420PackedPlanar to I420 too

This is used on the Raspberry Pi.

11 years agoomxvideodec: During negotiation of the output format make sure we use the correct...
Sebastian Dröge [Thu, 20 Dec 2012 10:55:36 +0000 (11:55 +0100)]
omxvideodec: During negotiation of the output format make sure we use the correct OpenMAX format

11 years agoomxvideodec: If negotiation fails this could also mean that the component can't do...
Sebastian Dröge [Thu, 20 Dec 2012 10:42:17 +0000 (11:42 +0100)]
omxvideodec: If negotiation fails this could also mean that the component can't do it at this point yet

11 years agoomxvideodec: Improve format negotiation a bit
Sebastian Dröge [Thu, 20 Dec 2012 10:40:13 +0000 (11:40 +0100)]
omxvideodec: Improve format negotiation a bit

Don't leak caps and make sure to fixate caps.

11 years agoomx: Also initialize nStep field of the OMX structures
Sebastian Dröge [Wed, 19 Dec 2012 12:05:28 +0000 (13:05 +0100)]
omx: Also initialize nStep field of the OMX structures

11 years agoomx: Initialize struct version with the OMX version we compiled with
Sebastian Dröge [Wed, 19 Dec 2012 12:03:37 +0000 (13:03 +0100)]
omx: Initialize struct version with the OMX version we compiled with