Commit graph

578 commits

Author SHA1 Message Date
Josep Torra
b3eb4d897d 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
2014-05-09 13:15:18 +02:00
Sebastian Dröge
893587f69c Automatic update of common submodule
From bcb1518 to 211fa5f
2014-05-03 10:17:35 +02:00
Julien Isorce
bdec8c0595 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
2014-05-02 18:00:48 +01:00
Aurélien Zanelli
420b0b62d3 omxvp8dec: fix typo in GST_TYPE_OMX_VP8_DEC define
https://bugzilla.gnome.org/show_bug.cgi?id=728774
2014-04-23 10:34:52 +02:00
Aurélien Zanelli
da4cf3da1f omxvideodec: don't unref caps before logging field from it
https://bugzilla.gnome.org/show_bug.cgi?id=728322
2014-04-17 09:33:47 +02:00
Julien Isorce
21b3c2b16a 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
2014-04-15 18:32:12 +01:00
Julien Isorce
499fb23e9c 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
2014-04-15 18:32:12 +01:00
Julien Isorce
d4bb7cb4c7 configure.ac: check for libgstgl since libgstegl has been removed
https://bugzilla.gnome.org/show_bug.cgi?id=703343
2014-04-15 18:32:12 +01:00
Aurélien Zanelli
1b6879921c omxvideodec: add support of more color format
Add support for ABGR, ARGB, RGB16, BGR16, YUY2, UYVY, YVYU, GRAY8 and
NV16 color format.
2014-04-15 15:09:24 +01:00
Aurélien Zanelli
f5f876f681 omxvideodec: simplify color format conversion in fill_buffer function 2014-04-15 15:09:24 +01:00
Aurélien Zanelli
6834d2e0b3 omxbufferpool: make video stride and offset calculation easier
It will be easier to support more color format.
2014-04-15 15:09:23 +01:00
Aurélien Zanelli
c115da9fd5 omx: add an helper to convert OMX color format to GStreamer color format 2014-04-15 15:09:23 +01:00
Josep Torra
718fd1bb93 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
2014-03-28 11:40:20 +00:00
Josep Torra
5724df7523 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
2014-03-28 11:40:20 +00:00
Julien Isorce
6995b4d5b3 examples: keep a ref on the buffer instead of the memory
Like in eglglessink

https://bugzilla.gnome.org/show_bug.cgi?id=726107
2014-03-28 11:40:20 +00:00
Josep Torra
73d83f311c 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
2014-03-25 16:07:25 +00:00
Julien Isorce
39ca9f980e omxvideodec: use flush because reset is deprecated
https://bugzilla.gnome.org/show_bug.cgi?id=726038
2014-03-25 16:07:15 +00:00
Julien Isorce
777411c286 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
2014-03-25 16:06:51 +00:00
Josep Torra
100e9f998d 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
2014-03-24 18:20:51 +00:00
Christian König
651e67e32d 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
2014-03-24 11:11:39 +00:00
Michal Lazo
c832b03b3b fix filemode 2014-03-19 08:53:02 +01:00
Julien Isorce
e8ca74c6f8 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
2014-03-17 18:02:51 +00:00
Sebastian Dröge
922d036ae7 omxh264enc: Fix compiler warnings 2014-03-16 17:32:05 +01:00
Michal Lazo
e55bf0a4c5 omxh264enc: IDR interval, SPS and PPS headers for rpi
https://bugzilla.gnome.org/show_bug.cgi?id=720031
2014-03-16 17:31:01 +01:00
Christian König
8a860bd024 omxvideo: fix debug category initialisation
https://bugzilla.gnome.org/show_bug.cgi?id=726024
2014-03-15 12:42:03 +01:00
Christian König
0ea0eb1579 omxbufferpool: add proper type definitions
https://bugzilla.gnome.org/show_bug.cgi?id=726325
2014-03-15 11:26:36 +01:00
Christian König
0700d6875f 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
2014-03-12 14:04:57 +01:00
Sebastian Dröge
6b28cf0378 omx: Copy old copyright notice into the new file 2014-03-12 12:48:12 +01: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
Sebastian Dröge
c4426a49db examples: Only build RPi EGL example if RPi was chosen as target 2014-03-12 12:43:49 +01:00
Sebastian Dröge
e9b7dc230b omxbufferpool: Fix header include guard 2014-03-12 12:42:23 +01:00
Christian König
325c90f99d omxvideodec: separate the buffer pool from the decoder
https://bugzilla.gnome.org/show_bug.cgi?id=726025
2014-03-12 12:42:03 +01:00
Christian König
de5f940186 omx: simplify tunnel functions
Specifying the component is error prone and unnecessary.

https://bugzilla.gnome.org/show_bug.cgi?id=726021
2014-03-12 08:48:46 +01:00
Christian König
14a0da437f omxvideodec: fix memory leak in gst_omx_video_dec_allocate_output_buffers
https://bugzilla.gnome.org/show_bug.cgi?id=725907
2014-03-08 15:23:59 +01:00
Christian König
5ac0fe2108 omxvideodec: fix memory leak gst_omx_video_dec_negotiate
https://bugzilla.gnome.org/show_bug.cgi?id=725907
2014-03-08 15:22:15 +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
Josep Torra
fefc5b7cbc Makefile.am: build examples
There's no reason to not build the examples now that are ported to 1.x.
2014-03-05 21:19:10 +01:00
Josep Torra
6962aa5d4c examples: avoid a clashing name with the recently added GstEGLImagePool
Fixes build with current master.
2014-03-05 21:18:43 +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
2cfe70ed5d 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
2014-03-03 20:12:51 +01:00
Christian König
bf0d2614c3 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
2014-03-03 20:12:35 +01:00
Christian König
8b06b07f6f 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
2014-03-02 12:09:59 +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
Christian König
0a8cfcde87 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>
2014-03-02 12:08:09 +01:00
Sebastian Dröge
289ecfe35c Automatic update of common submodule
From fe1672e to bcb1518
2014-02-28 09:36:13 +01:00
Stefan Sauer
3c6ffbb0ae Automatic update of common submodule
From 1a07da9 to fe1672e
2014-02-26 22:15:00 +01:00
Edward Hervey
c44cd84940 Automatic update of common submodule
From d48bed3 to 1a07da9
2014-01-30 10:45:18 +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
Tim-Philipp Müller
8b4ef3e1e5 Automatic update of common submodule
From dbedaa0 to d48bed3
2013-12-22 22:35:31 +00:00