gst-omx.git
6 years agoexamples: simplify the thread synchronization code master github/master master/master origin/HEAD origin/master
Josep Torra [Sat, 28 Sep 2013 11:32:37 +0000 (13:32 +0200)]
examples: simplify the thread synchronization code

Make everithing more simple and fix the races conditions remaining in
the previous approaches.

6 years agorpi: The WMV/VC1 decoder can only do WMV9 and VC1, no older versions
Sebastian Dröge [Wed, 25 Sep 2013 17:17:17 +0000 (19:17 +0200)]
rpi: The WMV/VC1 decoder can only do WMV9 and VC1, no older versions

6 years agoAutomatic update of common submodule
Tim-Philipp Müller [Tue, 24 Sep 2013 17:34:42 +0000 (18:34 +0100)]
Automatic update of common submodule

From 6b03ba7 to 865aa20

6 years agoexamples: fix another race condition
Josep Torra [Tue, 24 Sep 2013 16:48:24 +0000 (18:48 +0200)]
examples: fix another race condition

Fix a race condition that caused randome deadlocks on EOS.

7 years agorpi: fix a copy paste error in the config file
Josep Torra [Fri, 20 Sep 2013 15:19:53 +0000 (17:19 +0200)]
rpi: fix a copy paste error in the config file

7 years agoexamples: fix a race condition when seeking
Josep Torra [Fri, 20 Sep 2013 15:09:52 +0000 (17:09 +0200)]
examples: fix a race condition when seeking

Fixes a race condition that caused pipeline deadlock during seeks.

7 years agoexamples: display QoS statistics
Josep Torra [Fri, 20 Sep 2013 08:38:12 +0000 (10:38 +0200)]
examples: display QoS statistics

7 years agoexamples: use dedicated thread for rendering the scene
Josep Torra [Fri, 20 Sep 2013 07:34:37 +0000 (09:34 +0200)]
examples: use dedicated thread for rendering the scene

Produces smother animation and prevents dropping frames due busy
mainloop.

7 years agoexamples: don't force an specific audio sink
Josep Torra [Fri, 20 Sep 2013 06:25:21 +0000 (08:25 +0200)]
examples: don't force an specific audio sink

Let playbin2 choose the audiosink available in the system.

7 years agoexamples: drop remnants of initial appsink attempt
Josep Torra [Fri, 20 Sep 2013 06:19:48 +0000 (08:19 +0200)]
examples: drop remnants of initial appsink attempt

7 years agoAutomatic update of common submodule
Edward Hervey [Fri, 20 Sep 2013 14:18:18 +0000 (16:18 +0200)]
Automatic update of common submodule

From b613661 to 6b03ba7

7 years agoAutomatic update of common submodule
Tim-Philipp Müller [Thu, 19 Sep 2013 17:45:36 +0000 (18:45 +0100)]
Automatic update of common submodule

From 74a6857 to b613661

7 years agoAutomatic update of common submodule
Tim-Philipp Müller [Thu, 19 Sep 2013 16:38:30 +0000 (17:38 +0100)]
Automatic update of common submodule

From 01a7a46 to 74a6857

7 years agoomx: don't use the 'z' modifier to print size_t
Tim-Philipp Müller [Tue, 20 Aug 2013 15:00:07 +0000 (16:00 +0100)]
omx: don't use the 'z' modifier to print size_t

gcc will warn in some cases even if the size of the type
is exactly that of size_t on the platform.

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

7 years agogstomxvideoenc: Set bitrate in setcaps
Roman Arutyunyan [Mon, 1 Jul 2013 13:48:47 +0000 (15:48 +0200)]
gstomxvideoenc: Set bitrate in setcaps

Otherwise it gets lost whenever we configure new caps

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

7 years agoexamples: enable audio in testegl example
Ilya Smelykh [Sun, 30 Jun 2013 11:17:05 +0000 (18:17 +0700)]
examples: enable audio in testegl example

7 years agoconfigure: Allow build without gstreamer-egl
Sebastian Dröge [Wed, 12 Jun 2013 07:38:22 +0000 (09:38 +0200)]
configure: Allow build without gstreamer-egl

7 years agoexamples: testegl example port to 1.x
Ilya Smelykh [Fri, 7 Jun 2013 05:39:18 +0000 (12:39 +0700)]
examples: testegl example port to 1.x

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

7 years agoAutomatic update of common submodule
Sebastian Dröge [Wed, 5 Jun 2013 13:17:16 +0000 (15:17 +0200)]
Automatic update of common submodule

From 098c0d7 to 01a7a46

7 years agoomx: Take lock on EOS to update the flow return value
Josep Torra [Mon, 20 May 2013 10:06:34 +0000 (12:06 +0200)]
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.

7 years agoAutomatic update of common submodule
Sebastian Dröge [Wed, 15 May 2013 08:54:12 +0000 (10:54 +0200)]
Automatic update of common submodule

From 5edcd85 to 098c0d7

7 years agoexamples: add an example aplication based OpenGL ES + EGL
Josep Torra [Thu, 11 Apr 2013 15:35:19 +0000 (17:35 +0200)]
examples: add an example aplication based OpenGL ES + EGL

Application that shows how to integrate playbin with an OpenGL ES
scene through EGL. Renders a video on the surfaces of an animated cube.

The code is not ported to 1.x so it's not built by default.

7 years agoomxvideodec: Redesign video size change reconfiguration code
Josep Torra [Fri, 10 May 2013 10:25:07 +0000 (12:25 +0200)]
omxvideodec: Redesign video size change reconfiguration code

Ensure stop the decoder before clossing the tunnel.

7 years agoMakefile.am: Add -I common/m4
Sebastian Dröge [Mon, 6 May 2013 14:25:27 +0000 (16:25 +0200)]
Makefile.am: Add -I common/m4

This allows autoreconf to work correctly and automatic regeneration
of autotools files if something changed.

7 years agoomx: Add pads based on element type
jitendra [Mon, 6 May 2013 13:33:59 +0000 (19:03 +0530)]
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

7 years agoomx: fixed type error in printf call
Carlos Rafael Giani [Sat, 27 Apr 2013 00:50:25 +0000 (02:50 +0200)]
omx: fixed type error in printf call

%zu expects size_t

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

7 years agoCheck for gstreamer-egl
Tim-Philipp Müller [Mon, 8 Apr 2013 16:26:16 +0000 (17:26 +0100)]
Check for gstreamer-egl

And don't use if not available.

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

7 years agoconfigure: error out if no OMX target has been set explicitly with --with-omx-target=x
Tim-Philipp Müller [Tue, 23 Apr 2013 08:53:18 +0000 (09:53 +0100)]
configure: error out if no OMX target has been set explicitly with --with-omx-target=x

Avoids people building for e.g. the Raspberry Pi and then wondering
why things don't work as expected (since structs are packed differently
there).

7 years agoAutomatic update of common submodule
Tim-Philipp Müller [Mon, 22 Apr 2013 22:55:03 +0000 (23:55 +0100)]
Automatic update of common submodule

From 3cb3d3c to 5edcd85

7 years agoomx: more printf format fixes
Tim-Philipp Müller [Thu, 18 Apr 2013 22:07:28 +0000 (22:07 +0000)]
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.

7 years agoomx: fixes unused variable 'comp' when GStreamer is built without debug
Josep Torra [Thu, 18 Apr 2013 14:40:06 +0000 (16:40 +0200)]
omx: fixes unused variable 'comp' when GStreamer is built without debug

7 years agoomxvideodec: don't use 'self->dec_out_port' anymore and use just 'port'
Josep Torra [Thu, 18 Apr 2013 14:03:56 +0000 (16:03 +0200)]
omxvideodec: don't use 'self->dec_out_port' anymore and use just 'port'

Fixes some criticals.

7 years agoomxvideodec: fixes 'port' may be used uninitialized in this function
Josep Torra [Thu, 18 Apr 2013 13:21:32 +0000 (15:21 +0200)]
omxvideodec: fixes 'port' may be used uninitialized in this function

7 years agoomxvideodec: silence warnings building for RPI related to 'vcos_*'
Josep Torra [Thu, 18 Apr 2013 10:03:31 +0000 (12:03 +0200)]
omxvideodec: silence warnings building for RPI related to 'vcos_*'

7 years agoomxvideodec: Use new type from libgstvideo
Josep Torra [Thu, 18 Apr 2013 09:19:52 +0000 (11:19 +0200)]
omxvideodec: Use new type from libgstvideo

7 years agoomx: Disable output port before transition to idle state
jitendra [Tue, 16 Apr 2013 09:20:49 +0000 (14:50 +0530)]
omx: Disable output port before transition to idle state

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

7 years agogst: Add better support for static plugins
Sebastian Dröge [Wed, 24 Oct 2012 10:19:41 +0000 (12:19 +0200)]
gst: Add better support for static plugins

7 years agoAutomatic update of common submodule
Tim-Philipp Müller [Sun, 14 Apr 2013 16:57:34 +0000 (17:57 +0100)]
Automatic update of common submodule

From aed87ae to 3cb3d3c

7 years agoconfigure: add --disable-fatal-warnings for disabling -Werror
Tim-Philipp Müller [Fri, 12 Apr 2013 16:58:30 +0000 (17:58 +0100)]
configure: add --disable-fatal-warnings for disabling -Werror

7 years agoAutomatic update of common submodule
Stefan Sauer [Tue, 9 Apr 2013 19:02:09 +0000 (21:02 +0200)]
Automatic update of common submodule

From 04c7a1e to aed87ae

7 years agoomx: fix printf formats in debug messages
Tim-Philipp Müller [Mon, 8 Apr 2013 16:02:32 +0000 (17:02 +0100)]
omx: fix printf formats in debug messages

OMX_U32 is typedefed to an unsigned long,
OMX_TICKS to a 64-bit integer.

7 years agoomxvideodec: use the correct printf format in a debug message
Josep Torra [Mon, 8 Apr 2013 14:52:19 +0000 (16:52 +0200)]
omxvideodec: use the correct printf format in a debug message

7 years agoomxvideodec: use the correct OMX_IndexParam value
Josep Torra [Mon, 8 Apr 2013 14:31:33 +0000 (16:31 +0200)]
omxvideodec: use the correct OMX_IndexParam value

Fixes playback is not smooth in the EGL path.

7 years agoomxvideodec: Don't use API that is not in master yet
Sebastian Dröge [Fri, 5 Apr 2013 11:45:24 +0000 (13:45 +0200)]
omxvideodec: Don't use API that is not in master yet

It's not really needed here yet, will be needed in future versions

7 years agoomxvideodec: Add support for egl_render on RPi
Sebastian Dröge [Mon, 25 Feb 2013 10:55:04 +0000 (11:55 +0100)]
omxvideodec: Add support for egl_render on RPi

7 years agoBack to development
Tim-Philipp Müller [Fri, 22 Mar 2013 19:26:54 +0000 (19:26 +0000)]
Back to development

7 years agoomx: fix compiler warnings when compiling with -DG_DISABLE_ASSERT
Tim-Philipp Müller [Fri, 22 Mar 2013 19:23:14 +0000 (19:23 +0000)]
omx: fix compiler warnings when compiling with -DG_DISABLE_ASSERT

As we do for releases. Fixes 'variable may be used uninitialized'
warnings.

7 years agoRelease 1.0.0 1.0.0
Sebastian Dröge [Fri, 22 Mar 2013 16:16:33 +0000 (17:16 +0100)]
Release 1.0.0

7 years agoomx: fix typo in copyright headers
Tim-Philipp Müller [Tue, 19 Mar 2013 16:40:09 +0000 (16:40 +0000)]
omx: fix typo in copyright headers

7 years agorpi: Fix commit that added the VC1 decoder
Sebastian Dröge [Tue, 19 Mar 2013 12:46:33 +0000 (13:46 +0100)]
rpi: Fix commit that added the VC1 decoder

7 years agoomx: Add more constraints to the default sink template caps
Sebastian Dröge [Tue, 19 Mar 2013 12:27:35 +0000 (13:27 +0100)]
omx: Add more constraints to the default sink template caps

7 years agorpi: Add VC1/WMV3 decoder
Sebastian Dröge [Tue, 19 Mar 2013 12:10:39 +0000 (13:10 +0100)]
rpi: Add VC1/WMV3 decoder

WMV2 and WMV1 (aka WMV 1-8) are not supported by RPi.

7 years agorpi: Add MJPEG decoder
Sebastian Dröge [Tue, 19 Mar 2013 11:59:20 +0000 (12:59 +0100)]
rpi: Add MJPEG decoder

7 years agorpi: Add VP8 decoder
Sebastian Dröge [Tue, 19 Mar 2013 11:56:50 +0000 (12:56 +0100)]
rpi: Add VP8 decoder

7 years agoomxvideodec: Set ENDOFFRAME flag for the end of frames
Sebastian Dröge [Tue, 19 Mar 2013 11:55:09 +0000 (12:55 +0100)]
omxvideodec: Set ENDOFFRAME flag for the end of frames

7 years agorpi: Add Theora decoder to the config
Sebastian Dröge [Tue, 19 Mar 2013 11:28:50 +0000 (12:28 +0100)]
rpi: Add Theora decoder to the config

7 years agoomx: Add Theora decoder
Sebastian Dröge [Tue, 19 Mar 2013 08:36:18 +0000 (09:36 +0100)]
omx: Add Theora decoder

7 years agoomx: Remove additional comma
Sebastian Dröge [Mon, 18 Mar 2013 15:43:24 +0000 (16:43 +0100)]
omx: Remove additional comma

7 years agoomx: Rename MPEG2 decoder for consistency everywhere
Sebastian Dröge [Mon, 18 Mar 2013 15:34:21 +0000 (16:34 +0100)]
omx: Rename MPEG2 decoder for consistency everywhere

7 years agoomx: Add MJPEG decoder support
Sebastian Dröge [Mon, 18 Mar 2013 15:30:40 +0000 (16:30 +0100)]
omx: Add MJPEG decoder support

7 years agoomx: Add VP8 decoder support
Sebastian Dröge [Mon, 18 Mar 2013 15:06:54 +0000 (16:06 +0100)]
omx: Add VP8 decoder support

7 years agorpi: Add h263 decoder and rename MPEG2 decoder for consistency
Sebastian Dröge [Mon, 18 Mar 2013 14:44:23 +0000 (15:44 +0100)]
rpi: Add h263 decoder and rename MPEG2 decoder for consistency

7 years agoomxmpeg2dec: mpeg-2 decoder should be able to handle mpeg-1 too
Tim-Philipp Müller [Sat, 16 Mar 2013 13:20:27 +0000 (13:20 +0000)]
omxmpeg2dec: mpeg-2 decoder should be able to handle mpeg-1 too

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

7 years agoomx: minor stylistic change for consistency with other similar code
Josep Torra [Sat, 16 Mar 2013 09:13:06 +0000 (10:13 +0100)]
omx: minor stylistic change for consistency with other similar code

7 years agoomx: Clarify that loop task is also paused in EOS
Josep Torra [Sat, 16 Mar 2013 09:00:24 +0000 (10:00 +0100)]
omx: Clarify that loop task is also paused in EOS

7 years agoomxvideoenec: Don't forget propagate flow return value upstream
Josep Torra [Sat, 16 Mar 2013 08:59:01 +0000 (09:59 +0100)]
omxvideoenec: Don't forget propagate flow return value upstream

7 years agoomx: improve debug logging some more
Tim-Philipp Müller [Fri, 15 Mar 2013 13:16:39 +0000 (13:16 +0000)]
omx: improve debug logging some more

7 years agoomxvideodec: Make sure that the first frame we pass to OpenMAX is a sync frame
Sebastian Dröge [Fri, 15 Mar 2013 13:09:45 +0000 (14:09 +0100)]
omxvideodec: Make sure that the first frame we pass to OpenMAX is a sync frame

7 years agoomx: Stop output port task after draining
Sebastian Dröge [Fri, 15 Mar 2013 10:46:34 +0000 (11:46 +0100)]
omx: Stop output port task after draining

7 years agoomx: Reset EOS flag in more places
Sebastian Dröge [Fri, 15 Mar 2013 09:58:58 +0000 (10:58 +0100)]
omx: Reset EOS flag in more places

7 years agoomxvideodec: Deallocate output buffers with the right function
Sebastian Dröge [Fri, 15 Mar 2013 09:38:43 +0000 (10:38 +0100)]
omxvideodec: Deallocate output buffers with the right function

7 years agoomx: log commands as strings
Tim-Philipp Müller [Fri, 15 Mar 2013 01:06:05 +0000 (01:06 +0000)]
omx: log commands as strings

Makes logs easier to read.

7 years agoomx: log states as strings
Tim-Philipp Müller [Fri, 15 Mar 2013 00:47:47 +0000 (00:47 +0000)]
omx: log states as strings

7 years agoomx: log component name in debug messages
Tim-Philipp Müller [Fri, 15 Mar 2013 00:28:02 +0000 (00:28 +0000)]
omx: log component name in debug messages

Useful when we have more different components
active at the same time.

7 years agoomxvideodec: Don't interpolate timestamps
Sebastian Dröge [Fri, 15 Mar 2013 08:51:42 +0000 (09:51 +0100)]
omxvideodec: Don't interpolate timestamps

We will get exactly one frame per input buffer and assigning
timestamps between frames if more than one OMX buffer is required
per frame easily confuses timestamp tracking in OMX.

7 years agoomxvideodec: Give the codec_data the timestamp of the first frame and no duration
Sebastian Dröge [Fri, 15 Mar 2013 08:32:42 +0000 (09:32 +0100)]
omxvideodec: Give the codec_data the timestamp of the first frame and no duration

7 years agoomx: The MPEG4 encoder is not available on RPi and probably never will
Sebastian Dröge [Thu, 14 Mar 2013 16:31:17 +0000 (17:31 +0100)]
omx: The MPEG4 encoder is not available on RPi and probably never will

7 years agoomx: Reset some more buffer fields as required
Sebastian Dröge [Thu, 14 Mar 2013 16:26:30 +0000 (17:26 +0100)]
omx: Reset some more buffer fields as required

7 years agoomx: The hack to disable usage of EOS buffers is not necessary anymore on RPi
Sebastian Dröge [Thu, 14 Mar 2013 16:01:08 +0000 (17:01 +0100)]
omx: The hack to disable usage of EOS buffers is not necessary anymore on RPi

7 years agoomx: Reset the flags for output ports when releasing a buffer, not for input ports
Sebastian Dröge [Thu, 14 Mar 2013 16:00:12 +0000 (17:00 +0100)]
omx: Reset the flags for output ports when releasing a buffer, not for input ports

7 years agoomx: Only unref caps after usage of its fields
Sebastian Dröge [Thu, 14 Mar 2013 14:03:02 +0000 (15:03 +0100)]
omx: Only unref caps after usage of its fields

7 years agoomxvideodec: Simplify bufferpool implementation
Sebastian Dröge [Thu, 14 Mar 2013 13:51:32 +0000 (14:51 +0100)]
omxvideodec: Simplify bufferpool implementation

7 years agoomxvideodec: Improve min/max buffer counts handling
Sebastian Dröge [Wed, 13 Mar 2013 12:23:35 +0000 (13:23 +0100)]
omxvideodec: Improve min/max buffer counts handling

7 years agoomx: Handle the OMX_EventBufferFlag to detect EOS too
Sebastian Dröge [Thu, 14 Mar 2013 11:49:42 +0000 (12:49 +0100)]
omx: Handle the OMX_EventBufferFlag to detect EOS too

7 years agoomx: Mark OpenMAX buffers as EGLImage if they contain one
Sebastian Dröge [Wed, 13 Mar 2013 09:29:23 +0000 (10:29 +0100)]
omx: Mark OpenMAX buffers as EGLImage if they contain one

Needs special handling in some places, e.g. because nFilledLen
will always be 0.

7 years agoomxvideoenc: Properly check the nVersion field
Sebastian Dröge [Wed, 13 Mar 2013 09:21:49 +0000 (10:21 +0100)]
omxvideoenc: Properly check the nVersion field

7 years agoomxvideoenc: RPi returns garbage for OMX_IndexParamVideoBitrate, work around that
Sebastian Dröge [Wed, 13 Mar 2013 08:34:43 +0000 (09:34 +0100)]
omxvideoenc: RPi returns garbage for OMX_IndexParamVideoBitrate, work around that

7 years agoomxvideodec: Make sure to always get the right buffer
Sebastian Dröge [Tue, 12 Mar 2013 19:02:53 +0000 (20:02 +0100)]
omxvideodec: Make sure to always get the right buffer

7 years agoomxvideodec: Make sure the buffer is released to the pool if it's not the one we...
Sebastian Dröge [Tue, 12 Mar 2013 18:35:39 +0000 (19:35 +0100)]
omxvideodec: Make sure the buffer is released to the pool if it's not the one we wanted

7 years agoomxvideodec: Drop too late frames instead of finishing them
Sebastian Dröge [Tue, 12 Mar 2013 18:17:08 +0000 (19:17 +0100)]
omxvideodec: Drop too late frames instead of finishing them

7 years agoomx: Release buffers to the correct port
Sebastian Dröge [Tue, 12 Mar 2013 18:16:46 +0000 (19:16 +0100)]
omx: Release buffers to the correct port

7 years agoomx: Always load the OpenMAX IL cores with G_MODULE_BIND_LOCAL
Sebastian Dröge [Wed, 13 Mar 2013 08:37:02 +0000 (09:37 +0100)]
omx: Always load the OpenMAX IL cores with G_MODULE_BIND_LOCAL

7 years agoomx: Lazy-load symbols of libbcm_host.so
Sebastian Dröge [Tue, 12 Mar 2013 17:20:22 +0000 (18:20 +0100)]
omx: Lazy-load symbols of libbcm_host.so

It exports eglIntOpenMAXILDoneMarker(), which is also
exported by libopenmaxil.so... but we need the version
from libopenmaxil.so as the other one is just a stub.

7 years agoomx: Don't set profile/level in other encoders if downstream caps don't specify any
Sebastian Dröge [Mon, 11 Mar 2013 12:59:15 +0000 (13:59 +0100)]
omx: Don't set profile/level in other encoders if downstream caps don't specify any

7 years agoomxh264enc: If caps specify no profile/level use the component's defaults
Sebastian Dröge [Mon, 11 Mar 2013 12:49:38 +0000 (13:49 +0100)]
omxh264enc: If caps specify no profile/level use the component's defaults

7 years agoomxvideoenc: Always allocate output buffers from the loop function
Sebastian Dröge [Mon, 11 Mar 2013 12:45:04 +0000 (13:45 +0100)]
omxvideoenc: Always allocate output buffers from the loop function

7 years agoomxh264enc: The h264 encoders are supposed to output byte-stream/au
Sebastian Dröge [Mon, 11 Mar 2013 12:12:57 +0000 (13:12 +0100)]
omxh264enc: The h264 encoders are supposed to output byte-stream/au

7 years agoomxvideoenc: Wait until the Executing state is reached before passing buffers to...
Sebastian Dröge [Mon, 11 Mar 2013 10:47:42 +0000 (11:47 +0100)]
omxvideoenc: Wait until the Executing state is reached before passing buffers to the component

7 years agoomxvideodec: Don't provide buffers to downstream
Sebastian Dröge [Mon, 11 Mar 2013 09:39:25 +0000 (10:39 +0100)]
omxvideodec: Don't provide buffers to downstream

This only works reliable if we have a way to tell downstream to
release all our buffers for reconfiguration.

7 years agoomxaudioenc: Disable output port when setting a new format
Sebastian Dröge [Mon, 11 Mar 2013 09:29:44 +0000 (10:29 +0100)]
omxaudioenc: Disable output port when setting a new format