Commit graph

723 commits

Author SHA1 Message Date
Sebastian Dröge
4d61049041 examples: #define GST_USE_UNSTABLE_API for libgstgl 2014-06-30 15:00:54 +02:00
Sebastian Dröge
33e083fff6 omxh264enc: Properly accumulate headers and push before the next frame
Fixes output of encoding on RPi, where each header buffer (SPS and PPS)
is in a separate OMX buffer.

https://bugzilla.gnome.org/show_bug.cgi?id=726669
2014-06-29 19:10:19 +02:00
Sebastian Dröge
0a60770a28 omxvideoenc: Implement flush() instead of the deprecated reset() 2014-06-29 19:04:54 +02:00
Sebastian Dröge
d08002841b rpi: It's 44100Hz, not 41400Hz 2014-06-25 17:14:41 +02:00
Julien Isorce
961b108a92 configure.ac: require gstgl >= 1.3.3 2014-06-25 11:12:51 +01:00
Julien Isorce
e1a1e5f335 example: enable testegl
See https://bugzilla.gnome.org/show_bug.cgi?id=728940
2014-06-25 10:50:54 +01:00
Julien Isorce
3d0b891e42 testegl: do matrix mutlplication in the shader
See https://bugzilla.gnome.org/show_bug.cgi?id=728940
2014-06-25 10:50:54 +01:00
Julien Isorce
91c6e34217 testegl: add a comment for the parse command
See https://bugzilla.gnome.org/show_bug.cgi?id=728940
2014-06-25 10:50:54 +01:00
Julien Isorce
31cd1fd77b testegl: convert code from GLESv1 to GLESv2
See https://bugzilla.gnome.org/show_bug.cgi?id=728940
2014-06-25 10:50:54 +01:00
Julien Isorce
f1c76ef921 testegl: port to gstgl API
- append a glfilter just before fakesink
  So that we get gltexture or eglimages

- propagate our EGLDisplay to the pipeline
  see GST_QUERY_CONTEXT

- share our EGLContext with the iternal gl context
  of the pipeline, see GST_QUERY_ALLOCATION

- use GstVideoGLTextureUploadMeta to upload
  the incoming gltexture or eglimage to our gl texture

TODO: convert from GLESv1 to GLESv2

See https://bugzilla.gnome.org/show_bug.cgi?id=728940
2014-06-25 10:50:54 +01:00
Sebastian Dröge
4593f434a0 omxbufferpool: Copy buffers if the stride does not match and we can't use video meta
https://bugzilla.gnome.org/show_bug.cgi?id=731672
2014-06-24 15:11:53 +02:00
Sebastian Dröge
b9238195dd omx: Only include OMX_VideoExt.h conditionally
It does not exist on the RPi for example.
2014-06-24 14:52:43 +02:00
Sebastian Dröge
c0183cc313 configure.ac: Require GStreamer core/base >= 1.2.2
Needed at least for gst_video_decoder_release_frame().
2014-06-24 13:59:44 +02:00
Sebastian Dröge
af38fe7dce omxbufferpool: Fix format string compiler warning 2014-06-24 13:02:13 +02:00
Michal Lazo
326e15ca85 omxbufferpool: Initialize debug category 2014-06-24 13:01:48 +02:00
Sebastian Dröge
03c54e7c0f omxbufferpool: Properly convert OMX alignment to GStreamer alignment
GStreamer uses a bitmask for the alignment while OMX uses the
alignment itself. Let's convert.

https://bugzilla.gnome.org/show_bug.cgi?id=710564
2014-06-24 12:42:22 +02:00
Sebastian Dröge
6617d6f577 omxh264enc: Don't let baseclass finish frames for SPS/PPS buffers
Otherwise we a) send them twice, and b) finish a frame for something
that does not even include a frame.

https://bugzilla.gnome.org/show_bug.cgi?id=726669
2014-06-24 11:11:28 +02:00
Sebastian Dröge
b496a6d6f2 omxvideo: Include the separate headers too for compatibility with 1.0.x 2014-06-24 10:22:37 +02:00
Zhao, Halley
38a07c5386 omxvp8dec: use VP8 definition from OMX_VideoExt.h
https://bugzilla.gnome.org/show_bug.cgi?id=726957
2014-06-24 10:21:07 +02:00
Zhao, Halley
0b2f5791f0 configure: add --with-omx-header-path option for external omx headers
https://bugzilla.gnome.org/show_bug.cgi?id=726957
2014-06-24 10:20:09 +02:00
Aurélien Zanelli
58aa603b36 omxvideodec: fix a query leak
Also add a debug message if query fails.

https://bugzilla.gnome.org/show_bug.cgi?id=731898
2014-06-20 11:54:25 +02:00
Aurélien Zanelli
ad969ffda3 omxvideodec: release frames with old PTS to avoid memory issue
Interlaced stream could make the decoder use two input frames to produce
one output frame causing the gstvideodecoder frame list to grow.
Assuming the video decoder output frame in display order rather than in
decoding order, this commit add a way to release frames with PTS less
than current output frame.

https://bugzilla.gnome.org/show_bug.cgi?id=730995
2014-06-04 16:36:02 +02:00
Kazunori Kobayashi
4c488d425d omx: Fix a missing g_free() in error path
This fixes a memory leak with g_strdup() when an error occurs.

https://bugzilla.gnome.org/show_bug.cgi?id=731141
2014-06-03 09:23:41 +02:00
Aurélien Zanelli
3ed713db0d omxvideodec: add missing stream unlock in error path 2014-06-02 19:28:51 +02:00
Sebastian Dröge
190adce125 omx: Don't handle disabling/enabling ports exactly like flushing
Otherwise we might abort a flush operation in another thread when
enabling/disabling ports, leading to deadlocks sometimes.

https://bugzilla.gnome.org/show_bug.cgi?id=730989
2014-05-31 15:12:05 +02:00
Sebastian Dröge
bf7e6109d9 omxvideodec: Don't leak buffer pool config in error cases
CID 1216158
2014-05-26 11:03:03 +02:00
Sebastian Dröge
8ebc7d2b5a Automatic update of common submodule
From 211fa5f to 1f5d3c3
2014-05-21 10:53:43 +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
e542177c65 omxvideodec: Make output buffer pointer always initialized
CID 1214605
2014-05-19 09:08:33 +02:00
Sebastian Dröge
c2e5dca5f0 omxvideodec: Check return value of gst_buffer_map()
CID 1214599
2014-05-19 09:06:42 +02:00
Sebastian Dröge
429b0e1e27 omxvideodec: Check return value of gst_omx_port_set_enabled() for errors
CID 1214589
2014-05-19 09:04:09 +02:00
Sebastian Dröge
e08c0dc88a omxvideodec: Check return values of buffer pool config parsing functions
CID 1214588
2014-05-19 09:01:46 +02:00
Sebastian Dröge
59ac1dd03b omx: Remove dead code, buf can never be NULL here as we just check for that the line above
CID 1214596
2014-05-19 08:48:50 +02:00
Sebastian Dröge
800ef8ab14 omx: Fix comparisons in gst_omx_state_to_string() case to actually make sense
CID 1214593
2014-05-19 08:47:36 +02:00
Sebastian Dröge
7b558e37bc omx: Make sure to compare the error codes as unsigned integers so that comparisons >2**31 actually work
CID 1214592
2014-05-19 08:47:33 +02:00
Sebastian Dröge
93528dc43b omx: Fix comparisons in gst_omx_command_to_string() default cause to actually work
CID 1214591
2014-05-19 08:44:55 +02:00
Sebastian Dröge
2c3797acfe omxaudioenc: 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:22:56 +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
4e20116bc6 omx: Add a 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 10:59:35 +02:00
Josep Torra
e08540d969 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.
2014-05-12 12:33:32 +02:00
Sebastian Dröge
527af797d2 omxaudioenc: Correctly scale nTickCount by OMX_TICKS_PER_SECOND 2014-05-12 08:56:15 +02:00
Sebastian Dröge
14af0f266e omxaudioenc: Drain encoder on NULL buffer and don't drain on flushing 2014-05-10 22:48:23 +02:00
Sebastian Dröge
cfbf5bf16d omxvideodec: Set nTickCount based on the buffer's duration instead of something wrong 2014-05-10 22:47:56 +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
cef3fb5fc3 omxaudiosink: Fix format string compiler warnings 2014-05-10 22:46:51 +02:00
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