Josep Torra [Mon, 12 May 2014 10:33:32 +0000 (12:33 +0200)]
omxaudiosink: implement _delay only in the RaspberryPI
Make code implementation conditionally built for RaspberryPI because
OMX_IndexConfigAudioRenderingLatency seems to be a Broadcom extension.
On other targets the query position might not be accurate without
implementing _delay appropriatelly.
Sebastian Dröge [Mon, 12 May 2014 06:56:15 +0000 (08:56 +0200)]
omxaudioenc: Correctly scale nTickCount by OMX_TICKS_PER_SECOND
Sebastian Dröge [Sat, 10 May 2014 20:48:23 +0000 (22:48 +0200)]
omxaudioenc: Drain encoder on NULL buffer and don't drain on flushing
Sebastian Dröge [Sat, 10 May 2014 20:47:56 +0000 (22:47 +0200)]
omxvideodec: Set nTickCount based on the buffer's duration instead of something wrong
Sebastian Dröge [Sat, 10 May 2014 20:47:21 +0000 (22:47 +0200)]
omxvideoenc: Set nTickCount to the whole duration of the buffer instead of a wrong calculation
Sebastian Dröge [Sat, 10 May 2014 20:46:51 +0000 (22:46 +0200)]
omxaudiosink: Fix format string compiler warnings
Josep Torra [Fri, 4 Apr 2014 12:11:58 +0000 (14:11 +0200)]
omxaudiosink: Implements OpenMAX based audio sinks
Provides omxanalogaudiosink and omxhdmiaudiosink elements on
the Raspberry PI.
- omxanalogaudiosink is capable to render raw mono or stereo audio
through the jack output.
- omxhdmiaudiosink is capable to render raw audio up to 8 channels
and transmit ac3/dts(IEC 61937) through the HDMI output.
- sinks provide a clock derived from rendered samples
- sinks support the GstStreamVolume interface by implementing
the volume and mute properties.
https://bugzilla.gnome.org/show_bug.cgi?id=728962
Sebastian Dröge [Sat, 3 May 2014 08:17:35 +0000 (10:17 +0200)]
Automatic update of common submodule
From bcb1518 to 211fa5f
Julien Isorce [Tue, 29 Apr 2014 14:16:16 +0000 (15:16 +0100)]
omxvideodec: can negotiate caps with memory:EGLImage feature when using EGLImage allocator
Previously when using gst EGLImage allocator the caps was
video/x-raw, format=RGBA instead of
video/x-raw(memory:EGLImage), format=RGBA
Kepp previous behavior in case negotiation fails with caps feature.
It means it will still have a chance to use EGLImage even if the
feature is not in the caps.
https://bugzilla.gnome.org/show_bug.cgi?id=729196
Aurélien Zanelli [Wed, 23 Apr 2014 07:57:48 +0000 (09:57 +0200)]
omxvp8dec: fix typo in GST_TYPE_OMX_VP8_DEC define
https://bugzilla.gnome.org/show_bug.cgi?id=728774
Aurélien Zanelli [Wed, 16 Apr 2014 09:00:55 +0000 (11:00 +0200)]
omxvideodec: don't unref caps before logging field from it
https://bugzilla.gnome.org/show_bug.cgi?id=728322
Julien Isorce [Tue, 15 Apr 2014 16:30:13 +0000 (17:30 +0100)]
example: disable testegl since libgstegl has been removed
As decided in bug #703343
Not compatible with the new libgstgl API.
A portage has been started, attachment 272800.
https://bugzilla.gnome.org/show_bug.cgi?id=703343
Julien Isorce [Tue, 15 Apr 2014 16:11:08 +0000 (17:11 +0100)]
omxvideodec: use new libgstgl API since libgstegl has been removed
There is no point to retrieve a ref/unref type
instead of an EGLDisplay directly. It's like for EGLImage.
https://bugzilla.gnome.org/show_bug.cgi?id=703343
Julien Isorce [Tue, 15 Apr 2014 16:06:38 +0000 (17:06 +0100)]
configure.ac: check for libgstgl since libgstegl has been removed
https://bugzilla.gnome.org/show_bug.cgi?id=703343
Aurélien Zanelli [Wed, 9 Apr 2014 16:52:16 +0000 (18:52 +0200)]
omxvideodec: add support of more color format
Add support for ABGR, ARGB, RGB16, BGR16, YUY2, UYVY, YVYU, GRAY8 and
NV16 color format.
Aurélien Zanelli [Wed, 9 Apr 2014 16:51:57 +0000 (18:51 +0200)]
omxvideodec: simplify color format conversion in fill_buffer function
Aurélien Zanelli [Wed, 9 Apr 2014 16:51:41 +0000 (18:51 +0200)]
omxbufferpool: make video stride and offset calculation easier
It will be easier to support more color format.
Aurélien Zanelli [Wed, 9 Apr 2014 16:51:12 +0000 (18:51 +0200)]
omx: add an helper to convert OMX color format to GStreamer color format
Josep Torra [Mon, 10 Mar 2014 16:43:50 +0000 (17:43 +0100)]
omxvideodec: Implement pipeline draining to support adaptive scenarios
When draining due a format change also drain
the pipeline to reclaim back all buffers.
https://bugzilla.gnome.org/show_bug.cgi?id=726107
Josep Torra [Thu, 27 Mar 2014 12:57:32 +0000 (13:57 +0100)]
examples: fix several memory leaks in the testegl example
Ensure to call to image_data_free in order to release GPU resources.
Also ensure to destroy EGLImage and GLTexture from proper
thread/context.
https://bugzilla.gnome.org/show_bug.cgi?id=726107
Julien Isorce [Tue, 25 Mar 2014 17:16:31 +0000 (17:16 +0000)]
examples: keep a ref on the buffer instead of the memory
Like in eglglessink
https://bugzilla.gnome.org/show_bug.cgi?id=726107
Josep Torra [Fri, 7 Mar 2014 19:08:05 +0000 (20:08 +0100)]
omxvideodec: fixes race condition during seeks
Acording 6.1.3 Seek Event Sequence in the OpenMAX IL 1.1.2 spec
document in order to flush the component it needs to be in
paused state.
https://bugzilla.gnome.org/show_bug.cgi?id=726038
Julien Isorce [Wed, 29 Jan 2014 18:31:26 +0000 (18:31 +0000)]
omxvideodec: use flush because reset is deprecated
https://bugzilla.gnome.org/show_bug.cgi?id=726038
Julien Isorce [Mon, 27 Jan 2014 17:03:50 +0000 (17:03 +0000)]
omxvideodec: populate the most downstream output port on reset
Make seeking work when using egl_render component
https://bugzilla.gnome.org/show_bug.cgi?id=726038
Josep Torra [Mon, 24 Mar 2014 16:49:59 +0000 (17:49 +0100)]
omxbufferpool: return buffers to the pool instead of freeing them
We have to return the buffers back to the pool in when stopping to
not mess with the GstBufferPool accounting.
The OMX buffers will be freed when those won't be in charge of the
pool in the chained up call to 'stop'.
Fixes segfaults on finalize and pool not being properly deactivated.
https://bugzilla.gnome.org/show_bug.cgi?id=726337
Christian König [Wed, 19 Mar 2014 11:12:49 +0000 (12:12 +0100)]
omxvideodec: add missing unlock in the error path
Signed-off-by: Christian König <christian.koenig@amd.com>
https://bugzilla.gnome.org/show_bug.cgi?id=726958
Michal Lazo [Tue, 18 Mar 2014 22:36:59 +0000 (23:36 +0100)]
fix filemode
Julien Isorce [Mon, 17 Mar 2014 09:57:11 +0000 (09:57 +0000)]
omxbufferpool: fix memory leak if used on output port
When using GstOMXBufferPool on an output port, it internally uses
a GPtrArray to manage the GstBuffers instead of the default queue
from the GstBufferPool base class.
In this case GstBufferPool::default_free_buffer is not called when
the pool is stopped. Because the queue is empty. So explicitely
call gst_omx_buffer_pool_free_buffer on each buffer contained in
the GPtrArray.
https://bugzilla.gnome.org/show_bug.cgi?id=726337
Sebastian Dröge [Sun, 16 Mar 2014 16:32:05 +0000 (17:32 +0100)]
omxh264enc: Fix compiler warnings
Michal Lazo [Sun, 16 Mar 2014 16:19:08 +0000 (17:19 +0100)]
omxh264enc: IDR interval, SPS and PPS headers for rpi
https://bugzilla.gnome.org/show_bug.cgi?id=720031
Christian König [Thu, 13 Mar 2014 13:26:58 +0000 (14:26 +0100)]
omxvideo: fix debug category initialisation
https://bugzilla.gnome.org/show_bug.cgi?id=726024
Christian König [Thu, 13 Mar 2014 18:04:47 +0000 (19:04 +0100)]
omxbufferpool: add proper type definitions
https://bugzilla.gnome.org/show_bug.cgi?id=726325
Christian König [Sun, 2 Mar 2014 09:30:04 +0000 (10:30 +0100)]
omx: consolidate message waiting code
Add a wait_message helper function and remove all those duplicated code.
https://bugzilla.gnome.org/show_bug.cgi?id=725493
Sebastian Dröge [Wed, 12 Mar 2014 11:48:12 +0000 (12:48 +0100)]
omx: Copy old copyright notice into the new file
Sebastian Dröge [Wed, 12 Mar 2014 11:47:34 +0000 (12:47 +0100)]
omx: Rename function from _4_ to _for_ for clarity
Christian König [Mon, 3 Mar 2014 15:15:24 +0000 (16:15 +0100)]
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
Sebastian Dröge [Wed, 12 Mar 2014 11:43:49 +0000 (12:43 +0100)]
examples: Only build RPi EGL example if RPi was chosen as target
Sebastian Dröge [Wed, 12 Mar 2014 11:42:23 +0000 (12:42 +0100)]
omxbufferpool: Fix header include guard
Christian König [Wed, 5 Mar 2014 10:41:02 +0000 (11:41 +0100)]
omxvideodec: separate the buffer pool from the decoder
https://bugzilla.gnome.org/show_bug.cgi?id=726025
Christian König [Tue, 4 Mar 2014 16:41:20 +0000 (17:41 +0100)]
omx: simplify tunnel functions
Specifying the component is error prone and unnecessary.
https://bugzilla.gnome.org/show_bug.cgi?id=726021
Christian König [Fri, 7 Mar 2014 16:12:24 +0000 (17:12 +0100)]
omxvideodec: fix memory leak in gst_omx_video_dec_allocate_output_buffers
https://bugzilla.gnome.org/show_bug.cgi?id=725907
Christian König [Fri, 7 Mar 2014 12:18:49 +0000 (13:18 +0100)]
omxvideodec: fix memory leak gst_omx_video_dec_negotiate
https://bugzilla.gnome.org/show_bug.cgi?id=725907
Christian König [Wed, 5 Mar 2014 17:54:05 +0000 (18:54 +0100)]
omxvideoenc: fix a memory leak in gst_omx_video_enc_getcaps
https://bugzilla.gnome.org/show_bug.cgi?id=725826
Josep Torra [Wed, 5 Mar 2014 16:43:33 +0000 (17:43 +0100)]
Makefile.am: build examples
There's no reason to not build the examples now that are ported to 1.x.
Josep Torra [Wed, 5 Mar 2014 16:25:09 +0000 (17:25 +0100)]
examples: avoid a clashing name with the recently added GstEGLImagePool
Fixes build with current master.
Christian König [Thu, 5 Sep 2013 09:41:10 +0000 (03:41 -0600)]
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
Christian König [Thu, 5 Sep 2013 08:23:39 +0000 (02:23 -0600)]
omxvideodec: simplify _find_nearest_frame
No need to make it more complicated and error prone than
necessary. Also give the function a gst_omx_video_dec prefix
to distinct it from the encoder function.
https://bugzilla.gnome.org/show_bug.cgi?id=724236
Christian König [Thu, 5 Sep 2013 08:05:52 +0000 (02:05 -0600)]
omxvideodec: remove dead code
This code doesn't seems to be used for quite a while,
remove it before it starts to rot.
https://bugzilla.gnome.org/show_bug.cgi?id=724236
Christian König [Sat, 1 Mar 2014 21:28:24 +0000 (22:28 +0100)]
omx: fix two serious message handling bugs
Waiting for the next message if we already got one
is nonsense and can lead to lockups.
https://bugzilla.gnome.org/show_bug.cgi?id=725468
Christian König [Sat, 1 Mar 2014 17:49:41 +0000 (18:49 +0100)]
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>
Christian König [Sat, 1 Mar 2014 17:48:17 +0000 (18:48 +0100)]
omxvideodec: 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>
Sebastian Dröge [Fri, 28 Feb 2014 08:36:13 +0000 (09:36 +0100)]
Automatic update of common submodule
From fe1672e to bcb1518
Stefan Sauer [Wed, 26 Feb 2014 21:15:00 +0000 (22:15 +0100)]
Automatic update of common submodule
From 1a07da9 to fe1672e
Edward Hervey [Thu, 30 Jan 2014 09:45:18 +0000 (10:45 +0100)]
Automatic update of common submodule
From d48bed3 to 1a07da9
Sebastian Dröge [Sat, 25 Jan 2014 16:44:14 +0000 (17:44 +0100)]
omx: Don't handle FLUSHING and NOT_LINKED as errors
Also don't stop the task on NOT_LINKED. We're not a demuxer.
Tim-Philipp Müller [Sun, 22 Dec 2013 22:35:31 +0000 (22:35 +0000)]
Automatic update of common submodule
From dbedaa0 to d48bed3
Tim-Philipp Müller [Tue, 5 Nov 2013 11:22:02 +0000 (11:22 +0000)]
Automatic update of common submodule
From 865aa20 to dbedaa0
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.
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
Tim-Philipp Müller [Tue, 24 Sep 2013 17:34:42 +0000 (18:34 +0100)]
Automatic update of common submodule
From 6b03ba7 to 865aa20
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.
Josep Torra [Fri, 20 Sep 2013 15:19:53 +0000 (17:19 +0200)]
rpi: fix a copy paste error in the config file
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.
Josep Torra [Fri, 20 Sep 2013 08:38:12 +0000 (10:38 +0200)]
examples: display QoS statistics
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.
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.
Josep Torra [Fri, 20 Sep 2013 06:19:48 +0000 (08:19 +0200)]
examples: drop remnants of initial appsink attempt
Edward Hervey [Fri, 20 Sep 2013 14:18:18 +0000 (16:18 +0200)]
Automatic update of common submodule
From b613661 to 6b03ba7
Tim-Philipp Müller [Thu, 19 Sep 2013 17:45:36 +0000 (18:45 +0100)]
Automatic update of common submodule
From 74a6857 to b613661
Tim-Philipp Müller [Thu, 19 Sep 2013 16:38:30 +0000 (17:38 +0100)]
Automatic update of common submodule
From 01a7a46 to 74a6857
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
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
Ilya Smelykh [Sun, 30 Jun 2013 11:17:05 +0000 (18:17 +0700)]
examples: enable audio in testegl example
Sebastian Dröge [Wed, 12 Jun 2013 07:38:22 +0000 (09:38 +0200)]
configure: Allow build without gstreamer-egl
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
Sebastian Dröge [Wed, 5 Jun 2013 13:17:16 +0000 (15:17 +0200)]
Automatic update of common submodule
From 098c0d7 to 01a7a46
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.
Sebastian Dröge [Wed, 15 May 2013 08:54:12 +0000 (10:54 +0200)]
Automatic update of common submodule
From 5edcd85 to 098c0d7
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.
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.
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.
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
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
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
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).
Tim-Philipp Müller [Mon, 22 Apr 2013 22:55:03 +0000 (23:55 +0100)]
Automatic update of common submodule
From 3cb3d3c to 5edcd85
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.
Josep Torra [Thu, 18 Apr 2013 14:40:06 +0000 (16:40 +0200)]
omx: fixes unused variable 'comp' when GStreamer is built without debug
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.
Josep Torra [Thu, 18 Apr 2013 13:21:32 +0000 (15:21 +0200)]
omxvideodec: fixes 'port' may be used uninitialized in this function
Josep Torra [Thu, 18 Apr 2013 10:03:31 +0000 (12:03 +0200)]
omxvideodec: silence warnings building for RPI related to 'vcos_*'
Josep Torra [Thu, 18 Apr 2013 09:19:52 +0000 (11:19 +0200)]
omxvideodec: Use new type from libgstvideo
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
Sebastian Dröge [Wed, 24 Oct 2012 10:19:41 +0000 (12:19 +0200)]
gst: Add better support for static plugins
Tim-Philipp Müller [Sun, 14 Apr 2013 16:57:34 +0000 (17:57 +0100)]
Automatic update of common submodule
From aed87ae to 3cb3d3c
Tim-Philipp Müller [Fri, 12 Apr 2013 16:58:30 +0000 (17:58 +0100)]
configure: add --disable-fatal-warnings for disabling -Werror
Stefan Sauer [Tue, 9 Apr 2013 19:02:09 +0000 (21:02 +0200)]
Automatic update of common submodule
From 04c7a1e to aed87ae
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.
Josep Torra [Mon, 8 Apr 2013 14:52:19 +0000 (16:52 +0200)]
omxvideodec: use the correct printf format in a debug message
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.