1 === release 1.13.90 ===
3 2018-03-03 23:00:59 +0000 Tim-Philipp Müller <tim@centricular.com>
12 2018-03-03 20:21:06 +0000 Tim-Philipp Müller <tim@centricular.com>
15 config: dist tizonia config files
17 2018-03-02 11:06:08 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
20 Revert "omx: wait for flush complete and buffers being released when flushing"
21 This reverts commit 4211e4c29a262f110cb92ddf9c06b403ced233ef.
23 2018-02-21 12:50:42 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
25 * omx/gstomxvideoenc.c:
26 videoenc: don't set stride padding to 0 when copying frames
27 Padding can be left undefined there is no point filling it with 0.
28 https://bugzilla.gnome.org/show_bug.cgi?id=793694
30 2018-02-16 11:50:35 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
32 * omx/gstomxbufferpool.c:
33 * omx/gstomxh264enc.c:
34 * omx/gstomxh265enc.c:
36 * omx/gstomxvideodec.c:
37 * omx/gstomxvideoenc.c:
38 add support for NV12_10LE32 and NV16_10LE32 on zynqultrascaleplus
39 The encoder and decoder on zynqultrascaleplus support these new 10 bits
41 https://bugzilla.gnome.org/show_bug.cgi?id=793694
43 2018-02-16 11:46:47 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
45 * omx/gstomxvideoenc.c:
46 omxvideoenc: factor out gst_omx_video_enc_nv12_manual_copy()
47 No semantic change, I'm going to re-use it to copy the NV12_10LE32
49 https://bugzilla.gnome.org/show_bug.cgi?id=793694
51 2018-01-17 10:40:49 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
53 * omx/gstomxvideoenc.c:
54 omxvideoenc: display the computed buffer size when configuring input
55 https://bugzilla.gnome.org/show_bug.cgi?id=793694
57 2018-02-06 14:25:57 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
59 * omx/gstomxvideoenc.c:
60 * omx/gstomxvideoenc.h:
61 videoenc: implement ROI on zynqultrascaleplus
62 Check input buffers for ROI meta and pass them to the encoder by using
63 zynqultrascaleplus's custom OMX extension. Also add a new
64 "default-roi-quality" in order to tell the encoder what quality level
65 should be applied to ROI by default.
66 https://bugzilla.gnome.org/show_bug.cgi?id=793696
68 2018-02-14 17:23:39 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
70 * omx/gstomxvideoenc.c:
71 omxvideoenc: remove GST_PARAM_MUTABLE_PLAYING from 'max-bitrate' property
72 This property isn't actually mutable in the PLAYING state.
73 https://bugzilla.gnome.org/show_bug.cgi?id=793458
75 2018-02-14 17:20:02 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
77 * omx/gstomxvideoenc.c:
78 * omx/gstomxvideoenc.h:
79 omxvideoenc: protect target_bitrate with the object lock
80 The 'target-bitrate' property can be changed while PLAYING
81 (GST_PARAM_MUTABLE_PLAYING). Make it thread-safe to prevent concurrent
82 accesses between the application and streaming thread.
83 https://bugzilla.gnome.org/show_bug.cgi?id=793458
85 2018-02-20 11:46:49 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
87 * omx/gstomxbufferpool.c:
88 omxbufferpool: add PERFORMANCE DEBUG message when copying output frames
89 I spent quiet some time figuring out why performance of my pipeline were
90 terrible. Turned out it was because of output frames being copied
91 because of stride/offset mismatch.
92 Add a PERFORMANCE DEBUG message to make it easier to spot and debug from logs.
93 https://bugzilla.gnome.org/show_bug.cgi?id=793637
95 2018-02-15 19:44:37 +0000 Tim-Philipp Müller <tim@centricular.com>
101 === release 1.13.1 ===
103 2018-02-15 17:50:14 +0000 Tim-Philipp Müller <tim@centricular.com>
112 2017-06-30 15:15:06 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
114 * omx/gstomxh265enc.c:
115 omxh265enc: fix typo in "periodicty-idr" property name
116 Also fix the 'nick' of the property.
117 omxh265enc is based on the code from omxh264enc and suffers the same
118 typo as we fixed in https://bugzilla.gnome.org/show_bug.cgi?id=784370
119 This element isn't part of a stable release yet so it's not an API
121 https://bugzilla.gnome.org/show_bug.cgi?id=793390
123 2018-02-08 19:18:59 +0000 Tim-Philipp Müller <tim@centricular.com>
126 meson: make version numbers ints and fix int/string comparison
127 WARNING: Trying to compare values of different types (str, int).
128 The result of this is undefined and will become a hard error
129 in a future Meson release.
130 Also remove unused libversion/soversion.
132 2017-12-12 16:50:00 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
137 include all OMX extension headers if present
138 The OMX specs defines 8 headers that implementations can use to define
139 their custom extensions. We were checking and including 3 and ignoring
141 https://bugzilla.gnome.org/show_bug.cgi?id=792043
143 2018-01-30 10:31:03 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
148 meson: simplify OMX extensions detection
149 We are now always checking which files are present or not, even when using our
150 internal copy of OMX, rather than hardcoding the ones present in it.
151 https://bugzilla.gnome.org/show_bug.cgi?id=792043
153 2018-01-30 11:54:24 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
158 Revert "meson: use include_directories() with external OMX headers path"
159 This reverts commit 9d37a92a615e54e8ee12f8c65bcfe386ec9de2d0.
161 2017-11-27 14:52:10 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
163 * omx/gstomxh265enc.c:
164 * omx/gstomxh265enc.h:
165 omxh265enc: add some encoding properties
166 constrained-intra-prediction and loop-filter-mode.
167 Those map standard OMX settings.
168 https://bugzilla.gnome.org/show_bug.cgi?id=792528
170 2017-11-23 15:54:15 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
172 * omx/gstomxh264enc.c:
173 * omx/gstomxh264enc.h:
174 omxh264enc: add some encoding properties
175 entropy-mode, constrained-intra-prediction and loop-filter-mode.
176 Those map standard OMX settings.
177 https://bugzilla.gnome.org/show_bug.cgi?id=792528
179 2017-06-08 12:31:21 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
181 * omx/gstomxvideoenc.c:
182 * omx/gstomxvideoenc.h:
183 omxvideoenc: add zynqultrascaleplus specific properties
184 https://bugzilla.gnome.org/show_bug.cgi?id=792528
186 2017-10-31 12:24:39 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
188 * omx/gstomxvideoenc.c:
189 omxvideoenc: document unit of target-bitrate property
190 nTargetBitrate and nEncodeBitrate are defined in bits per second in the
192 https://bugzilla.gnome.org/show_bug.cgi?id=792528
194 2017-07-06 10:18:48 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
196 * omx/gstomxvideodec.c:
197 * omx/gstomxvideodec.h:
198 omxvideodec: add internal-entropy-buffers property on zynqultrascaleplus
199 Custom property to control the number of internal buffers used in the
200 decoder to smooth out entropy decoding performance.
201 https://bugzilla.gnome.org/show_bug.cgi?id=792528
203 2018-01-30 10:31:03 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
208 meson: use include_directories() with external OMX headers path
209 It seems cleaner to use the proper meson tools to include this path
210 rather than manually tweak the build flags.
211 This also allows us to simplify the OMX extensions detection code. We
212 are now always checking which files are present, even when using our
213 internal copy of OMX, rather than hardcoding the ones present in it.
214 https://bugzilla.gnome.org/show_bug.cgi?id=792043
216 2017-11-07 15:09:35 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
218 * omx/gstomxvideoenc.c:
219 omxvideoenc: expose chroma format and bit depth in output caps
220 As we added in the parser (bgo#792039) expose the chroma and bit
221 depth information in output caps.
222 https://bugzilla.gnome.org/show_bug.cgi?id=792040
224 2017-11-07 14:30:45 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
226 * omx/gstomxvideoenc.c:
227 omxvideoenc: factor out get_output_caps()
228 No semantic change so far.
229 https://bugzilla.gnome.org/show_bug.cgi?id=792040
231 2017-12-29 11:59:36 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
233 * config/zynqultrascaleplus/gstomx.conf:
236 * omx/gstomxvideodec.c:
237 omxvideodec: add hack to pass color format from caps to OMX decoder
238 This hack tries to pass as much information as possible from caps to the
239 decoder before it receives any buffer. These information can be used by
240 the OMX decoder to, for example, pre-allocate its internal buffers
241 before starting to decode and so reduce its initial latency.
242 This mechanism is currently supported by the zynqultrascaleplus decoder.
243 https://bugzilla.gnome.org/show_bug.cgi?id=792040
245 2017-12-01 12:43:19 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
248 log failing OMX calls as errors
249 I find it confusing when debugging that OMX calls returning an error
250 where not logged as GST_LEVEL_ERROR making them harder to spot.
251 Fix this by introducing simple log macros checking the return value of
252 the OMX call and logging failures as errors.
253 https://bugzilla.gnome.org/show_bug.cgi?id=791069
255 2017-10-30 11:59:19 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
258 add OMX_PERFORMANCE debug category
259 Can be used to log buffers exchange between OMX and gst-omx to profile
260 performances of the OMX component.
261 Ideally this should be done using tracer hooks but it's currently not
262 possible to define custom hooks outside of core.
263 Use GST_DEBUG="OMX_PERFORMANCE:8" to enable it.
265 https://github.com/gdesmott/gst-log-parser/blob/master/src/bin/omx-perf.rs
266 as a simple program consuming those logs to generate gnuplot files and
268 https://bugzilla.gnome.org/show_bug.cgi?id=791093
270 2017-07-27 11:21:59 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
274 * omx/gstomxvideoenc.c:
275 * omx/gstomxvideoenc.h:
276 omxvideoenc: implement dmabuf import on zynqultrascaleplus
277 The Zynq UltraScale+ encoder implements a custom OMX extension to
278 directly import dmabuf saving the need of mapping input buffers.
279 This can be use with either 'v4l2src io-mode=dmabuf' or an OMX video
281 https://bugzilla.gnome.org/show_bug.cgi?id=792361
283 2017-09-22 16:02:40 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
285 * omx/gstomxvideoenc.c:
286 omxvideoenc: drop late input frames if QoS is enabled
287 Make use of the new GstVideoEncoder QoS API to drop late input frames. This may
288 help a live pipeline to catch up if it's being late and all frames end up
289 being dropped at the sink.
290 https://bugzilla.gnome.org/show_bug.cgi?id=792783
292 2018-01-19 15:18:23 +0530 Ashish Kumar <kr.ashish@samsung.com>
294 * examples/egl/testegl.c:
295 TestEgl: Removed redundant/unused code
296 https://bugzilla.gnome.org/show_bug.cgi?id=788550
298 2018-01-03 16:07:18 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
300 * omx/gstomxvideoenc.c:
301 omxvideoenc: early return in fill_buffer() if something goes wrong
302 If something goes wrong while trying to manually copy the input buffer,
303 the 'break' was moving us out of the 'for' loop but not out of the switch block.
304 So we ended up calling gst_video_frame_unmap() a second time (raising
305 assertions) and returning TRUE rather than FALSE.
306 Reproduced with a WIP zynqultrascaleplus OMX branch reporting wrong
307 buffer sizes and so triggering this bug.
308 https://bugzilla.gnome.org/show_bug.cgi?id=792167
310 2017-12-19 16:09:41 +0000 Tim-Philipp Müller <tim@centricular.com>
313 meson: gl: the winsys and platform list in the .pc file is space-separated
315 2017-12-19 16:08:58 +0000 Tim-Philipp Müller <tim@centricular.com>
318 meson: fix subproject fallback for gstreamer-gl-1.0
321 2017-12-12 17:30:27 +0000 Julien Isorce <jisorce@oblong.com>
325 * omx/gstomxvideodec.c:
326 omxvideodec: ignore very little variations of the framerate
328 The dynamic format change should not happen when the
329 resolution does not change and when only the framerate
330 changes but very slightly, i.e. from 50000/1677=29.81
331 to 89/3=29.66 so a "percentage change" of less than 1%
332 (i.e. 100*(29.81-29.66)/29.66 = 0.50 < 1 ). In that case
333 just ignore it to avoid unnecessary renegotiation.
334 https://bugzilla.gnome.org/show_bug.cgi?id=759043
336 2017-08-09 12:07:33 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
338 * omx/gstomxvideodec.c:
339 * omx/gstomxvideodec.h:
340 omxvideodec: use dynamic buffer mode on input if possible
341 Prevent from copying the input buffers between GStreamer and OMX.
342 Tested on zynqultrascaleplus and rpi (without dynamic buffers).
343 https://bugzilla.gnome.org/show_bug.cgi?id=787093
345 2017-07-20 16:35:31 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
347 * omx/gstomxvideoenc.c:
348 * omx/gstomxvideoenc.h:
349 omxvideoenc: use dynamic buffer mode on input if possible
350 If the OMX component supports dynamic buffer mode and the input buffers
351 are properly aligned avoid copying each input frame between OMX and
353 Tested on zynqultrascaleplus and rpi (without dynamic buffers).
354 https://bugzilla.gnome.org/show_bug.cgi?id=787093
356 2017-07-20 12:56:37 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
358 * omx/gstomxvideodec.c:
359 * omx/gstomxvideoenc.c:
360 omxvideoenc/dec: factor out input buffer allocation
361 No semantic change so far. I'm going to add an alternate way to allocate
363 https://bugzilla.gnome.org/show_bug.cgi?id=787093
365 2017-07-20 16:31:54 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
369 omx: add API to implement dynamic buffers support
370 OMX 1.2.0 introduced a third way to manage buffers by allowing
371 components to only allocate buffers header during their initialization
372 and change their pBuffer pointer at runtime.
373 This new feature can save us a copy between GStreamer and OMX for each
375 This patch adds API to allocate and use such buffers.
376 https://bugzilla.gnome.org/show_bug.cgi?id=787093
378 2017-12-14 14:53:17 +1100 Matthew Waters <matthew@centricular.com>
381 Automatic update of common submodule
382 From e8c7a71 to 3fa2c9e
384 2017-12-13 12:06:40 +0000 Julien Isorce <jisorce@oblong.com>
386 * omx/gstomxvideodec.c:
387 omxvideodec: consolidate the decision to try UseBuffer
388 The tee element can call gst_query_add_allocation_pool with pool as NULL.
389 Checking nth > 0 is not enough so we need to verify if there is a pool.
390 https://bugzilla.gnome.org/show_bug.cgi?id=730758
391 https://bugzilla.gnome.org/show_bug.cgi?id=784069
393 2017-12-12 14:45:30 +0000 Julien Isorce <jisorce@oblong.com>
397 * omx/gstomxvideodec.c:
398 * omx/gstomxvideoenc.c:
399 gstomxvideodec: fix framerate overflow
400 Some live streams can set the framerate to 50000/1677 (=29.81).
401 GstVideoInfo.fps_n << 16 is wrong if the fps_n is 50000
402 (i.e. greater than 32767).
403 https://bugzilla.gnome.org/show_bug.cgi?id=759043
405 2017-08-22 13:48:26 +0100 Julien Isorce <jisorce@oblong.com>
408 * examples/egl/Makefile.am:
409 * examples/egl/meson.build:
410 * examples/egl/testegl.c:
412 example: port testegl.c to desktop
413 Will be easier to maintain.
414 Also uniformize autotool build with meson build which is
415 already retrieving the gl libs.
416 https://bugzilla.gnome.org/show_bug.cgi?id=781606
418 2017-12-11 15:55:44 +0000 Julien Isorce <jisorce@oblong.com>
421 meson: move omx features check after target selection
422 And uses gst_omx_args instead of add_global_arguments.
423 Similar to c69232852120d064c689caef07b3c68ad8fe6288
424 which was only for configure.ac
425 Useful to get omxvp8dec with meson too:
426 meson . buildtmp -D with_omx_target=tizonia
427 https://bugzilla.gnome.org/show_bug.cgi?id=782800
429 2017-12-04 17:11:04 +0000 Julien Isorce <jisorce@oblong.com>
431 * config/tizonia/gstomx.conf.in:
432 config: add OMX.Aratelia.audio_decoder.aac to Tizonia config
433 Useful mostly for testing/debugging purpose as this is a software
434 based decoder (libfaad) for which GStreamer provides a direct
436 https://bugzilla.gnome.org/show_bug.cgi?id=791482
438 2017-11-29 14:18:41 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
440 * omx/gstomxvideodec.c:
441 omxvideodec: retrieve OMX_IndexParamVideoPortFormat before setting it
442 The usual pattern when setting OMX params is to first get the struct
443 param, override the values we want to set and then set the updated
445 We were not doing this with OMX_IndexParamVideoPortFormat and so were
446 resetting some fields such as OMX_VIDEO_PARAM_PORTFORMATTYPE.xFramerate
447 https://bugzilla.gnome.org/show_bug.cgi?id=790979
449 2017-05-21 17:34:51 +0100 Julien Isorce <jisorce@oblong.com>
451 * omx/gstomxaacenc.c:
452 omxaacenc: also set 'profile' if mpegversion is 4
453 Like done by gst_codec_utils_aac_caps_set_level_and_profile
454 which is called by avenc_aac, ffaac and voaacenc.
455 https://bugzilla.gnome.org/show_bug.cgi?id=735208
457 2017-10-24 12:19:50 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
460 omx: wait for flush complete and buffers being released when flushing
461 As stated in the existing comment, when flusing we should wait for OMX
462 to send the flush command complete event AND all ports being released.
463 We were stopping as soon as one of those condition was met.
464 Fix a race between FillThisBufferDone/EmptyBufferDone and the flush
465 EventCmdComplete messages. The OMX implementation is supposed to release
466 its buffers before posting the EventCmdComplete event but the ordering
467 isn't guaranteed as the FillThisBufferDone/EmptyBufferDone and
468 EventHandler callbacks can be called from different threads (cf 2.7
469 'Thread Safety' in the spec).
470 https://bugzilla.gnome.org/show_bug.cgi?id=789475
472 2017-10-24 11:45:20 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
475 gst_omx_port_set_flushing: simplify waiting loop
476 No semantic change so far, I just made the 'while' end condition easier
477 to understand as a first step before changing it.
478 - move error/time out checks inside the loop to make it clearer on what
479 we are actually waiting for.
480 - group port->buffers checks together with parenthesis as they are part
481 of the same conceptual check: waiting for all buffers to be released.
482 https://bugzilla.gnome.org/show_bug.cgi?id=789475
484 2017-11-27 20:17:17 +1100 Matthew Waters <matthew@centricular.com>
487 Automatic update of common submodule
488 From 3f4aa96 to e8c7a71
490 2017-11-23 15:03:48 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
492 * omx/gstomxh264enc.c:
493 * omx/gstomxh264utils.c:
494 zynqultrascaleplus: add support for extra AVC levels
495 The Zynqultrascaleplus has support for extra AVC levels not defined in
496 the OMX spec as a customer extension.
497 https://bugzilla.gnome.org/show_bug.cgi?id=790758
499 2017-10-16 14:47:07 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
503 * config/meson.build:
507 * tests/check/.gitignore:
508 * tests/check/Makefile.am:
509 * tests/check/generic/.gitignore:
510 * tests/check/generic/states.c:
511 * tests/check/meson.build:
514 Most of the boilerplate and the states test has been copied from
516 https://bugzilla.gnome.org/show_bug.cgi?id=789094
518 2017-10-17 13:07:05 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
522 meson: add tools support
523 Looks like the tools directory was left out during the initial port to
525 https://bugzilla.gnome.org/show_bug.cgi?id=789090
527 2017-10-16 14:24:50 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
530 omx: fix build on rpi
531 The nTimeStamp field is a OMX_TICKS struct on the rpi so use the proper
533 Fix build on the build which has been broken by
534 b3173144b7c1b12c9e1b7571f78659be45d813f6
535 https://bugzilla.gnome.org/show_bug.cgi?id=789052
537 2017-10-17 12:11:04 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
541 check if Allegro headers are present when building zynqultrascaleplus
542 The Zynq UltraScale+ uses a custom version of OMX implementing several
543 3rd party extensions. Make sure those are present when building this
545 https://bugzilla.gnome.org/show_bug.cgi?id=788064
547 2017-10-16 12:42:44 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
549 * omx/gstomxvideodec.c:
550 omxvideodec: remove redundant debug message
551 We have already a debug message right after.
552 https://bugzilla.gnome.org/show_bug.cgi?id=789058
554 2017-10-16 13:26:38 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
556 * omx/gstomxh265enc.c:
557 * omx/gstomxh265utils.c:
558 omxh265: fix enum casting when using Allegro HEVC extensions
559 Allegro's HEVC implementation defines a superset of the profiles and
560 enums from the Android implementation.
561 Properly cast to fix -Wenum-conversion warnings from clang.
562 https://bugzilla.gnome.org/show_bug.cgi?id=789057
564 2017-10-16 13:08:12 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
566 * omx/gstomxh265enc.c:
567 * omx/gstomxvp8dec.c:
568 properly cast extension enums
569 OMX's allow 3rds party to define extensions using their own enums
570 (like OMX_VIDEO_CODINGEXTTYPE) and to be used as the general
571 ones (like OMX_VIDEO_CODINGTYPE).
572 Properly cast those to fix -Wenum-conversion warnings from some
573 compilers such as clang.
574 https://bugzilla.gnome.org/show_bug.cgi?id=789057
576 2017-10-09 13:12:35 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
579 omx: also reset nTimeStamp when re-using buffers
580 Some OMX implementations may check if the timestamp of the output buffers
581 they receive is actually not set.
582 https://bugzilla.gnome.org/show_bug.cgi?id=788711
584 2017-10-04 17:11:55 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
587 omx: factor out gst_omx_buffer_reset()
588 https://bugzilla.gnome.org/show_bug.cgi?id=788711
590 2017-10-09 17:27:22 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
594 * omx/gstomxvideodec.c:
595 * omx/gstomxvideoenc.c:
596 add gst_omx_buffer_flags_to_string()
597 Make debug logs more readable so users don't have to manually figure out
598 the meaning of flags.
599 https://bugzilla.gnome.org/show_bug.cgi?id=788767
601 2017-09-27 19:47:29 +0530 Ponnam Srinivas <p.srinivas@samsung.com>
603 * omx/gstomxh263enc.c:
604 h263enc: fix caps leak in error code path
605 https://bugzilla.gnome.org/show_bug.cgi?id=788245
607 2017-09-21 15:21:36 +0530 Ponnam Srinivas <p.srinivas@samsung.com>
609 * omx/gstomxh264enc.c:
610 omxh264enc: fix caps leak
611 https://bugzilla.gnome.org/show_bug.cgi?id=787711
613 2017-09-21 11:36:46 +0530 Ponnam Srinivas <p.srinivas@samsung.com>
615 * omx/gstomxh265enc.c:
616 omxh265enc: fix caps leak
617 https://bugzilla.gnome.org/show_bug.cgi?id=787714
619 2017-09-13 15:32:51 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
621 * omx/gstomxvideodec.c:
622 omxvideodec: log info about frame before releasing it
623 gst_video_decoder_release_frame() takes ownership of the frame and will
624 destroy it. So we should no longer use it after calling it.
625 https://bugzilla.gnome.org/show_bug.cgi?id=787628
627 2017-08-20 20:19:33 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
630 configure: Show tizonia target in help
631 https://bugzilla.gnome.org/show_bug.cgi?id=786544
633 2017-07-12 14:35:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
635 * config/zynqultrascaleplus/gstomx.conf:
638 * omx/gstomxh265dec.c:
639 * omx/gstomxh265dec.h:
641 omxh265dec: add H265 decoder
642 Add HEVC decoder for the zynqultrascaleplus platform.
643 I used the H264 decoder code as a template.
644 https://bugzilla.gnome.org/show_bug.cgi?id=785434
646 2017-07-12 11:01:15 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
648 * config/zynqultrascaleplus/gstomx.conf:
653 * omx/gstomxh265enc.c:
654 * omx/gstomxh265enc.h:
655 * omx/gstomxh265utils.c:
656 * omx/gstomxh265utils.h:
658 omxh265enc: add H265 encoder
659 The OMX spec doesn't support HEVC but the OMX stack of the
660 zynqultrascaleplus adds it as a custom extension.
661 It uses the same API as the one of Android's OMX stack.
662 I used the H264 encoder code as a template.
663 https://bugzilla.gnome.org/show_bug.cgi?id=785434
665 2017-08-28 13:56:22 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
667 * omx/gstomxvideoenc.c:
668 omxvideoenc: use caps from query in propose_allocation
669 Prevent crash by not deferencing a NULL pointer if self->input_state
670 isn't defined when propose_allocation() is called.
671 https://bugzilla.gnome.org/show_bug.cgi?id=786442
673 2017-09-04 09:34:03 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
676 omx: display states as string if changing failed
677 Improve the error message by displaying the states in their string
678 representation rather than their numerical value.
679 https://bugzilla.gnome.org/show_bug.cgi?id=787235
681 2017-08-22 10:22:45 +0100 Julien Isorce <jisorce@oblong.com>
683 * omx/gstomxvideodec.c:
684 omxvideodec: EGLDisplay is not indirectly defined by gstgl headers inclusion
685 Just use gpointer as done in GstGL to not include
686 EGL/egl.h just for EGLDisplay.
687 https://bugzilla.gnome.org/show_bug.cgi?id=784779
689 2017-07-14 16:34:04 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
691 * config/tizonia/gstomx.conf.in:
692 config: expose OMX.mesa h264 decoder and encoder in Tizonia config
693 https://bugzilla.gnome.org/show_bug.cgi?id=783976
695 2017-08-11 07:48:37 -0700 Julien Isorce <jisorce@oblong.com>
697 * omx/gstomxvideodec.c:
698 omxvideodec: remove wrong SettingsChanged ack
699 Partially revert 1b7d0b8:
700 omxvideodec: handle IL 1.2 behavior for OMX_SetParameter
701 It turned out it was a problem in the decoder which was
702 not updating some local variables upon SetParameter.
703 https://bugzilla.gnome.org/show_bug.cgi?id=783976
705 2017-07-20 09:43:19 +0100 Julien Isorce <jisorce@oblong.com>
707 * omx/gstomxaudiodec.c:
708 * omx/gstomxaudioenc.c:
709 * omx/gstomxvideodec.c:
710 * omx/gstomxvideoenc.c:
711 omx{audio,video}{dec,enc}: sequentially disable ports because buffers are not shared
712 For the history, the parallel disable port has been introduced by:
713 "00be69f omxvideodec: Disable output port when setting a new format"
714 and then replicated to videoenc, audiodec and audioenc.
715 This is only required to do 'parallel' if buffers are shared between ports.
716 But for decoders and encoders the input and output buffer are of different
717 nature by definition (bitstream vs images). So they cannot be shared.
718 Also starting from IL 1.2.0 it is written in the spec that the parallel
719 disable is not allowed and will return an error. Except when buffers are
721 Again here we know in advance that they are not shared so let's always
722 do a sequential disable.
723 Tested on Desktop, rpi and zynqultrascaleplus.
724 https://bugzilla.gnome.org/show_bug.cgi?id=786348
726 2017-08-17 12:26:05 +0100 Tim-Philipp Müller <tim@centricular.com>
729 Automatic update of common submodule
730 From 48a5d85 to 3f4aa96
732 2017-08-10 12:16:53 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
734 * omx/gstomxvideodec.c:
735 omxvideodec: use the decoder API to set latency
736 https://bugzilla.gnome.org/show_bug.cgi?id=785125
738 2017-07-06 14:19:19 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
740 * omx/gstomxvideodec.c:
741 * omx/gstomxvideoenc.c:
742 omxvideoenc/dec: declare latency on zynqultrascaleplus
743 The OMX specification doesn't provide any API to expose the latency
744 introduced by encoders and decoders. We implemented this as a custom
745 extension as declaring the latency is needed for live pipelines like
747 https://bugzilla.gnome.org/show_bug.cgi?id=785125
749 2017-08-07 13:16:01 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
751 * omx/gstomxvideoenc.c:
752 omxvideoenc: adjust stride and slice height from input
753 Use the stride and slice height information from the first buffer meta
754 data to adjust the settings of the input port.
755 This will ensure that the OMX input buffers match the GStreamer ones
756 and so will save us from having to copy line-by-line each one.
757 This is also the first step to allow the OMX encoder to receive dmabuf.
758 Tested on rpi and zynqultrascaleplus.
759 https://bugzilla.gnome.org/show_bug.cgi?id=785967
761 2017-08-07 11:45:29 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
763 * omx/gstomxvideoenc.c:
764 omxvideoenc: delay buffer configuration until component is enabled
765 No significant change for now. Just delay the input port configuration
766 of the buffer size related fields (stride, slice height, buffer size)
767 until the component is activated.
768 This will allow us to use the actual stride/height of the first input
769 and so avoid the buffer copying code path in most cases.
770 Tested on rpi and zynqultrascaleplus.
771 https://bugzilla.gnome.org/show_bug.cgi?id=785967
773 2017-07-24 13:52:35 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
775 * omx/gstomxvideodec.c:
776 * omx/gstomxvideoenc.c:
777 omxvideodec/enc: delay allocation after the allocation query
778 Allocating OMX components buffers in set_format() is too early.
779 Doing it when receiving the first buffers will allow the element to use
780 the information from the allocation query and/or the first incoming
781 buffer to pick to best allocation mode.
782 Tested on raspberry pi with dynamic resolution changes on decoder and
784 https://bugzilla.gnome.org/show_bug.cgi?id=785967
786 2017-07-25 14:27:45 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
788 * omx/gstomxvideoenc.c:
789 omxvideoenc: start src thread in handle_frame()
790 Makes the code simpler as we no longer need to restart the thread in
791 gst_omx_video_enc_flush() and It's more symetric which the omxvideodec
793 I'm also going to move the enabling of the OMX component in
794 handle_frame() and the src pad thread needs to be started after it.
795 https://bugzilla.gnome.org/show_bug.cgi?id=785967
797 2017-07-25 14:07:30 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
799 * omx/gstomxvideodec.c:
800 omxvideodec: earlier return if downstream_flow_ret is not OK
801 There is no point to (re)start the src thread if, for example, we are
803 https://bugzilla.gnome.org/show_bug.cgi?id=785967
805 2017-07-24 12:31:37 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
807 * omx/gstomxvideodec.c:
808 * omx/gstomxvideodec.h:
809 omxvideodec: factor out enable and disable code
810 No semantic change, just factor out the code enabling and disabling the
811 component to their own functions.
812 Makes the code easier to read as the set_format() method was already
813 pretty big. Will also allow us to easily change the enabling logic.
814 https://bugzilla.gnome.org/show_bug.cgi?id=785967
816 2017-07-24 12:31:37 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
818 * omx/gstomxvideoenc.c:
819 * omx/gstomxvideoenc.h:
820 omxvideoenc: factor out enable and disable code
821 No semantic change, just factor out the code enabling and disabling the
822 component to their own functions.
823 Makes the code easier to read as the set_format() method was already
824 pretty big. Will also allow us to easily change the enabling logic.
825 https://bugzilla.gnome.org/show_bug.cgi?id=785967
827 2017-07-27 12:12:01 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
830 omx: also reset nFilledLen before calling OMX_FillThisBuffer()
831 The spec states that the buffer passed to OMX_FillThisBuffer() needs to be
832 empty. Some implementation may check it actually is by checking its
833 nFilledLen field, so best to reset it as well.
834 https://bugzilla.gnome.org/show_bug.cgi?id=785623
836 2017-07-17 21:06:47 +0100 Julien Isorce <jisorce@oblong.com>
838 * omx/gstomxvideodec.c:
839 * omx/gstomxvideodec.h:
840 omxvideodec: make generic the OMX_UseEGLImage code path
841 Will be easier to maintain and to make enhancements.
842 Tested with Tizonia on Desktop.
843 Also tested with Bellagio to make sure it does not crash when
844 calling OMX_UseEGLImage and indeed it returns NotImplemented.
845 Then gst-omx fallback to OMX_UseBuffer if it can and so on.
846 Also tested on rpi to make sure there is no regression.
847 https://bugzilla.gnome.org/show_bug.cgi?id=784365
849 2017-07-21 11:52:00 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
851 * omx/gstomxvideodec.c:
852 omxvideodec: Fix segment seek
853 On segment seek, unlike EOS, we drain, but we cannot expect a flush
854 later to reset the decoder state. As a side effect, the decoder would
855 remain in EOS state and ignore any new incoming buffers.
856 To fix this, we call _flush() inside the _drain() function, and
857 _finish() becomes what _drain() was before. This way, for _finish() (the
858 eos case) we only drain, for _drain() triggered by segment seek or new
859 caps, we also reset the decoder state so it's ready to accept buffers.
860 https://bugzilla.gnome.org/show_bug.cgi?id=785237
862 2017-07-10 15:00:58 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
864 * omx/gstomxvideoenc.c:
865 omxvideoenc: ensure enough buffers are allocated in the pool
866 Handle allocation query and ensure enough buffers are allocated in
867 the negotiated pool. This help preventing buffer starvation in the pipeline.
868 https://bugzilla.gnome.org/show_bug.cgi?id=785122
870 2017-07-04 12:16:39 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
875 * omx/gstomxbufferpool.c:
876 * omx/gstomxbufferpool.h:
877 * omx/gstomxvideodec.c:
878 * omx/gstomxvideodec.h:
880 omxvideodec: add dmabuf support for output
881 The zynqultrascaleplus OMX implementation has a custom extension
882 allowing decoders to output dmabuf and so avoid buffers copy between OMX
884 Make use of this extension when built on the zynqultrascaleplus. The
885 buffer pool code should be re-usable for other platforms as well.
886 https://bugzilla.gnome.org/show_bug.cgi?id=784847
888 2017-06-20 00:13:33 +0100 Julien Isorce <jisorce@oblong.com>
890 * config/tizonia/gstomx.conf.in:
891 config: add OMX.Aratelia.video_decoder.vp8 to Tizonia config
892 Useful mostly for testing/debugging purpose as this is a software
893 based encoder (libvpxdec) for which GStreamer provides a direct
895 https://bugzilla.gnome.org/show_bug.cgi?id=783976
897 2017-06-19 23:56:02 +0100 Julien Isorce <jisorce@oblong.com>
899 * omx/gstomxvideodec.c:
900 omxvideodec: handle IL 1.2 behavior for OMX_SetParameter
901 It triggers SettingsChanged on the other port and it is up to
902 the client to decide if it should lead to a port reconfiguration.
903 Settings are propagated to the other port for fields they have
904 in common. But this event is only triggered on the other port
905 if it actually change a setting.
906 https://bugzilla.gnome.org/show_bug.cgi?id=783976
908 2017-07-18 23:41:17 +0100 Julien Isorce <jisorce@oblong.com>
910 * config/tizonia/gstomx.conf.in:
911 config: set rank to 0 for Tizonia's mp3 decoder
912 Should have been 0 from the initial commit
913 eed49b4231a063639f90279c8044404c2149902a
915 2017-07-17 21:03:55 +0100 Julien Isorce <jisorce@oblong.com>
917 * omx/gstomxvideodec.c:
918 omxvideodec: fix file permissions
919 Introduced by ebc9b4903cbdac2793c24b05a1bb7acc3b67fae5
921 2017-06-29 23:17:26 +0100 Julien Isorce <jisorce@oblong.com>
923 * omx/gstomxvideodec.c:
924 omxvideodec: fix buffer leak when eglimage setup fails
925 Can happen if gst_buffer_pool_acquire_buffer succeeds but
926 gst_buffer_n_memory (buffer) is not exactly 1.
927 In theory this should not happen because the decoder requests
928 EGLImage(RGBA) but better to fix any leak on corner cases.
929 https://bugzilla.gnome.org/show_bug.cgi?id=784365
931 2017-07-17 18:36:36 +0530 Satya Prakash Gupta <sp.gupta@samsung.com>
934 omx: Possible Memory leak in gst_caps_from_string
935 https://bugzilla.gnome.org/show_bug.cgi?id=784978
937 2017-07-17 15:48:44 +0530 Satya Prakash Gupta <sp.gupta@samsung.com>
939 * omx/gstomxvideoenc.c:
940 omxvideoenc: Fix deadlock in error case when draining
941 https://bugzilla.gnome.org/show_bug.cgi?id=784972
943 2017-07-17 13:44:54 +0530 Satya Prakash Gupta <sp.gupta@samsung.com>
945 * omx/gstomxaudioenc.c:
946 omxaudioenc: Fix deadlock in error case when draining
947 https://bugzilla.gnome.org/show_bug.cgi?id=784967
949 2017-06-02 12:36:30 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
954 build: include OMX_IndexExt and OMX_ComponentExt if present
955 These files may be used by OMX implementation to define custom extensions.
956 Include them if present as we are already doing with OMX_VideoExt.h
957 https://bugzilla.gnome.org/show_bug.cgi?id=784847
959 2017-07-13 16:40:26 +1000 Jan Schmidt <jan@centricular.com>
961 * omx/gstomxh264enc.c:
962 omxh264enc: Re-add periodicty-idr property for backward compat
963 Retain backwards compatibility by adding a duplicate
964 property for periodicty-idr
965 https://bugzilla.gnome.org/show_bug.cgi?id=784370
967 2017-06-30 15:15:06 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
969 * omx/gstomxh264enc.c:
970 omxh264enc: fix typo in "periodicty-idr" property name
971 Also fix the 'nick' of the property.
972 https://bugzilla.gnome.org/show_bug.cgi?id=784370
974 2017-06-29 22:48:47 +0100 Julien Isorce <jisorce@oblong.com>
976 * omx/gstomxvideodec.c:
977 * omx/gstomxvideodec.h:
978 omxvideodec: use OMX_UseBuffer
979 For example this allows the omx decoder to directly fill the
980 pixmaps coming from the video sink.
981 It only avoids a buffer copy when the decoder uses a pool provided
982 by a downstream element. So let's restrict this usage to situations
983 where the decoder decides to use a downstream buffer pool.
984 Tested with Tizonia/OMX.Aratelia.video_decoder.vp8
985 and with Bellagio/OMX.mesa.video_decoder.avc.
986 If it fails to setup buffers with OMX_UseBuffer the decoders
987 fallbacks to usual OMX_AllocateBuffer.
988 Also it allows to test on desktop the GstOMXBufferPool->other_pool
989 management which was previously only used in the OMX_UseEGLImage
991 https://bugzilla.gnome.org/show_bug.cgi?id=784069
993 2017-07-12 10:29:16 +0100 Julien Isorce <jisorce@oblong.com>
996 omx: do not always print an error if OMX_{UseBuffer,EGLImage} fails
997 Let the caller decide to print an error. Because it can be part of
999 https://bugzilla.gnome.org/show_bug.cgi?id=784069
1001 2017-07-12 16:00:53 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1004 meson: add gstomxmp3enc
1005 Commit 02d493e85921596f7cac7ef4af02fde500e9a5d8 didn't add
1006 gstomxmp3enc.c to meson.
1007 https://bugzilla.gnome.org/show_bug.cgi?id=784848
1009 2017-05-23 10:32:58 +0100 Julien Isorce <jisorce@oblong.com>
1011 * config/tizonia/gstomx.conf.in:
1012 config: add OMX.Aratelia.audio_encoder.mp3 to Tizonia config
1013 Useful mostly for testing/debugging purpose as this is a software
1014 based encoder (libmp3lame) for which GStreamer provides a direct
1016 https://bugzilla.gnome.org/show_bug.cgi?id=782988
1018 2017-05-23 10:32:06 +0100 Julien Isorce <jisorce@oblong.com>
1022 * omx/gstomxmp3enc.c:
1023 * omx/gstomxmp3enc.h:
1024 omx: add gstomxmp3enc
1025 Initial support and only tested with the software based
1026 encoder OMX.Aratelia.audio_encoder.mp3 from Tizonia which
1027 internally uses libmp3lame.
1028 https://bugzilla.gnome.org/show_bug.cgi?id=782988
1030 2017-03-28 16:27:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1032 * config/zynqultrascaleplus/gstomx.conf:
1035 * omx/gstomxh264dec.c:
1036 h264dec: add hack to pass profile and level to OMX
1037 This information can be useful to zynqultrascaleplus decoders. They may
1038 use this information to reduce startup latency by configuring itself
1039 before receiving the first frames.
1040 We also have a custom OMX extension allowing the decoder to report the
1041 latency. The profile/level information helps it reporting a more
1042 accurate latency earlier.
1043 https://bugzilla.gnome.org/show_bug.cgi?id=783114
1045 2017-07-03 13:17:11 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1048 * omx/gstomxh264enc.c:
1049 * omx/gstomxh264utils.c:
1050 * omx/gstomxh264utils.h:
1052 omxh264enc: move profile and level parsing functions to their own files
1053 Will allow to re-use them in the decoder element.
1054 https://bugzilla.gnome.org/show_bug.cgi?id=783114
1056 2017-07-04 03:15:00 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
1058 * config/meson.build:
1059 * config/tizonia/meson.build:
1061 * meson_options.txt:
1062 meson: Add tizonia option
1063 https://bugzilla.gnome.org/show_bug.cgi?id=782800
1065 2017-04-29 02:56:59 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
1068 * config/tizonia/Makefile.am:
1069 * config/tizonia/gstomx.conf.in:
1070 * config/tizonia/meson.build:
1072 config: add omxmp3dec config for tizonia
1073 GST_OMX_CONFIG_DIR=$HOME/gst/master/gst-omx/config/tizonia/ \
1074 gst-launch-1.0 filesrc location=mpthreetest.mp3 ! id3demux ! \
1075 mpegaudioparse ! omxmp3dec ! audioconvert ! pulsesink
1076 v2: [Nicolas] Use template to create gstomx.conf using pkg-config
1077 v3: [Nicolas] Ignore only config/tizonia/gstomx.conf
1078 v4: [Nicolas] Add "/" for single occurence
1079 https://bugzilla.gnome.org/show_bug.cgi?id=782800
1081 2017-05-07 20:09:54 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
1084 omx: always ignore OMX_ErrorPortUnpopulated
1085 It is safe to ignore it always. Tizonia notifies this error to pass
1086 some khronos conformance tests. Problem is that gst-omx saves this
1087 error in comp->last_error and then gst_omx_port_set_enabled early
1088 error out which fails the pipeline.
1089 https://bugzilla.gnome.org/show_bug.cgi?id=782800
1091 2017-04-29 02:53:26 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
1095 omx: guard some omx enums with IL version
1096 Some enums that existed in 1.1.2 just do not exit in 1.2.0
1097 See https://www.khronos.org/registry/OpenMAX-IL/specs/OpenMAX_IL_1_2_0_Specification_redline.pdf
1098 https://bugzilla.gnome.org/show_bug.cgi?id=782800
1100 2017-04-29 01:56:01 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
1103 configure.ac: add tizonia target for --with-omx-target flag.
1104 This will check for tizilheaders.pc which adds path to omx-il
1105 headers its cflags. Can be installed all together with the 1.2 headers
1106 with package tizilheaders if not building from sources:
1107 https://github.com/tizonia/tizonia-openmax-il
1108 It is also adviced to remove libomxil-bellagio-dev package because
1109 it installs headers /usr/include directly, ex: /usr/include/OMX_Video.h.
1110 https://bugzilla.gnome.org/show_bug.cgi?id=782800
1112 2017-07-05 10:47:41 +0100 Julien Isorce <jisorce@oblong.com>
1114 * omx/gstomxaudioenc.c:
1115 omxaudioenc: update local port_def after reopening the component
1116 gst_omx_audio_enc_open will only update GstOMXAudioEnc->port->port_def.
1117 Note that the component is reopen only if the flag
1118 GST_OMX_HACK_NO_COMPONENT_RECONFIGURE is set.
1119 https://bugzilla.gnome.org/show_bug.cgi?id=782418
1121 2017-07-05 10:48:52 +0100 Julien Isorce <jisorce@oblong.com>
1123 * omx/gstomxvideoenc.c:
1124 omxvideoenc: update local port_def after reopening the component
1125 gst_omx_video_enc_open will only update GstOMXVideoEnc->port->port_def.
1126 Note that the component is reopen only if the flag
1127 GST_OMX_HACK_NO_COMPONENT_RECONFIGURE is set.
1128 https://bugzilla.gnome.org/show_bug.cgi?id=782418
1130 2017-05-10 12:38:39 +0900 Sejun Park <sejun79.park@samsung.com>
1132 * omx/gstomxvideodec.c:
1133 omxvideodec: update local port_def after reopening the component
1134 gst_omx_video_dec_open will only update GstOMXVideoDec->port->port_def.
1135 Note that the component is reopen only if the flag
1136 GST_OMX_HACK_NO_COMPONENT_RECONFIGURE is set.
1137 https://bugzilla.gnome.org/show_bug.cgi?id=782418
1139 2017-07-03 16:33:06 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1141 * omx/gstomxvideodec.c:
1142 omxvideodec: increase the minimum number of allocated buffers
1143 Ensure that enough buffers are allocated by adding up component's own
1144 minimal plus the number of buffers requested by downstream.
1145 This should prevent buffers starvation problem if downstream elements
1146 are holding some of the buffers they required.
1147 Also simplify the check on the maximum on buffers. What we actually care
1148 about is to make sure the pool can hold the minimum of required buffers.
1149 https://bugzilla.gnome.org/show_bug.cgi?id=784479
1151 2017-07-03 10:54:50 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1153 * omx/gstomxh264enc.c:
1154 omxh264enc: raise a warning if AVCIntraPeriod is not supported
1155 Some platforms may not implement OMX_IndexConfigVideoAVCIntraPeriod and
1156 use OMX_IndexParamVideoAvc instead to configure the GOP pattern.
1157 So raise a warning instead of an error if this API is not implemented.
1158 https://bugzilla.gnome.org/show_bug.cgi?id=784379
1160 2017-06-29 14:16:19 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1162 * omx/gstomxh264enc.c:
1163 * omx/gstomxh264enc.h:
1164 omxh264enc: add 'b-frames' property
1165 Add a property to control the number of B-frames produced by the
1166 encoder using the OMX_VIDEO_PARAM_AVCTYPE OMX API.
1167 https://bugzilla.gnome.org/show_bug.cgi?id=784379
1169 2017-06-30 14:18:35 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1171 * omx/gstomxh264enc.c:
1172 omxh264enc: fix typo in 'set_avc_intra_period'
1173 https://bugzilla.gnome.org/show_bug.cgi?id=784379
1175 2017-05-22 11:23:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1177 * config/Makefile.am:
1178 * config/meson.build:
1179 * config/zynqultrascaleplus/Makefile.am:
1180 * config/zynqultrascaleplus/gstomx.conf:
1181 * config/zynqultrascaleplus/meson.build:
1184 * meson_options.txt:
1185 add 'zynqultrascaleplus' as OMX target
1186 Adding support for the 'Zynq UltraScale+' as a new OMX target.
1187 See https://www.xilinx.com/products/silicon-devices/soc/zynq-ultrascale-mpsoc.html
1188 for details about the platform.
1189 https://bugzilla.gnome.org/show_bug.cgi?id=783097
1191 2017-05-21 15:23:09 +0100 Julien Isorce <jisorce@oblong.com>
1193 * config/bellagio/gstomx.conf:
1194 config: add OMX.mesa.video_decoder.{avc,mpeg2} for Bellagio config
1195 Install libomxil-bellagio0 and make sure mesa has been built with
1196 --enable-omx. Check there is /usr/lib/libomxil-bellagio0/libomx_mesa.so
1197 then run omxregister-bellagio to regenerate $XDG_DATA_HOME/.omxregister
1198 Then omxh264dec and omxmpeg2dec should load.
1199 https://bugzilla.gnome.org/show_bug.cgi?id=782926
1201 2017-05-18 13:50:56 +0100 Julien Isorce <jisorce@oblong.com>
1204 configure.ac: move omx features check after target selection
1205 Does not change anything, except this will be useful for future commits.
1206 Indeed some targets provide a .pc file where to look for the omx headers.
1207 https://bugzilla.gnome.org/show_bug.cgi?id=782800
1209 2017-06-29 16:48:07 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1211 * omx/gstomxh264dec.c:
1212 omxh264dec: remove 'parsed=true' from sink pad
1213 The decoder only requires to receive one frame per buffer which is
1214 already enforced with 'alignment=au'. There is no need to require to
1215 have a parser upstream.
1216 Allow to run "encode ! decode" pipeline without having a parser.
1217 https://bugzilla.gnome.org/show_bug.cgi?id=784344
1219 2017-06-16 13:28:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1221 * omx/gstomxh264enc.c:
1222 omxh264enc: set profile/level using OMX_VIDEO_PARAM_AVCTYPE as well
1223 The OMX specification defines two API to set the AVC profile and level:
1224 using OMX_VIDEO_PARAM_PROFILELEVELTYPE and OMX_VIDEO_PARAM_AVCTYPE.
1225 We were already supporting the former but not the latter. We are now
1226 setting both so implementation don't have to rely on a specific one.
1227 https://bugzilla.gnome.org/show_bug.cgi?id=783862
1229 2017-06-16 13:19:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1231 * omx/gstomxh264enc.c:
1232 omxh264enc: factor out update_param_profile_level()
1233 https://bugzilla.gnome.org/show_bug.cgi?id=783862
1235 2017-06-16 12:53:15 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1237 * omx/gstomxh264enc.c:
1238 omxh264enc: factor out string to profile/level enum conversion
1239 https://bugzilla.gnome.org/show_bug.cgi?id=783862
1241 2017-06-28 15:06:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1243 * omx/gstomxh264enc.c:
1244 omxh264enc: use OMX_IndexConfigBrcmVideoIntraPeriod on pi
1245 The OMX_VIDEO_CONFIG_AVCINTRAPERIOD.nPFrames setting isn't of any use on
1246 the raspbery pi. Instead it uses a custom extension to define the I
1248 https://bugzilla.gnome.org/show_bug.cgi?id=783829
1250 2017-06-28 15:03:52 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1252 * omx/gstomxh264enc.c:
1253 omxh264enc: factor out set_avc_intra_perdiod()
1254 https://bugzilla.gnome.org/show_bug.cgi?id=783829
1256 2017-06-02 12:48:57 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1259 meson: define HAVE_VIDEO_EXT if OMX_VideoExt.h is present
1260 Meson build wasn't defining the HAVE_VIDEO_EXT like configure.ac does.
1261 https://bugzilla.gnome.org/show_bug.cgi?id=783346
1263 2017-06-11 12:32:01 +0000 Graham Leggett <minfrin@sharp.fm>
1265 * omx/gstomxvideoenc.c:
1266 omxvideoenc: Improve debug output when setting codec state due to new codec_data fails
1267 https://bugzilla.gnome.org/show_bug.cgi?id=783657
1269 2017-05-20 14:49:20 +0100 Julien Isorce <jisorce@oblong.com>
1272 omx: allow 0 feature
1273 Previously the omx plugin was blacklisted if GST_OMX_CONFIG_DIR
1274 points to an invalid path or if the gstomx.conf contains 0 valid
1276 Problem is that once the plugin is blacklisted, a rescan is not
1277 triggered upon changes of the env var or the gstomx.conf file
1278 despite being setup with gst_plugin_add_dependency.
1279 This also makes it more consistent with other plugins that auto
1280 generate features. For example gst-{ffmeg,libav}, gstreamer-vaapi,
1282 To clarify the diff, the plugin_init func will return TRUE even if
1283 g_key_file_get_groups returns 0 element and even if
1284 g_key_file_load_from_dirs fails.
1285 https://bugzilla.gnome.org/show_bug.cgi?id=782867
1287 2017-04-26 22:52:17 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
1289 * config/bellagio/gstomx.conf:
1290 config: add OMX.st.audio_decoder.mp3.mad for Bellagio config
1291 MP3 Software decoder (libmad based) but useful for testing
1292 and to compare with other targets.
1293 GST_OMX_CONFIG_DIR=$HOME/gst/master/gst-omx/config/bellagio/ \
1294 gst-launch-1.0 filesrc location=mpthreetest.mp3 ! id3demux ! \
1295 mpegaudioparse ! omxmp3dec ! audioconvert ! pulsesink
1296 Didn't add 'local' in core-name path compared to other components
1297 in that same gstomx.conf file because OMX.st.audio_decoder.mp3.mad
1298 comes with the Ubuntu package 'libomxil-bellagio0-components-mad'.
1299 All other components listed in this gstomx.conf for Bellagio, are
1300 not provided by any Ubuntu packages. It could explain the 'local',
1301 i.e. requiring to build them from source.
1302 dpkg -L libomxil-bellagio0
1303 /usr/lib/libomxil-bellagio.so.0
1304 https://bugzilla.gnome.org/show_bug.cgi?id=781786
1305 Signed-off-by: Gurkirpal Singh <gurkirpal204@gmail.com>
1306 Signed-off-by: Julien Isorce <jisorce@oblong.com>
1308 2017-05-16 14:39:04 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1311 Remove plugin specific static build option
1312 Static and dynamic plugins now have the same interface. The standard
1313 --enable-static/--enable-shared toggle are sufficient.
1315 2017-05-10 12:10:10 +0900 Sejun Park <sejun79.park@samsung.com>
1317 * omx/gstomxvideodec.c:
1318 omxvideodec: Removed unreachable code
1319 https://bugzilla.gnome.org/show_bug.cgi?id=782416
1321 2017-05-09 16:26:44 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1324 meson: add dep on GModule
1325 libgstomx uses the GModule API and so needs it in its dependencies list.
1326 https://bugzilla.gnome.org/show_bug.cgi?id=782387
1328 2017-05-09 13:27:28 +0000 Tim-Philipp Müller <tim@centricular.com>
1331 meson: fix config.h generation
1332 "No such input file config.h.meson", but it's not needed anyway.
1333 https://bugzilla.gnome.org/show_bug.cgi?id=782382
1335 2017-05-04 18:59:33 +0300 Sebastian Dröge <sebastian@centricular.com>
1341 === release 1.12.0 ===
1343 2017-05-04 15:48:56 +0300 Sebastian Dröge <sebastian@centricular.com>
1353 === release 1.11.91 ===
1355 2017-04-27 17:53:50 +0300 Sebastian Dröge <sebastian@centricular.com>
1365 2017-04-17 17:02:48 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1367 * omx/gstomxvideoenc.c:
1368 videoenc: use GST_ROUND_UP_N() macro
1369 Makes the code much easier to read and understand.
1370 https://bugzilla.gnome.org/show_bug.cgi?id=781409
1372 2017-04-24 20:30:21 +0100 Tim-Philipp Müller <tim@centricular.com>
1375 Automatic update of common submodule
1376 From 60aeef6 to 48a5d85
1378 2017-04-10 23:51:00 +0100 Tim-Philipp Müller <tim@centricular.com>
1382 Automatic update of common submodule
1383 From 39ac2f5 to 60aeef6
1385 === release 1.11.90 ===
1387 2017-04-07 16:36:45 +0300 Sebastian Dröge <sebastian@centricular.com>
1397 2017-04-07 14:27:23 +0300 Sebastian Dröge <sebastian@centricular.com>
1399 * omx/gstomxvideoenc.c:
1400 omxvideoenc: Fix compiler warning
1401 gstomxvideoenc.c: In function ‘gst_omx_video_enc_fill_buffer’:
1402 CC libgstomx_la-gstomxaacdec.lo
1403 gstomxvideoenc.c:1316:27: warning: format ‘%u’ expects argument of type ‘unsigned int’, but argument 8 has type ‘OMX_U32 {aka long unsigned int}’ [-Wformat=]
1404 GST_LOG_OBJECT (self, "Matched strides - direct copy %u bytes",
1406 outbuf->omx_buf->nFilledLen);
1409 2017-03-22 17:18:09 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
1412 meson: fix logic to set HAVE_THEORA
1413 https://bugzilla.gnome.org/show_bug.cgi?id=780392
1415 2017-03-14 03:02:06 +1100 Jan Schmidt <thaytan@noraisin.net>
1417 * omx/gstomxvideoenc.c:
1418 omxvideoenc: Add an unimplemented mapping for RGBA formats
1419 Add some pixel formats mappings for 2 RGBA formats. Not yet
1420 implemented in the buffer input code though, so no effect for now.
1422 2017-03-14 03:00:49 +1100 Jan Schmidt <thaytan@noraisin.net>
1426 * omx/gstomxvideoenc.c:
1427 omxvideoenc: Add GST_OMX_HACK_HEIGHT_MULTIPLE_16 for Rpi
1428 The Raspberry Pi encoder produces corrupt output unless
1429 the input height is a multiple of 16. Add a hack that adds
1430 zero padding when needed.
1432 2017-03-14 02:42:15 +1100 Jan Schmidt <thaytan@noraisin.net>
1434 * omx/gstomxvideoenc.c:
1435 omxvideoenc: Add a mapping for OMX_COLOR_FormatYUV420PackedSemiPlanar
1438 2017-03-14 02:40:24 +1100 Jan Schmidt <thaytan@noraisin.net>
1440 * omx/gstomxvideoenc.c:
1441 omxvideoenc: Filter out unimplemented formats
1442 Don't announce pixel formats in the caps if they've not been
1445 2017-03-14 02:34:36 +1100 Jan Schmidt <thaytan@noraisin.net>
1447 * omx/gstomxvideodec.c:
1448 omxvideodec: demote ERROR message
1449 There's no need to warn about failing to negotiate EGL output
1450 - that can be perfectly normal.
1452 2017-02-24 16:00:29 +0200 Sebastian Dröge <sebastian@centricular.com>
1455 meson: Update version
1457 2017-02-24 15:38:17 +0200 Sebastian Dröge <sebastian@centricular.com>
1462 === release 1.11.2 ===
1464 2017-02-24 15:10:17 +0200 Sebastian Dröge <sebastian@centricular.com>
1473 2017-02-15 18:22:53 +0000 Tim-Philipp Müller <tim@centricular.com>
1476 meson: dist meson build files
1477 Ship meson build files in tarballs, so people who use tarballs
1478 in their builds can start playing with meson already.
1480 2017-01-13 16:23:12 +0000 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
1482 * omx/gstomxaacenc.c:
1483 omxaacenc: let encoder know about incoming rate/channels
1484 https://bugzilla.gnome.org/show_bug.cgi?id=777223
1486 2017-01-18 02:43:44 +1100 Matthew Waters <matthew@centricular.com>
1488 * config/bellagio/meson.build:
1489 * config/meson.build:
1490 * config/rpi/meson.build:
1491 * examples/egl/meson.build:
1492 * examples/meson.build:
1493 * hooks/pre-commit.hook:
1495 * meson_options.txt:
1497 build: add meson build definition
1498 Currently only been tested on the RPi within gst-build.
1500 2017-01-18 15:21:35 +1100 Matthew Waters <matthew@centricular.com>
1502 * examples/egl/testegl.c:
1503 examples/testegl: update for libgstgl changes
1505 2017-01-12 16:33:09 +0200 Sebastian Dröge <sebastian@centricular.com>
1510 === release 1.11.1 ===
1512 2017-01-12 16:26:55 +0200 Sebastian Dröge <sebastian@centricular.com>
1521 2017-01-10 15:29:08 +0000 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
1523 * omx/gstomxaudioenc.c:
1524 omxaudioenc: set base class format instead of just source pad caps
1526 2016-12-18 19:46:55 +0000 Graham Leggett <minfrin@sharp.fm>
1528 * omx/gstomxaudiodec.c:
1529 * omx/gstomxvideodec.c:
1530 omx*dec: Flush before we stop the srcpad loop
1531 Flushing could otherwise hang if output port queue of pending buffers was empty
1532 https://bugzilla.gnome.org/show_bug.cgi?id=774654
1534 2016-12-14 13:29:08 -0800 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
1537 Fix broken build due to syntax error
1538 Problem was introduced by 8716c23e2b0553db2982eb84c437f493c974385e
1540 2016-12-12 11:12:48 +0000 Graham Leggett <minfrin@sharp.fm>
1543 Prevent early EOS by resetting eos flag once GST_OMX_ACQUIRE_BUFFER_EOS is triggered
1544 https://bugzilla.gnome.org/show_bug.cgi?id=774600
1546 2016-12-12 11:09:15 +0000 Graham Leggett <minfrin@sharp.fm>
1549 Add clear debug logging on all the paths out of gst_omx_port_acquire_buffer()
1550 https://bugzilla.gnome.org/show_bug.cgi?id=774600
1552 2016-12-01 18:23:50 +0100 George Kiagiadakis <george.kiagiadakis@collabora.com>
1554 * config/rpi/gstomx.conf:
1557 Add a signals-premature-eos hack for egl_render
1558 egl_render seems to have a bug and signals EOS before it has finished
1559 pushing out all data; this hack simply makes acquire_buffer() wait
1560 a bit more before signalling EOS, in case egl_render decides to spit
1562 https://bugzilla.gnome.org/show_bug.cgi?id=741856
1564 2016-12-11 19:52:37 +0000 Graham Leggett <minfrin@sharp.fm>
1566 * omx/gstomxvideo.c:
1567 Add support for OMX_COLOR_FormatYUV420PackedSemiPlanar and OMX_COLOR_Format24bitBGR888
1568 https://bugzilla.gnome.org/show_bug.cgi?id=775959
1570 2016-12-03 08:20:46 +0100 Edward Hervey <bilboed@bilboed.com>
1573 Automatic update of common submodule
1574 From ac2f647 to 39ac2f5
1576 2016-11-26 11:27:58 +0000 Tim-Philipp Müller <tim@centricular.com>
1579 common: use https protocol for common submodule
1580 https://bugzilla.gnome.org/show_bug.cgi?id=775110
1582 2016-11-25 23:56:06 +0200 Sebastian Dröge <sebastian@centricular.com>
1585 omx: Fix compiler warning with latest clang
1586 gstomx.c:1376:42: error: implicit conversion from enumeration type 'GstOMXAcquireBufferReturn' to different enumeration type 'OMX_ERRORTYPE'
1587 (aka 'enum OMX_ERRORTYPE') [-Werror,-Wenum-conversion]
1588 g_return_val_if_fail (!port->tunneled, GST_OMX_ACQUIRE_BUFFER_ERROR);
1589 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1590 https://bugzilla.gnome.org/show_bug.cgi?id=775112
1592 2016-11-17 19:56:35 +1100 Matthew Waters <matthew@centricular.com>
1594 * omx/gstomxvideodec.c:
1595 videodecoder: remove use of EGLImage orientation
1596 New code should use GstVideoTransformationMeta
1597 (The defaults do the right thing here though).
1599 === release 1.11.0 ===
1601 2016-11-01 18:53:25 +0200 Sebastian Dröge <sebastian@centricular.com>
1606 === release 1.10.0 ===
1608 2016-11-01 18:20:48 +0200 Sebastian Dröge <sebastian@centricular.com>
1617 === release 1.9.90 ===
1619 2016-09-30 13:04:51 +0300 Sebastian Dröge <sebastian@centricular.com>
1629 2016-09-14 11:33:13 +0200 Sebastian Dröge <sebastian@centricular.com>
1632 configure: Depend on gstreamer 1.9.2.1
1634 2016-09-12 14:09:46 +0200 Sebastian Dröge <sebastian@centricular.com>
1638 omx: Also search for gstomx.conf in the autoconf --sysconfdir
1639 https://bugzilla.gnome.org/show_bug.cgi?id=770743
1641 2016-09-10 20:52:10 +1000 Jan Schmidt <jan@centricular.com>
1645 Automatic update of common submodule
1646 From b18d820 to f980fd9
1648 2016-09-10 09:58:16 +1000 Jan Schmidt <jan@centricular.com>
1652 Automatic update of common submodule
1653 From ac2f647 to b18d820
1655 2016-09-01 12:36:09 +0300 Sebastian Dröge <sebastian@centricular.com>
1660 === release 1.9.2 ===
1662 2016-09-01 12:35:58 +0300 Sebastian Dröge <sebastian@centricular.com>
1672 2016-07-11 21:15:48 +0200 Stefan Sauer <ensonic@users.sf.net>
1675 Automatic update of common submodule
1676 From ac2f647 to f49c55e
1678 2016-07-06 13:51:24 +0300 Sebastian Dröge <sebastian@centricular.com>
1683 === release 1.9.1 ===
1685 2016-07-06 13:48:45 +0300 Sebastian Dröge <sebastian@centricular.com>
1695 2016-06-29 16:37:43 +0900 Kazunori Kobayashi <kkobayas@igel.co.jp>
1697 * omx/gstomxvideodec.c:
1698 omxvideodec: Use GST_VIDEO_FRAME_PLANE_STRIDE() to get output buffer's stride
1699 GST_VIDEO_FRAME_PLANE_STRIDE() should be used to get the actual buffer stride,
1700 as reported in the buffers's GstVideoMeta, when copying data to that buffer.
1701 https://bugzilla.gnome.org/show_bug.cgi?id=768173
1703 2016-06-21 11:48:40 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1706 Automatic update of common submodule
1707 From ac2f647 to f363b32
1709 2016-06-21 11:43:13 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
1711 * omx/gstomxaudioenc.c:
1712 omxaudioenc: implement GstPreset interface
1713 To allow user to use GstPreset to quickly save and load a set of
1715 https://bugzilla.gnome.org/show_bug.cgi?id=767907
1717 2016-06-21 11:41:15 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
1719 * omx/gstomxvideoenc.c:
1720 omxvideoenc: implement GstPreset interface
1721 To allow user to use GstPreset to quickly save and load a set of
1723 https://bugzilla.gnome.org/show_bug.cgi?id=767907
1725 2016-06-17 12:06:48 +0300 Sebastian Dröge <sebastian@centricular.com>
1729 * omx/gstomxaudiodec.c:
1730 * omx/gstomxaudioenc.c:
1731 * omx/gstomxvideo.c:
1732 * omx/gstomxvideodec.c:
1733 * omx/gstomxvideoenc.c:
1734 omx: #define OMX_SKIP64BIT on the RPi as required by their API
1735 Also add generic support for OMX_SKIP64BIT to gst-omx, in case other
1736 implementations also #define that for whatever reason.
1737 https://bugzilla.gnome.org/show_bug.cgi?id=766475
1739 2016-06-17 10:59:45 +0300 Sebastian Dröge <sebastian@centricular.com>
1741 * omx/gstomxvideodec.c:
1742 omxvideodec: Implement ::drain() virtual method
1743 https://bugzilla.gnome.org/show_bug.cgi?id=767641
1745 2016-06-04 19:31:45 +0100 Tim-Philipp Müller <tim@centricular.com>
1748 configure: remove AG_GST_PARSE_SUBSYSTEM_DISABLES
1749 This would check which subsystems are disabled in core by grepping
1750 gstconfig.h. Only problem is: gstconfig.h has moved into libdir now
1751 so we've been checking a non-existent file for a while now. The
1752 macro would just sets GST_DISABLE_* for use in configure.ac and
1753 Makefile.am, but we don't use that anywhere so just get rid of it
1754 (the one place where we use GST_DISABLE_GST_DEBUG is in a .c file
1755 which gets the define from the gstconfig.h include).
1756 https://bugzilla.gnome.org/show_bug.cgi?id=750056
1758 2016-01-20 03:10:38 +0900 Gwang Yoon Hwang <yoon@igalia.com>
1760 * examples/egl/testegl.c:
1761 * omx/gstomxvideodec.c:
1762 omxvideodec : Use gstglmemoryegl for the RPi
1763 Modified to use gstglmemoryegl to avoid texture creation/copy operations
1765 [Matthew Waters]: gst-indent the sources and port testegl to GstGLMemoryEGL
1766 https://bugzilla.gnome.org/show_bug.cgi?id=760918
1768 2016-04-14 10:04:32 +0100 Julien Isorce <j.isorce@samsung.com>
1771 Automatic update of common submodule
1772 From 6f2d209 to ac2f647
1774 2016-02-26 12:42:41 +0200 Sebastian Dröge <sebastian@centricular.com>
1777 Automatic update of common submodule
1778 From b64f03f to 6f2d209
1780 2016-02-17 20:51:03 +1100 Matthew Waters <matthew@centricular.com>
1782 * examples/egl/testegl.c:
1783 examples: update egl example for gstgl API changes
1784 https://bugzilla.gnome.org/show_bug.cgi?id=762053
1785 https://bugzilla.gnome.org/show_bug.cgi?id=753917
1787 2016-02-05 18:11:06 -0300 Thiago Santos <thiagoss@osg.samsung.com>
1791 Automatic update of common submodule
1792 From 86e4663 to b64f03f
1794 2015-12-21 00:43:49 +0100 Koop Mast <kwm@rainbow-runner.nl>
1797 configure: Make -Bsymbolic check work with clang.
1798 Update the -Bsymbolic check with the version glib has. This version
1800 https://bugzilla.gnome.org/show_bug.cgi?id=759713
1802 2015-12-07 09:11:32 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
1806 Automatic update of common submodule
1807 From b319909 to 86e4663
1809 2015-11-18 13:00:28 +0000 Enrique Ocaña González <eocanha@igalia.com>
1812 Remember the last_error after a failed set state call to avoid blocking the next get state call
1813 gst_omx_video_dec_flush() blocks forever in
1814 http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomxvideodec.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n2110
1815 when the previous call to gst_omx_component_set_state() fails in
1816 http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomx.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n827.
1817 To mitigate that, I set "last_error" to true, so the code in
1818 http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomx.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n862
1819 exits early and doesn't block.
1820 https://bugzilla.gnome.org/show_bug.cgi?id=758274
1822 2015-11-18 12:59:59 +0000 Enrique Ocaña González <eocanha@igalia.com>
1824 * omx/gstomxaudiodec.c:
1825 * omx/gstomxaudioenc.c:
1826 * omx/gstomxvideodec.c:
1827 * omx/gstomxvideoenc.c:
1828 Properly handle drain requests while flushing
1829 Without this commit the decoder streaming thread stops without ever attending
1830 the drain request, leaving the decoder input thread waiting forever.
1831 https://bugzilla.gnome.org/show_bug.cgi?id=758274
1833 2015-11-10 10:42:35 +0100 Nicolas Huet <nicolas.huet@parrot.com>
1836 omx: fix hacks leak on class init
1838 2015-10-21 14:37:13 +0100 Tim-Philipp Müller <tim@centricular.com>
1841 Automatic update of common submodule
1842 From b99800a to b319909
1844 2015-10-21 14:28:41 +0300 Sebastian Dröge <sebastian@centricular.com>
1847 Automatic update of common submodule
1848 From 9aed1d7 to b99800a
1850 2015-09-01 16:08:11 -0300 Thiago Santos <thiagoss@osg.samsung.com>
1852 * omx/gstomxaacdec.c:
1853 omxaacdec: Do not accept unknown layouts
1854 It was defaulting to RAW when an unknown layout was received but
1855 the caps template would actually forbid that on the caps query
1856 or accept-caps anyway.
1858 2015-09-01 08:59:54 -0300 Thiago Santos <thiagoss@osg.samsung.com>
1860 * omx/gstomxaudiodec.c:
1861 omxaudiodec: use default pad accept-caps handling
1862 Instead of the audiodecoder one. The OMX audioo decoders have their
1863 valid input in the template pad, so just check against that to
1864 avoid doing a query downstream.
1866 2015-08-28 12:57:33 -0300 Thiago Santos <thiagoss@osg.samsung.com>
1868 * omx/gstomxvideodec.c:
1869 omxvideodec: use default pad accept-caps handling
1870 Instead of the videodecoder one. The OMX video decoders have their
1871 valid input in the template pad, so just check against that to
1872 avoid doing a query downstream.
1874 2015-08-22 15:54:55 +0000 Graham Leggett <minfrin@sharp.fm>
1876 * omx/gstomxvideoenc.c:
1877 omxvideoenc: Add keyframe support for the Rpi, using OMX_IndexConfigBrcmVideoRequestIFrame
1878 https://bugzilla.gnome.org/show_bug.cgi?id=753085
1880 2015-08-20 17:20:50 +0900 Vineeth TM <vineeth.tm@samsung.com>
1882 * examples/egl/testegl.c:
1883 gst-omx: Fix memory leaks when context parse fails
1884 When g_option_context_parse fails, context and error variables are not getting free'd
1885 which results in memory leaks. Free'ing the same.
1886 And replacing g_error_free with g_clear_error, which checks if the error being passed
1887 is not NULL and sets the variable to NULL on free'ing.
1888 https://bugzilla.gnome.org/show_bug.cgi?id=753865
1890 2015-08-16 14:53:42 +0200 Philippe Normand <philn@igalia.com>
1892 * omx/gstomxh264dec.c:
1893 omxh264dec: implement is_format_change
1894 The omxvideodecoder class only checks some of the caps parameters but if
1895 other fields change such as h264 profile and/or level it wouldn't trigger a
1897 https://bugzilla.gnome.org/show_bug.cgi?id=752376
1899 2015-07-03 00:26:48 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
1901 * omx/gstomxvideodec.c:
1902 omxvideodec: unref allocator after getting it from allocation query
1903 Otherwise a reference will be leaked for each allocator. It only happens
1904 when target platform is Raspberry Pi and when we have GL support.
1905 https://bugzilla.gnome.org/show_bug.cgi?id=751867
1907 2015-07-03 21:59:54 +0200 Stefan Sauer <ensonic@users.sf.net>
1910 Automatic update of common submodule
1911 From f74b2df to 9aed1d7
1913 2015-06-16 17:50:14 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
1916 Automatic update of common submodule
1917 From 6015d26 to f74b2df
1919 2015-06-09 11:30:49 +0200 Edward Hervey <bilboed@bilboed.com>
1922 Automatic update of common submodule
1923 From d9a3353 to 6015d26
1925 2015-06-08 23:08:28 +0200 Stefan Sauer <ensonic@users.sf.net>
1928 Automatic update of common submodule
1929 From d37af32 to d9a3353
1931 2015-06-07 23:07:22 +0200 Stefan Sauer <ensonic@users.sf.net>
1934 Automatic update of common submodule
1935 From 21ba2e5 to d37af32
1937 2015-06-07 17:32:25 +0200 Stefan Sauer <ensonic@users.sf.net>
1940 Automatic update of common submodule
1941 From c408583 to 21ba2e5
1943 2015-06-07 17:16:43 +0200 Stefan Sauer <ensonic@users.sf.net>
1947 Automatic update of common submodule
1948 From c8fb372 to c408583
1950 2015-05-19 18:21:40 +0300 Sebastian Dröge <sebastian@centricular.com>
1952 * omx/gstomxaudiodec.c:
1953 * omx/gstomxaudiodec.h:
1954 omxaudiodec: Add an output adapter for chunking the output into codec frames
1955 Otherwise the base class will be confused.
1956 See https://bugzilla.gnome.org/show_bug.cgi?id=685730
1958 2015-04-26 18:24:13 +0100 Tim-Philipp Müller <tim@centricular.com>
1962 Remove obsolete Android build cruft
1963 This is not needed any longer.
1965 2015-04-22 10:40:22 +0200 Sebastian Dröge <sebastian@centricular.com>
1969 autotools automatically generate this, and when using different versions
1970 for autogen.sh there will always be changes to a file tracked by git.
1972 2015-04-08 15:57:59 +0100 Tim-Philipp Müller <tim@centricular.com>
1978 Add m4 directory so aclocal doesn't complain in autogen.sh
1979 Might come in handy, and these warnings seem to be
1980 fatal in some environments.
1981 You may need to git clean -x -d -f your tree before
1982 git pulling/merging.
1984 2015-04-07 22:25:57 +0100 Tim-Philipp Müller <tim@centricular.com>
1988 Update autogen.sh to latest version
1990 2015-04-03 18:58:17 +0100 Tim-Philipp Müller <tim@centricular.com>
1993 Automatic update of common submodule
1994 From bc76a8b to c8fb372
1996 2015-03-06 12:12:49 +0000 Luis de Bethencourt <luis.bg@samsung.com>
1998 * omx/gstomxaacdec.c:
1999 omxaudiodec: add comment explaining duplicate code path
2001 2015-03-06 12:09:06 +0000 Luis de Bethencourt <luis.bg@samsung.com>
2003 * omx/gstomxaacdec.c:
2004 Revert "omxaudiodec: remove duplicate code path"
2005 This reverts commit a8d26ff27a8b43f589424a59294f9057641b2a46.
2007 2015-03-06 12:03:56 +0000 Luis de Bethencourt <luis.bg@samsung.com>
2010 omx: handle both errors in the two steps of update_port_definition
2011 Also consider potential errors in the _get_parameter() in the return of the
2012 update_port_definition function.
2015 2015-03-06 10:57:53 +0000 Luis de Bethencourt <luis.bg@samsung.com>
2017 * omx/gstomxaudioenc.c:
2018 omxaudioenc: impossible if statement
2019 ret is set to GST_STATE_CHANGE_SUCCESS and never touched, so it is impossible
2020 for it to be anything else at the if check. Remove the if check.
2023 2015-03-06 10:54:43 +0000 Luis de Bethencourt <luis.bg@samsung.com>
2025 * omx/gstomxaudiodec.c:
2026 omxaudiodec: impossible if statement
2027 ret is set to GST_STATE_CHANGE_SUCCESS and never touched, so it is impossible
2028 for it to be anything else at the if check. Remove it.
2031 2015-03-06 10:50:30 +0000 Luis de Bethencourt <luis.bg@samsung.com>
2033 * omx/gstomxaacdec.c:
2034 omxaudiodec: remove duplicate code path
2036 2014-12-19 11:19:55 +0200 George Kiagiadakis <george.kiagiadakis@collabora.com>
2039 omx: call handle_messages() only once in acquire_buffer() to avoid potential deadlock
2040 There is one rare case where calling handle_messages() more than once can cause a deadlock
2041 in the video decoder element:
2042 - sink pad thread starts the src pad task (gst_omx_video_dec_loop())
2043 - _video_dec_loop() calls gst_omx_port_acquire_buffer() on dec_out_port
2044 - blocks in gst_omx_component_wait_message() releasing comp->lock and comp->messages_lock
2045 (initially, there are no buffers configured on that port, so it waits for OMX_EventPortSettingsChanged)
2046 - the sink pad thread pushes a buffer to the decoder with gst_omx_port_release_buffer()
2047 - _release_buffer() grabs comp->lock and sends the buffer to OMX, which consumes it immediately
2048 - EmptyBufferDone gets called at this point, which signals _wait_message() to unblock
2049 - the message from EmptyBufferDone is processed in gst_omx_component_handle_messages()
2050 called from gst_omx_port_release_buffer()
2051 - gst_omx_port_release_buffer releases comp->lock
2052 - the src pad thread now gets to run, grabbing comp->lock while it exits from _wait_message()
2053 - _acquire_buffer() calls the _handle_messages() on the next line after _wait_message(),
2054 which does nothing (no pending messages)
2055 - then it goes to "retry:" and calls _handle_messages() again, which also does nothing
2056 (still no pending messages)
2057 - scheduler switches to a videocore thread that calls EventHandler, informing us about the
2058 OMX_EventPortSettingsChanged event that just arrived
2059 - EventHandler graps comp->messages_lock, but not comp->lock, so it can run in parallel at
2060 this point just fine.
2061 - scheduler switches back to the src pad thread (which is in the middle of _acquire_buffer())
2062 - the next _handle_messages() which is right before if (g_queue_is_empty (&port->pending_buffers))
2063 processes the OMX_EventPortSettingsChanged
2064 - the buffer queue is still empty, so that thread blocks again in _wait_message()
2065 - the sink pad thread tries to acquire the next input port buffer
2066 - _acquire_buffer() also blocks this thread in:
2067 if (comp->pending_reconfigure_outports) { ... _wait_message() ... }
2068 - DEADLOCK. gstreamer is waiting for omx to do something, omx waits for gstreamer to do something.
2069 By removing those extra _handle_messages() calls, we can ensure that all the checks of
2070 _acquire_buffer() will re-run. In the above case, after the scheduler switches back to
2071 the middle of _acquire_buffer(), the code will enter _wait_message(), which will see that
2072 there are pending messages and will return immediately, going back to "retry:" and
2073 re-doing all the checks properly.
2074 https://bugzilla.gnome.org/show_bug.cgi?id=741854
2076 2015-02-26 09:27:44 +0900 Wonchul Lee <chul0812@gmail.com>
2079 omx: cleanup code a bit to remove else statement
2080 https://bugzilla.gnome.org/show_bug.cgi?id=745191
2082 2015-01-12 16:13:35 +0100 Stefan Sauer <ensonic@users.sf.net>
2085 Automatic update of common submodule
2086 From f2c6b95 to bc76a8b
2088 2014-12-18 10:56:15 +0100 Sebastian Dröge <sebastian@centricular.com>
2091 Automatic update of common submodule
2092 From ef1ffdc to f2c6b95
2094 2014-11-27 17:12:42 +0100 Edward Hervey <bilboed@bilboed.com>
2097 Automatic update of common submodule
2098 From 7bb2bce to ef1ffdc
2100 2014-11-13 09:55:02 +0900 Jun Ji <jun.ji@lge.com>
2104 * omx/gstomxamrdec.c:
2105 * omx/gstomxamrdec.h:
2107 https://bugzilla.gnome.org/show_bug.cgi?id=739333
2109 2014-10-27 18:00:50 +0100 Sebastian Dröge <sebastian@centricular.com>
2112 Automatic update of common submodule
2113 From 84d06cd to 7bb2bce
2115 2014-10-21 13:03:44 +0100 Tim-Philipp Müller <tim@centricular.com>
2118 Automatic update of common submodule
2119 From a8c8939 to 84d06cd
2121 2014-10-21 13:00:10 +0200 Stefan Sauer <ensonic@users.sf.net>
2124 Automatic update of common submodule
2125 From 1f5d3c3 to a8c8939
2127 2014-09-30 10:47:20 +0300 Sebastian Dröge <sebastian@centricular.com>
2129 * omx/gstomxaudiodec.c:
2130 omxaudiodec: Clean up code a bit to get rid of useless NULL checks
2132 2014-09-30 10:50:07 +0900 junji <jun.ji@lge.com>
2134 * omx/gstomxaudiodec.c:
2135 omxaudiodec: Unmap input buffers after usage
2136 https://bugzilla.gnome.org/show_bug.cgi?id=736314
2138 2014-08-31 20:30:13 +0000 Michal Lazo <michal.lazo@mdragon.org>
2140 * omx/gstomxvideoenc.c:
2141 omxvideoenc: Setup aspect ratio on RPi
2142 Needs firmware from yesterday or newer to work with all possible
2143 aspect ratios. Before that it only supported a fixed list.
2144 https://bugzilla.gnome.org/show_bug.cgi?id=732533
2146 2014-08-28 10:44:31 +0300 Sebastian Dröge <sebastian@centricular.com>
2148 * omx/gstomxaudioenc.c:
2149 omxaudioenc: Implement the hack flag GST_OMX_HACK_NO_COMPONENT_RECONFIGURE
2151 2014-08-28 10:43:22 +0300 Sebastian Dröge <sebastian@centricular.com>
2153 * omx/gstomxaudioenc.c:
2154 omxaudioenc: Use the base class' open/close vfuncs instead of calling them ourselves
2156 2014-08-26 22:13:53 -0500 Peng Liu <pengliu.mail@gmail.com>
2158 * config/rpi/gstomx.conf:
2159 * omx/gstomxvideoenc.c:
2160 omxvideoenc: Implement the hack flag GST_OMX_HACK_NO_COMPONENT_RECONFIGURE
2161 Fix a video encoder stall problem on RPi when changing the aspect ratio.
2162 https://bugzilla.gnome.org/show_bug.cgi?id=732533
2164 2014-08-14 17:36:11 +0300 Sebastian Dröge <sebastian@centricular.com>
2166 * omx/gstomxaudiodec.c:
2167 * omx/gstomxaudiodec.h:
2168 * omx/gstomxaudioenc.c:
2169 * omx/gstomxaudioenc.h:
2170 * omx/gstomxvideodec.c:
2171 * omx/gstomxvideodec.h:
2172 * omx/gstomxvideoenc.c:
2173 * omx/gstomxvideoenc.h:
2174 omx: Let base classes handle EOS
2175 https://bugzilla.gnome.org//show_bug.cgi?id=734774
2177 2014-08-14 17:33:07 +0300 Sebastian Dröge <sebastian@centricular.com>
2179 * omx/gstomxaudiodec.c:
2180 omxaudiodec: Fix flushing logic and make it more similar to the video decoder
2182 === release 1.2.0 ===
2184 2014-07-23 11:28:12 +0200 Sebastian Dröge <sebastian@centricular.com>
2194 2014-07-22 09:23:00 +0200 Sebastian Dröge <sebastian@centricular.com>
2196 * config/bellagio/gstomx.conf:
2197 * config/rpi/gstomx.conf:
2198 config: Update ranks to PRIMARY+1 to have higher preference than avdec_*
2199 See https://bugzilla.gnome.org/show_bug.cgi?id=732161
2201 2014-07-20 17:46:30 +0200 Sebastian Dröge <sebastian@centricular.com>
2203 * omx/gstomxaudiosink.c:
2204 omxaudiosink: Set port to not flushing in prepare() and keep it at flushing in unprepare()
2205 https://bugzilla.gnome.org/show_bug.cgi?id=733168
2207 2014-07-13 22:15:18 +0200 Sebastian Dröge <sebastian@centricular.com>
2209 * omx/gstomxaacdec.c:
2210 * omx/gstomxaudiodec.c:
2211 * omx/gstomxaudiodec.h:
2212 * omx/gstomxmp3dec.c:
2213 omxaudiodec: Implement setting of fallback channel positions
2215 2014-07-13 18:22:39 +0200 Sebastian Dröge <sebastian@centricular.com>
2219 * omx/gstomxaacdec.c:
2220 * omx/gstomxaacdec.h:
2221 * omx/gstomxmp3dec.c:
2222 omx: Add AAC audio decoder
2224 2014-07-02 09:22:28 +0200 Sebastian Dröge <sebastian@centricular.com>
2226 * omx/gstomxaudiodec.c:
2227 omxaudiodec: Get PCM parameters from the out port, not the in port
2229 2014-05-15 13:24:39 +0200 Sebastian Dröge <sebastian@centricular.com>
2231 * omx/gstomxaudiodec.c:
2232 omxaudiodec: Implement hack for not disabling the output port after set_format until the output format is known
2233 Needed on some OMX implementations, e.g. the one from Atmel. It does
2234 not send the settings-changed event on the output port if it is
2237 2014-05-10 23:12:54 +0200 Sebastian Dröge <sebastian@centricular.com>
2241 * omx/gstomxaudiodec.c:
2242 * omx/gstomxaudiodec.h:
2243 * omx/gstomxmp3dec.c:
2244 * omx/gstomxmp3dec.h:
2245 omx: Add audio decoder base class and a subclass for MP3
2247 2014-07-01 09:38:01 +0200 Sebastian Dröge <sebastian@centricular.com>
2251 omx: Link to gmodule-2.0-no-export for being able to use the g_module_*() API
2252 https://bugzilla.gnome.org/show_bug.cgi?id=732518
2254 2014-06-30 15:00:54 +0200 Sebastian Dröge <sebastian@centricular.com>
2256 * examples/egl/testegl.c:
2257 examples: #define GST_USE_UNSTABLE_API for libgstgl
2259 2014-06-29 19:10:19 +0200 Sebastian Dröge <sebastian@centricular.com>
2261 * omx/gstomxh264enc.c:
2262 * omx/gstomxh264enc.h:
2263 omxh264enc: Properly accumulate headers and push before the next frame
2264 Fixes output of encoding on RPi, where each header buffer (SPS and PPS)
2265 is in a separate OMX buffer.
2266 https://bugzilla.gnome.org/show_bug.cgi?id=726669
2268 2014-06-29 19:04:54 +0200 Sebastian Dröge <sebastian@centricular.com>
2270 * omx/gstomxvideoenc.c:
2271 omxvideoenc: Implement flush() instead of the deprecated reset()
2273 2014-06-25 17:14:18 +0200 Sebastian Dröge <sebastian@centricular.com>
2275 * config/rpi/gstomx.conf:
2276 rpi: It's 44100Hz, not 41400Hz
2278 2014-06-25 11:12:51 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
2281 configure.ac: require gstgl >= 1.3.3
2283 2014-04-25 13:25:05 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
2287 example: enable testegl
2288 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
2290 2014-06-25 10:19:54 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
2292 * examples/egl/testegl.c:
2293 testegl: do matrix mutlplication in the shader
2294 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
2296 2014-06-25 09:36:38 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
2298 * examples/egl/testegl.c:
2299 testegl: add a comment for the parse command
2300 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
2302 2014-04-25 17:32:16 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
2304 * examples/egl/Makefile.am:
2305 * examples/egl/cube_texture_and_coords.h:
2306 * examples/egl/testegl.c:
2307 testegl: convert code from GLESv1 to GLESv2
2308 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
2310 2014-04-25 13:21:59 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
2312 * examples/egl/Makefile.am:
2313 * examples/egl/testegl.c:
2314 testegl: port to gstgl API
2315 - append a glfilter just before fakesink
2316 So that we get gltexture or eglimages
2317 - propagate our EGLDisplay to the pipeline
2318 see GST_QUERY_CONTEXT
2319 - share our EGLContext with the iternal gl context
2320 of the pipeline, see GST_QUERY_ALLOCATION
2321 - use GstVideoGLTextureUploadMeta to upload
2322 the incoming gltexture or eglimage to our gl texture
2323 TODO: convert from GLESv1 to GLESv2
2324 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
2326 2014-06-24 14:52:58 +0200 Sebastian Dröge <sebastian@centricular.com>
2328 * omx/gstomxbufferpool.c:
2329 * omx/gstomxbufferpool.h:
2330 * omx/gstomxvideodec.c:
2331 omxbufferpool: Copy buffers if the stride does not match and we can't use video meta
2332 https://bugzilla.gnome.org/show_bug.cgi?id=731672
2334 2014-06-24 14:52:43 +0200 Sebastian Dröge <sebastian@centricular.com>
2338 * omx/gstomxvp8dec.h:
2339 omx: Only include OMX_VideoExt.h conditionally
2340 It does not exist on the RPi for example.
2342 2014-06-24 13:59:44 +0200 Sebastian Dröge <sebastian@centricular.com>
2345 configure.ac: Require GStreamer core/base >= 1.2.2
2346 Needed at least for gst_video_decoder_release_frame().
2348 2014-06-24 13:02:13 +0200 Sebastian Dröge <sebastian@centricular.com>
2350 * omx/gstomxbufferpool.c:
2351 omxbufferpool: Fix format string compiler warning
2353 2014-06-22 21:11:45 +0000 Michal Lazo <xlazom00@gmail.com>
2355 * omx/gstomxbufferpool.c:
2356 omxbufferpool: Initialize debug category
2358 2014-06-24 12:42:22 +0200 Sebastian Dröge <sebastian@centricular.com>
2360 * omx/gstomxbufferpool.c:
2361 omxbufferpool: Properly convert OMX alignment to GStreamer alignment
2362 GStreamer uses a bitmask for the alignment while OMX uses the
2363 alignment itself. Let's convert.
2364 https://bugzilla.gnome.org/show_bug.cgi?id=710564
2366 2014-06-24 11:11:28 +0200 Sebastian Dröge <sebastian@centricular.com>
2368 * omx/gstomxh264enc.c:
2369 omxh264enc: Don't let baseclass finish frames for SPS/PPS buffers
2370 Otherwise we a) send them twice, and b) finish a frame for something
2371 that does not even include a frame.
2372 https://bugzilla.gnome.org/show_bug.cgi?id=726669
2374 2014-06-24 10:22:37 +0200 Sebastian Dröge <sebastian@centricular.com>
2376 * omx/gstomxvideo.h:
2377 omxvideo: Include the separate headers too for compatibility with 1.0.x
2379 2014-03-24 16:09:40 +0800 Zhao, Halley <halley.zhao@intel.com>
2382 * omx/gstomxvp8dec.h:
2383 omxvp8dec: use VP8 definition from OMX_VideoExt.h
2384 https://bugzilla.gnome.org/show_bug.cgi?id=726957
2386 2014-03-24 15:33:26 +0800 Zhao, Halley <halley.zhao@intel.com>
2389 configure: add --with-omx-header-path option for external omx headers
2390 https://bugzilla.gnome.org/show_bug.cgi?id=726957
2392 2014-06-18 23:04:33 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
2394 * omx/gstomxvideodec.c:
2395 omxvideodec: fix a query leak
2396 Also add a debug message if query fails.
2397 https://bugzilla.gnome.org/show_bug.cgi?id=731898
2399 2014-05-30 15:29:15 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
2401 * omx/gstomxvideodec.c:
2402 omxvideodec: release frames with old PTS to avoid memory issue
2403 Interlaced stream could make the decoder use two input frames to produce
2404 one output frame causing the gstvideodecoder frame list to grow.
2405 Assuming the video decoder output frame in display order rather than in
2406 decoding order, this commit add a way to release frames with PTS less
2407 than current output frame.
2408 https://bugzilla.gnome.org/show_bug.cgi?id=730995
2410 2013-06-27 21:59:29 +0900 Kazunori Kobayashi <kkobayas@igel.co.jp>
2413 omx: Fix a missing g_free() in error path
2414 This fixes a memory leak with g_strdup() when an error occurs.
2415 https://bugzilla.gnome.org/show_bug.cgi?id=731141
2417 2014-06-02 15:34:09 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
2419 * omx/gstomxvideodec.c:
2420 omxvideodec: add missing stream unlock in error path
2422 2014-05-31 15:12:05 +0200 Sebastian Dröge <sebastian@centricular.com>
2425 omx: Don't handle disabling/enabling ports exactly like flushing
2426 Otherwise we might abort a flush operation in another thread when
2427 enabling/disabling ports, leading to deadlocks sometimes.
2428 https://bugzilla.gnome.org/show_bug.cgi?id=730989
2430 2014-05-26 11:02:10 +0200 Sebastian Dröge <sebastian@centricular.com>
2432 * omx/gstomxvideodec.c:
2433 omxvideodec: Don't leak buffer pool config in error cases
2436 2014-05-21 10:53:43 +0200 Sebastian Dröge <sebastian@centricular.com>
2439 Automatic update of common submodule
2440 From 211fa5f to 1f5d3c3
2442 2014-05-19 09:10:07 +0200 Sebastian Dröge <sebastian@centricular.com>
2444 * omx/gstomxvideoenc.c:
2445 omxvideoenc: Don't forget to unref codec state
2448 2014-05-19 09:08:33 +0200 Sebastian Dröge <sebastian@centricular.com>
2450 * omx/gstomxvideodec.c:
2451 omxvideodec: Make output buffer pointer always initialized
2454 2014-05-19 09:06:42 +0200 Sebastian Dröge <sebastian@centricular.com>
2456 * omx/gstomxvideodec.c:
2457 omxvideodec: Check return value of gst_buffer_map()
2460 2014-05-19 09:04:09 +0200 Sebastian Dröge <sebastian@centricular.com>
2462 * omx/gstomxvideodec.c:
2463 omxvideodec: Check return value of gst_omx_port_set_enabled() for errors
2466 2014-05-19 09:01:46 +0200 Sebastian Dröge <sebastian@centricular.com>
2468 * omx/gstomxvideodec.c:
2469 omxvideodec: Check return values of buffer pool config parsing functions
2472 2014-05-19 08:48:50 +0200 Sebastian Dröge <sebastian@centricular.com>
2475 omx: Remove dead code, buf can never be NULL here as we just check for that the line above
2478 2014-05-19 08:47:36 +0200 Sebastian Dröge <sebastian@centricular.com>
2481 omx: Fix comparisons in gst_omx_state_to_string() case to actually make sense
2484 2014-05-19 08:45:10 +0200 Sebastian Dröge <sebastian@centricular.com>
2487 omx: Make sure to compare the error codes as unsigned integers so that comparisons >2**31 actually work
2490 2014-05-19 08:40:23 +0200 Sebastian Dröge <sebastian@centricular.com>
2493 omx: Fix comparisons in gst_omx_command_to_string() default cause to actually work
2496 2014-05-15 13:22:56 +0200 Sebastian Dröge <sebastian@centricular.com>
2498 * omx/gstomxaudioenc.c:
2499 omxaudioenc: Implement hack for not disabling the output port after set_format until the output format is known
2500 Needed on some OMX implementations, e.g. the one from Atmel. It does
2501 not send the settings-changed event on the output port if it is
2504 2014-05-15 13:21:07 +0200 Sebastian Dröge <sebastian@centricular.com>
2506 * omx/gstomxvideoenc.c:
2507 omxvideoenc: Implement hack for not disabling the output port after set_format until the output format is known
2508 Needed on some OMX implementations, e.g. the one from Atmel. It does
2509 not send the settings-changed event on the output port if it is
2512 2014-05-15 10:58:34 +0200 Sebastian Dröge <sebastian@centricular.com>
2516 * omx/gstomxvideodec.c:
2517 omx: Add a hack for not disabling the output port after set_format until the output format is known
2518 Needed on some OMX implementations, e.g. the one from Atmel. It does
2519 not send the settings-changed event on the output port if it is
2522 2014-05-12 12:33:32 +0200 Josep Torra <n770galaxy@gmail.com>
2524 * omx/gstomxaudiosink.c:
2525 omxaudiosink: implement _delay only in the RaspberryPI
2526 Make code implementation conditionally built for RaspberryPI because
2527 OMX_IndexConfigAudioRenderingLatency seems to be a Broadcom extension.
2528 On other targets the query position might not be accurate without
2529 implementing _delay appropriatelly.
2531 2014-05-12 08:56:15 +0200 Sebastian Dröge <sebastian@centricular.com>
2533 * omx/gstomxaudioenc.c:
2534 omxaudioenc: Correctly scale nTickCount by OMX_TICKS_PER_SECOND
2536 2014-05-10 22:48:23 +0200 Sebastian Dröge <sebastian@centricular.com>
2538 * omx/gstomxaudioenc.c:
2539 omxaudioenc: Drain encoder on NULL buffer and don't drain on flushing
2541 2014-05-10 22:47:56 +0200 Sebastian Dröge <sebastian@centricular.com>
2543 * omx/gstomxvideodec.c:
2544 omxvideodec: Set nTickCount based on the buffer's duration instead of something wrong
2546 2014-05-10 22:47:21 +0200 Sebastian Dröge <sebastian@centricular.com>
2548 * omx/gstomxvideoenc.c:
2549 omxvideoenc: Set nTickCount to the whole duration of the buffer instead of a wrong calculation
2551 2014-05-10 22:46:51 +0200 Sebastian Dröge <sebastian@centricular.com>
2553 * omx/gstomxaudiosink.c:
2554 omxaudiosink: Fix format string compiler warnings
2556 2014-04-04 14:11:58 +0200 Josep Torra <n770galaxy@gmail.com>
2558 * config/rpi/gstomx.conf:
2561 * omx/gstomxanalogaudiosink.c:
2562 * omx/gstomxanalogaudiosink.h:
2563 * omx/gstomxaudiosink.c:
2564 * omx/gstomxaudiosink.h:
2565 * omx/gstomxhdmiaudiosink.c:
2566 * omx/gstomxhdmiaudiosink.h:
2567 omxaudiosink: Implements OpenMAX based audio sinks
2568 Provides omxanalogaudiosink and omxhdmiaudiosink elements on
2570 - omxanalogaudiosink is capable to render raw mono or stereo audio
2571 through the jack output.
2572 - omxhdmiaudiosink is capable to render raw audio up to 8 channels
2573 and transmit ac3/dts(IEC 61937) through the HDMI output.
2574 - sinks provide a clock derived from rendered samples
2575 - sinks support the GstStreamVolume interface by implementing
2576 the volume and mute properties.
2577 https://bugzilla.gnome.org/show_bug.cgi?id=728962
2579 2014-05-03 10:17:35 +0200 Sebastian Dröge <sebastian@centricular.com>
2582 Automatic update of common submodule
2583 From bcb1518 to 211fa5f
2585 2014-04-29 15:16:16 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
2587 * omx/gstomxvideodec.c:
2588 omxvideodec: can negotiate caps with memory:EGLImage feature when using EGLImage allocator
2589 Previously when using gst EGLImage allocator the caps was
2590 video/x-raw, format=RGBA instead of
2591 video/x-raw(memory:EGLImage), format=RGBA
2592 Kepp previous behavior in case negotiation fails with caps feature.
2593 It means it will still have a chance to use EGLImage even if the
2594 feature is not in the caps.
2595 https://bugzilla.gnome.org/show_bug.cgi?id=729196
2597 2014-04-23 09:57:48 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
2599 * omx/gstomxvp8dec.h:
2600 omxvp8dec: fix typo in GST_TYPE_OMX_VP8_DEC define
2601 https://bugzilla.gnome.org/show_bug.cgi?id=728774
2603 2014-04-16 11:00:55 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
2605 * omx/gstomxvideodec.c:
2606 omxvideodec: don't unref caps before logging field from it
2607 https://bugzilla.gnome.org/show_bug.cgi?id=728322
2609 2014-04-15 17:30:13 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
2613 example: disable testegl since libgstegl has been removed
2614 As decided in bug #703343
2615 Not compatible with the new libgstgl API.
2616 A portage has been started, attachment 272800.
2617 https://bugzilla.gnome.org/show_bug.cgi?id=703343
2619 2014-04-15 17:11:08 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
2621 * omx/gstomxvideodec.c:
2622 omxvideodec: use new libgstgl API since libgstegl has been removed
2623 There is no point to retrieve a ref/unref type
2624 instead of an EGLDisplay directly. It's like for EGLImage.
2625 https://bugzilla.gnome.org/show_bug.cgi?id=703343
2627 2014-04-15 17:06:38 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
2630 * examples/Makefile.am:
2632 * omx/gstomxvideodec.c:
2633 configure.ac: check for libgstgl since libgstegl has been removed
2634 https://bugzilla.gnome.org/show_bug.cgi?id=703343
2636 2014-04-09 18:52:16 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
2638 * omx/gstomxbufferpool.c:
2639 * omx/gstomxvideodec.c:
2640 omxvideodec: add support of more color format
2641 Add support for ABGR, ARGB, RGB16, BGR16, YUY2, UYVY, YVYU, GRAY8 and
2644 2014-04-09 18:51:57 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
2646 * omx/gstomxvideodec.c:
2647 omxvideodec: simplify color format conversion in fill_buffer function
2649 2014-04-09 18:51:41 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
2651 * omx/gstomxbufferpool.c:
2652 omxbufferpool: make video stride and offset calculation easier
2653 It will be easier to support more color format.
2655 2014-04-09 18:51:12 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
2657 * omx/gstomxvideo.c:
2658 * omx/gstomxvideo.h:
2659 * omx/gstomxvideodec.c:
2660 omx: add an helper to convert OMX color format to GStreamer color format
2662 2014-03-10 17:43:50 +0100 Josep Torra <n770galaxy@gmail.com>
2664 * examples/egl/testegl.c:
2665 * omx/gstomxvideodec.c:
2666 omxvideodec: Implement pipeline draining to support adaptive scenarios
2667 When draining due a format change also drain
2668 the pipeline to reclaim back all buffers.
2669 https://bugzilla.gnome.org/show_bug.cgi?id=726107
2671 2014-03-27 13:57:32 +0100 Josep Torra <n770galaxy@gmail.com>
2673 * examples/egl/testegl.c:
2674 examples: fix several memory leaks in the testegl example
2675 Ensure to call to image_data_free in order to release GPU resources.
2676 Also ensure to destroy EGLImage and GLTexture from proper
2678 https://bugzilla.gnome.org/show_bug.cgi?id=726107
2680 2014-03-25 17:16:31 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
2682 * examples/egl/testegl.c:
2683 examples: keep a ref on the buffer instead of the memory
2685 https://bugzilla.gnome.org/show_bug.cgi?id=726107
2687 2014-03-07 20:08:05 +0100 Josep Torra <n770galaxy@gmail.com>
2689 * omx/gstomxvideodec.c:
2690 omxvideodec: fixes race condition during seeks
2691 Acording 6.1.3 Seek Event Sequence in the OpenMAX IL 1.1.2 spec
2692 document in order to flush the component it needs to be in
2694 https://bugzilla.gnome.org/show_bug.cgi?id=726038
2696 2014-01-29 18:31:26 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
2698 * omx/gstomxvideodec.c:
2699 omxvideodec: use flush because reset is deprecated
2700 https://bugzilla.gnome.org/show_bug.cgi?id=726038
2702 2014-01-27 17:03:50 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
2704 * omx/gstomxvideodec.c:
2705 omxvideodec: populate the most downstream output port on reset
2706 Make seeking work when using egl_render component
2707 https://bugzilla.gnome.org/show_bug.cgi?id=726038
2709 2014-03-24 17:49:59 +0100 Josep Torra <n770galaxy@gmail.com>
2711 * omx/gstomxbufferpool.c:
2712 omxbufferpool: return buffers to the pool instead of freeing them
2713 We have to return the buffers back to the pool in when stopping to
2714 not mess with the GstBufferPool accounting.
2715 The OMX buffers will be freed when those won't be in charge of the
2716 pool in the chained up call to 'stop'.
2717 Fixes segfaults on finalize and pool not being properly deactivated.
2718 https://bugzilla.gnome.org/show_bug.cgi?id=726337
2720 2014-03-19 12:12:49 +0100 Christian König <christian.koenig@amd.com>
2722 * omx/gstomxvideodec.c:
2723 omxvideodec: add missing unlock in the error path
2724 Signed-off-by: Christian König <christian.koenig@amd.com>
2725 https://bugzilla.gnome.org/show_bug.cgi?id=726958
2727 2014-03-18 23:36:59 +0100 Michal Lazo <xlazom00@gmail.com>
2729 * omx/gstomxh264enc.c:
2730 * omx/gstomxh264enc.h:
2733 2014-03-17 09:57:11 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
2735 * omx/gstomxbufferpool.c:
2736 omxbufferpool: fix memory leak if used on output port
2737 When using GstOMXBufferPool on an output port, it internally uses
2738 a GPtrArray to manage the GstBuffers instead of the default queue
2739 from the GstBufferPool base class.
2740 In this case GstBufferPool::default_free_buffer is not called when
2741 the pool is stopped. Because the queue is empty. So explicitely
2742 call gst_omx_buffer_pool_free_buffer on each buffer contained in
2744 https://bugzilla.gnome.org/show_bug.cgi?id=726337
2746 2014-03-16 17:32:05 +0100 Sebastian Dröge <sebastian@centricular.com>
2748 * omx/gstomxh264enc.c:
2749 omxh264enc: Fix compiler warnings
2751 2014-03-16 17:19:08 +0100 Michal Lazo <xlazom00@gmail.com>
2753 * omx/gstomxh264enc.c:
2754 * omx/gstomxh264enc.h:
2755 omxh264enc: IDR interval, SPS and PPS headers for rpi
2756 https://bugzilla.gnome.org/show_bug.cgi?id=720031
2758 2014-03-13 14:26:58 +0100 Christian König <christian.koenig@amd.com>
2762 * omx/gstomxvideo.c:
2763 omxvideo: fix debug category initialisation
2764 https://bugzilla.gnome.org/show_bug.cgi?id=726024
2766 2014-03-13 19:04:47 +0100 Christian König <christian.koenig@amd.com>
2768 * omx/gstomxbufferpool.h:
2769 omxbufferpool: add proper type definitions
2770 https://bugzilla.gnome.org/show_bug.cgi?id=726325
2772 2014-03-02 10:30:04 +0100 Christian König <christian.koenig@amd.com>
2775 omx: consolidate message waiting code
2776 Add a wait_message helper function and remove all those duplicated code.
2777 https://bugzilla.gnome.org/show_bug.cgi?id=725493
2779 2014-03-12 12:48:12 +0100 Sebastian Dröge <sebastian@centricular.com>
2781 * omx/gstomxvideo.c:
2782 omx: Copy old copyright notice into the new file
2784 2014-03-12 12:47:34 +0100 Sebastian Dröge <sebastian@centricular.com>
2786 * omx/gstomxvideo.c:
2787 * omx/gstomxvideo.h:
2788 * omx/gstomxvideodec.c:
2789 * omx/gstomxvideoenc.c:
2790 omx: Rename function from _4_ to _for_ for clarity
2792 2014-03-03 16:15:24 +0100 Christian König <christian.koenig@amd.com>
2795 * omx/gstomxvideo.c:
2796 * omx/gstomxvideo.h:
2797 * omx/gstomxvideodec.c:
2798 * omx/gstomxvideoenc.c:
2799 omxvideo: start sharing more code between video decoder and encoder
2800 Identical functionality spread of two different components.
2801 We can't use a common base class because of different inheritance,
2802 but let's try to share the code anyway.
2803 https://bugzilla.gnome.org/show_bug.cgi?id=726024
2805 2014-03-12 12:43:49 +0100 Sebastian Dröge <sebastian@centricular.com>
2807 * examples/egl/Makefile.am:
2808 examples: Only build RPi EGL example if RPi was chosen as target
2810 2014-03-12 12:42:23 +0100 Sebastian Dröge <sebastian@centricular.com>
2812 * omx/gstomxbufferpool.h:
2813 omxbufferpool: Fix header include guard
2815 2014-03-05 11:41:02 +0100 Christian König <christian.koenig@amd.com>
2818 * omx/gstomxbufferpool.c:
2819 * omx/gstomxbufferpool.h:
2820 * omx/gstomxvideodec.c:
2821 omxvideodec: separate the buffer pool from the decoder
2822 https://bugzilla.gnome.org/show_bug.cgi?id=726025
2824 2014-03-04 17:41:20 +0100 Christian König <christian.koenig@amd.com>
2828 * omx/gstomxvideodec.c:
2829 omx: simplify tunnel functions
2830 Specifying the component is error prone and unnecessary.
2831 https://bugzilla.gnome.org/show_bug.cgi?id=726021
2833 2014-03-07 17:12:24 +0100 Christian König <christian.koenig@amd.com>
2835 * omx/gstomxvideodec.c:
2836 omxvideodec: fix memory leak in gst_omx_video_dec_allocate_output_buffers
2837 https://bugzilla.gnome.org/show_bug.cgi?id=725907
2839 2014-03-07 13:18:49 +0100 Christian König <christian.koenig@amd.com>
2841 * omx/gstomxvideodec.c:
2842 omxvideodec: fix memory leak gst_omx_video_dec_negotiate
2843 https://bugzilla.gnome.org/show_bug.cgi?id=725907
2845 2014-03-05 18:54:05 +0100 Christian König <christian.koenig@amd.com>
2847 * omx/gstomxvideoenc.c:
2848 omxvideoenc: fix a memory leak in gst_omx_video_enc_getcaps
2849 https://bugzilla.gnome.org/show_bug.cgi?id=725826
2851 2014-03-05 17:43:33 +0100 Josep Torra <n770galaxy@gmail.com>
2854 Makefile.am: build examples
2855 There's no reason to not build the examples now that are ported to 1.x.
2857 2014-03-05 17:25:09 +0100 Josep Torra <n770galaxy@gmail.com>
2859 * examples/egl/testegl.c:
2860 examples: avoid a clashing name with the recently added GstEGLImagePool
2861 Fixes build with current master.
2863 2013-09-05 03:41:10 -0600 Christian König <christian.koenig@amd.com>
2865 * omx/gstomxvideoenc.c:
2866 omxvideoenc: simplify _find_nearest_frame
2867 Just the same as we did with the decoder. Also give the
2868 function a gst_omx_video_enc prefix to distinct it from
2869 the decoder function.
2870 https://bugzilla.gnome.org/show_bug.cgi?id=724236
2872 2013-09-05 02:23:39 -0600 Christian König <christian.koenig@amd.com>
2874 * omx/gstomxvideodec.c:
2875 omxvideodec: simplify _find_nearest_frame
2876 No need to make it more complicated and error prone than
2877 necessary. Also give the function a gst_omx_video_dec prefix
2878 to distinct it from the encoder function.
2879 https://bugzilla.gnome.org/show_bug.cgi?id=724236
2881 2013-09-05 02:05:52 -0600 Christian König <christian.koenig@amd.com>
2883 * omx/gstomxvideodec.c:
2884 omxvideodec: remove dead code
2885 This code doesn't seems to be used for quite a while,
2886 remove it before it starts to rot.
2887 https://bugzilla.gnome.org/show_bug.cgi?id=724236
2889 2014-03-01 22:28:24 +0100 Christian König <christian.koenig@amd.com>
2892 omx: fix two serious message handling bugs
2893 Waiting for the next message if we already got one
2894 is nonsense and can lead to lockups.
2895 https://bugzilla.gnome.org/show_bug.cgi?id=725468
2897 2014-03-01 18:49:41 +0100 Christian König <christian.koenig@amd.com>
2899 * omx/gstomxvideoenc.c:
2900 omxvideoenc: fix startup race condition
2901 The reset function shouldn't start the src pad
2902 loop if it wasn't started before.
2903 Signed-off-by: Christian König <christian.koenig@amd.com>
2905 2014-03-01 18:48:17 +0100 Christian König <christian.koenig@amd.com>
2907 * omx/gstomxvideodec.c:
2908 omxvideodec: fix startup race condition
2909 The reset function shouldn't start the src pad
2910 loop if it wasn't started before.
2911 Signed-off-by: Christian König <christian.koenig@amd.com>
2913 2014-02-28 09:36:13 +0100 Sebastian Dröge <sebastian@centricular.com>
2916 Automatic update of common submodule
2917 From fe1672e to bcb1518
2919 2014-02-26 22:15:00 +0100 Stefan Sauer <ensonic@users.sf.net>
2922 Automatic update of common submodule
2923 From 1a07da9 to fe1672e
2925 2014-01-30 10:45:18 +0100 Edward Hervey <bilboed@bilboed.com>
2928 Automatic update of common submodule
2929 From d48bed3 to 1a07da9
2931 2014-01-25 17:44:14 +0100 Sebastian Dröge <sebastian@centricular.com>
2933 * omx/gstomxaudioenc.c:
2934 * omx/gstomxvideodec.c:
2935 * omx/gstomxvideoenc.c:
2936 omx: Don't handle FLUSHING and NOT_LINKED as errors
2937 Also don't stop the task on NOT_LINKED. We're not a demuxer.
2939 2013-12-22 22:35:31 +0000 Tim-Philipp Müller <tim@centricular.com>
2942 Automatic update of common submodule
2943 From dbedaa0 to d48bed3
2945 2013-11-05 11:22:02 +0000 Tim-Philipp Müller <tim@centricular.com>
2948 Automatic update of common submodule
2949 From 865aa20 to dbedaa0
2951 2013-09-28 13:32:37 +0200 Josep Torra <n770galaxy@gmail.com>
2953 * examples/egl/testegl.c:
2954 examples: simplify the thread synchronization code
2955 Make everithing more simple and fix the races conditions remaining in
2956 the previous approaches.
2958 2013-09-25 19:17:17 +0200 Sebastian Dröge <slomo@circular-chaos.org>
2960 * config/rpi/gstomx.conf:
2961 rpi: The WMV/VC1 decoder can only do WMV9 and VC1, no older versions
2963 2013-09-24 18:34:42 +0100 Tim-Philipp Müller <tim@centricular.net>
2966 Automatic update of common submodule
2967 From 6b03ba7 to 865aa20
2969 2013-09-24 18:48:24 +0200 Josep Torra <n770galaxy@gmail.com>
2971 * examples/egl/testegl.c:
2972 examples: fix another race condition
2973 Fix a race condition that caused randome deadlocks on EOS.
2975 2013-09-20 17:19:53 +0200 Josep Torra <n770galaxy@gmail.com>
2977 * config/rpi/gstomx.conf:
2978 rpi: fix a copy paste error in the config file
2980 2013-09-20 17:09:52 +0200 Josep Torra <n770galaxy@gmail.com>
2982 * examples/egl/testegl.c:
2983 examples: fix a race condition when seeking
2984 Fixes a race condition that caused pipeline deadlock during seeks.
2986 2013-09-20 10:38:12 +0200 Josep Torra <n770galaxy@gmail.com>
2988 * examples/egl/testegl.c:
2989 examples: display QoS statistics
2991 2013-09-20 09:34:37 +0200 Josep Torra <n770galaxy@gmail.com>
2993 * examples/egl/testegl.c:
2994 examples: use dedicated thread for rendering the scene
2995 Produces smother animation and prevents dropping frames due busy
2998 2013-09-20 08:25:21 +0200 Josep Torra <n770galaxy@gmail.com>
3000 * examples/egl/testegl.c:
3001 examples: don't force an specific audio sink
3002 Let playbin2 choose the audiosink available in the system.
3004 2013-09-20 08:19:48 +0200 Josep Torra <n770galaxy@gmail.com>
3006 * examples/egl/Makefile.am:
3007 examples: drop remnants of initial appsink attempt
3009 2013-09-20 16:18:18 +0200 Edward Hervey <edward@collabora.com>
3012 Automatic update of common submodule
3013 From b613661 to 6b03ba7
3015 2013-09-19 18:45:36 +0100 Tim-Philipp Müller <tim@centricular.net>
3018 Automatic update of common submodule
3019 From 74a6857 to b613661
3021 2013-09-19 17:38:30 +0100 Tim-Philipp Müller <tim@centricular.net>
3024 Automatic update of common submodule
3025 From 01a7a46 to 74a6857
3027 2013-08-20 16:00:07 +0100 Tim-Philipp Müller <tim@centricular.net>
3030 * omx/gstomxvideodec.c:
3031 omx: don't use the 'z' modifier to print size_t
3032 gcc will warn in some cases even if the size of the type
3033 is exactly that of size_t on the platform.
3034 https://bugzilla.gnome.org/show_bug.cgi?id=699008
3036 2013-07-01 15:48:47 +0200 Roman Arutyunyan <arutyunyan.roman@gmail.com>
3038 * omx/gstomxvideoenc.c:
3039 gstomxvideoenc: Set bitrate in setcaps
3040 Otherwise it gets lost whenever we configure new caps
3041 https://bugzilla.gnome.org/show_bug.cgi?id=698049
3043 2013-06-30 18:17:05 +0700 Ilya Smelykh <ilya@videoexpertsgroup.com>
3045 * examples/egl/testegl.c:
3046 examples: enable audio in testegl example
3048 2013-06-12 09:38:22 +0200 Sebastian Dröge <slomo@circular-chaos.org>
3051 configure: Allow build without gstreamer-egl
3053 2013-06-07 12:39:18 +0700 Ilya Smelykh <ilya@videoexpertsgroup.com>
3055 * examples/egl/Makefile.am:
3056 * examples/egl/testegl.c:
3057 examples: testegl example port to 1.x
3058 https://bugzilla.gnome.org/show_bug.cgi?id=701706
3060 2013-06-05 15:17:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3063 Automatic update of common submodule
3064 From 098c0d7 to 01a7a46
3066 2013-05-20 12:06:34 +0200 Josep Torra <n770galaxy@gmail.com>
3068 * omx/gstomxaudioenc.c:
3069 * omx/gstomxvideodec.c:
3070 * omx/gstomxvideoenc.c:
3071 omx: Take lock on EOS to update the flow return value
3072 Fixes "GThread-ERROR **: file gthread-posix.c: line 171
3073 (g_mutex_free_posix_impl): error 'Device or resource busy' during
3074 'pthread_mutex_destroy ((pthread_mutex_t *) mutex)'" in _finalize.
3076 2013-05-15 10:54:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3079 Automatic update of common submodule
3080 From 5edcd85 to 098c0d7
3082 2013-04-11 17:35:19 +0200 Josep Torra <n770galaxy@gmail.com>
3086 * examples/Makefile.am:
3087 * examples/egl/Makefile.am:
3088 * examples/egl/cube_texture_and_coords.h:
3089 * examples/egl/testegl.c:
3090 examples: add an example aplication based OpenGL ES + EGL
3091 Application that shows how to integrate playbin with an OpenGL ES
3092 scene through EGL. Renders a video on the surfaces of an animated cube.
3093 The code is not ported to 1.x so it's not built by default.
3095 2013-05-10 12:25:07 +0200 Josep Torra <n770galaxy@gmail.com>
3097 * omx/gstomxvideodec.c:
3098 omxvideodec: Redesign video size change reconfiguration code
3099 Ensure stop the decoder before clossing the tunnel.
3101 2013-05-06 16:25:27 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3104 Makefile.am: Add -I common/m4
3105 This allows autoreconf to work correctly and automatic regeneration
3106 of autotools files if something changed.
3108 2013-05-06 19:03:59 +0530 jitendra <jvarshney20@gmail.com>
3112 * omx/gstomxaudioenc.c:
3113 * omx/gstomxvideodec.c:
3114 * omx/gstomxvideoenc.c:
3115 omx: Add pads based on element type
3116 This allows to later add sources and sink that only have a srcpad
3118 https://bugzilla.gnome.org/show_bug.cgi?id=699754
3120 2013-04-27 02:50:25 +0200 Carlos Rafael Giani <dv@pseudoterminal.org>
3123 omx: fixed type error in printf call
3125 https://bugzilla.gnome.org/show_bug.cgi?id=699008
3127 2013-04-08 17:26:16 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
3131 * omx/gstomxvideodec.c:
3132 Check for gstreamer-egl
3133 And don't use if not available.
3134 https://bugzilla.gnome.org/show_bug.cgi?id=697574
3136 2013-04-23 09:53:18 +0100 Tim-Philipp Müller <tim@centricular.net>
3139 configure: error out if no OMX target has been set explicitly with --with-omx-target=x
3140 Avoids people building for e.g. the Raspberry Pi and then wondering
3141 why things don't work as expected (since structs are packed differently
3144 2013-04-22 23:55:03 +0100 Tim-Philipp Müller <tim@centricular.net>
3147 Automatic update of common submodule
3148 From 3cb3d3c to 5edcd85
3150 2013-04-18 22:07:28 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
3153 * omx/gstomxaudioenc.c:
3154 * omx/gstomxh263enc.c:
3155 * omx/gstomxh264enc.c:
3156 * omx/gstomxmpeg4videoenc.c:
3157 * omx/gstomxvideodec.c:
3158 * omx/gstomxvideoenc.c:
3159 omx: more printf format fixes
3160 Fix printf formats again, so that gst-omx compiles warning-
3161 free on the Raspberry Pi as well. Unfortunately OMX_UINT32
3162 maybe be typedefed to uint32_t or unsigned long, which
3163 doesn't work well with our debugging printf format strings,
3164 so just use %u for those and cast to guint.
3166 2013-04-18 16:40:06 +0200 Josep Torra <n770galaxy@gmail.com>
3169 omx: fixes unused variable 'comp' when GStreamer is built without debug
3171 2013-04-18 16:03:56 +0200 Josep Torra <n770galaxy@gmail.com>
3173 * omx/gstomxvideodec.c:
3174 omxvideodec: don't use 'self->dec_out_port' anymore and use just 'port'
3175 Fixes some criticals.
3177 2013-04-18 15:21:32 +0200 Josep Torra <n770galaxy@gmail.com>
3179 * omx/gstomxvideodec.c:
3180 omxvideodec: fixes 'port' may be used uninitialized in this function
3182 2013-04-18 12:03:31 +0200 Josep Torra <n770galaxy@gmail.com>
3184 * omx/gstomxvideodec.c:
3185 omxvideodec: silence warnings building for RPI related to 'vcos_*'
3187 2013-04-18 11:19:52 +0200 Josep Torra <n770galaxy@gmail.com>
3189 * omx/gstomxvideodec.c:
3190 omxvideodec: Use new type from libgstvideo
3192 2013-04-16 14:50:49 +0530 jitendra <jvarshney20@gmail.com>
3194 * omx/gstomxaudioenc.c:
3195 * omx/gstomxvideodec.c:
3196 * omx/gstomxvideoenc.c:
3197 omx: Disable output port before transition to idle state
3198 https://bugzilla.gnome.org/show_bug.cgi?id=698109
3200 2012-10-24 12:19:41 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3203 gst: Add better support for static plugins
3205 2013-04-14 17:57:34 +0100 Tim-Philipp Müller <tim@centricular.net>
3208 Automatic update of common submodule
3209 From aed87ae to 3cb3d3c
3211 2013-04-12 17:58:30 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
3214 configure: add --disable-fatal-warnings for disabling -Werror
3216 2013-04-09 21:02:09 +0200 Stefan Sauer <ensonic@users.sf.net>
3219 Automatic update of common submodule
3220 From 04c7a1e to aed87ae
3222 2013-04-08 17:02:32 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
3225 * omx/gstomxaudioenc.c:
3226 * omx/gstomxh263enc.c:
3227 * omx/gstomxh264enc.c:
3228 * omx/gstomxmpeg4videoenc.c:
3229 * omx/gstomxvideodec.c:
3230 * omx/gstomxvideoenc.c:
3231 omx: fix printf formats in debug messages
3232 OMX_U32 is typedefed to an unsigned long,
3233 OMX_TICKS to a 64-bit integer.
3235 2013-04-08 16:52:19 +0200 Josep Torra <n770galaxy@gmail.com>
3237 * omx/gstomxvideodec.c:
3238 omxvideodec: use the correct printf format in a debug message
3240 2013-04-08 16:31:33 +0200 Josep Torra <n770galaxy@gmail.com>
3242 * omx/gstomxvideodec.c:
3243 omxvideodec: use the correct OMX_IndexParam value
3244 Fixes playback is not smooth in the EGL path.
3246 2013-04-05 13:45:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3248 * omx/gstomxvideodec.c:
3249 omxvideodec: Don't use API that is not in master yet
3250 It's not really needed here yet, will be needed in future versions
3252 2013-02-25 11:55:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3258 * omx/gstomxvideodec.c:
3259 * omx/gstomxvideodec.h:
3260 omxvideodec: Add support for egl_render on RPi
3262 2013-03-22 19:26:54 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
3267 2013-03-22 19:23:14 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
3269 * omx/gstomxh263enc.c:
3270 * omx/gstomxh264enc.c:
3271 * omx/gstomxmpeg4videoenc.c:
3272 omx: fix compiler warnings when compiling with -DG_DISABLE_ASSERT
3273 As we do for releases. Fixes 'variable may be used uninitialized'
3276 === release 1.0.0 ===
3278 2013-03-22 17:16:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3289 2013-03-19 16:40:09 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
3291 * omx/gstomxtheoradec.h:
3292 * omx/gstomxvp8dec.h:
3293 omx: fix typo in copyright headers
3295 2013-03-19 13:46:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3297 * config/rpi/gstomx.conf:
3298 rpi: Fix commit that added the VC1 decoder
3300 2013-03-19 13:27:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3302 * config/rpi/gstomx.conf:
3303 * omx/gstomxh263dec.c:
3304 * omx/gstomxh264dec.c:
3305 * omx/gstomxmjpegdec.c:
3306 * omx/gstomxmpeg2videodec.c:
3307 * omx/gstomxmpeg4videodec.c:
3308 * omx/gstomxtheoradec.c:
3309 * omx/gstomxvideodec.c:
3310 * omx/gstomxvp8dec.c:
3311 * omx/gstomxwmvdec.c:
3312 omx: Add more constraints to the default sink template caps
3314 2013-03-19 13:10:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3316 * config/rpi/gstomx.conf:
3317 rpi: Add VC1/WMV3 decoder
3318 WMV2 and WMV1 (aka WMV 1-8) are not supported by RPi.
3320 2013-03-19 12:59:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3322 * config/rpi/gstomx.conf:
3323 rpi: Add MJPEG decoder
3325 2013-03-19 12:56:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3327 * config/rpi/gstomx.conf:
3328 rpi: Add VP8 decoder
3330 2013-03-19 12:55:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3332 * omx/gstomxvideodec.c:
3333 omxvideodec: Set ENDOFFRAME flag for the end of frames
3335 2013-03-19 12:28:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3337 * config/rpi/gstomx.conf:
3338 rpi: Add Theora decoder to the config
3340 2013-03-19 09:36:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3345 * omx/gstomxtheoradec.c:
3346 * omx/gstomxtheoradec.h:
3347 omx: Add Theora decoder
3349 2013-03-18 16:43:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3352 omx: Remove additional comma
3354 2013-03-18 16:34:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3356 * config/rpi/gstomx.conf:
3359 * omx/gstomxmpeg2dec.h:
3360 * omx/gstomxmpeg2videodec.c:
3361 * omx/gstomxmpeg2videodec.h:
3362 omx: Rename MPEG2 decoder for consistency everywhere
3364 2013-03-18 16:30:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3368 * omx/gstomxmjpegdec.c:
3369 * omx/gstomxmjpegdec.h:
3370 omx: Add MJPEG decoder support
3372 2013-03-18 16:06:54 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3377 * omx/gstomxvp8dec.c:
3378 * omx/gstomxvp8dec.h:
3379 omx: Add VP8 decoder support
3381 2013-03-18 15:44:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3383 * config/rpi/gstomx.conf:
3384 rpi: Add h263 decoder and rename MPEG2 decoder for consistency
3386 2013-03-16 13:20:27 +0000 Tim-Philipp Müller <tim@centricular.net>
3388 * omx/gstomxmpeg2dec.c:
3389 omxmpeg2dec: mpeg-2 decoder should be able to handle mpeg-1 too
3390 https://bugzilla.gnome.org/show_bug.cgi?id=695879
3392 2013-03-16 10:13:06 +0100 Josep Torra <n770galaxy@gmail.com>
3395 omx: minor stylistic change for consistency with other similar code
3397 2013-03-16 10:00:24 +0100 Josep Torra <n770galaxy@gmail.com>
3399 * omx/gstomxaudioenc.c:
3400 * omx/gstomxvideodec.c:
3401 * omx/gstomxvideoenc.c:
3402 omx: Clarify that loop task is also paused in EOS
3404 2013-03-16 09:59:01 +0100 Josep Torra <n770galaxy@gmail.com>
3406 * omx/gstomxvideoenc.c:
3407 omxvideoenec: Don't forget propagate flow return value upstream
3409 2013-03-15 13:16:39 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
3412 omx: improve debug logging some more
3414 2013-03-15 14:09:45 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3416 * omx/gstomxvideodec.c:
3417 omxvideodec: Make sure that the first frame we pass to OpenMAX is a sync frame
3419 2013-03-15 11:46:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3421 * omx/gstomxaudioenc.c:
3422 * omx/gstomxvideodec.c:
3423 * omx/gstomxvideoenc.c:
3424 omx: Stop output port task after draining
3426 2013-03-15 10:58:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3429 omx: Reset EOS flag in more places
3431 2013-03-15 10:38:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3433 * omx/gstomxvideodec.c:
3434 omxvideodec: Deallocate output buffers with the right function
3436 2013-03-15 01:06:05 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
3440 omx: log commands as strings
3441 Makes logs easier to read.
3443 2013-03-15 00:47:47 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
3447 omx: log states as strings
3449 2013-03-15 00:28:02 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
3453 omx: log component name in debug messages
3454 Useful when we have more different components
3455 active at the same time.
3457 2013-03-15 09:51:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3459 * omx/gstomxvideodec.c:
3460 omxvideodec: Don't interpolate timestamps
3461 We will get exactly one frame per input buffer and assigning
3462 timestamps between frames if more than one OMX buffer is required
3463 per frame easily confuses timestamp tracking in OMX.
3465 2013-03-15 09:32:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3467 * omx/gstomxvideodec.c:
3468 omxvideodec: Give the codec_data the timestamp of the first frame and no duration
3470 2013-03-14 17:31:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3472 * config/rpi/gstomx.conf:
3473 omx: The MPEG4 encoder is not available on RPi and probably never will
3475 2013-03-14 17:26:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3478 omx: Reset some more buffer fields as required
3480 2013-03-14 17:01:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3482 * config/rpi/gstomx.conf:
3484 omx: The hack to disable usage of EOS buffers is not necessary anymore on RPi
3486 2013-03-14 17:00:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3489 omx: Reset the flags for output ports when releasing a buffer, not for input ports
3491 2013-03-14 15:03:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3493 * omx/gstomxh263enc.c:
3494 * omx/gstomxh264enc.c:
3495 * omx/gstomxmpeg4videoenc.c:
3496 omx: Only unref caps after usage of its fields
3498 2013-03-14 14:51:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3500 * omx/gstomxvideodec.c:
3501 omxvideodec: Simplify bufferpool implementation
3503 2013-03-13 13:23:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3505 * omx/gstomxvideodec.c:
3506 omxvideodec: Improve min/max buffer counts handling
3508 2013-03-14 12:49:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3512 * omx/gstomxaudioenc.c:
3513 * omx/gstomxvideodec.c:
3514 * omx/gstomxvideoenc.c:
3515 omx: Handle the OMX_EventBufferFlag to detect EOS too
3517 2013-03-13 10:29:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3521 omx: Mark OpenMAX buffers as EGLImage if they contain one
3522 Needs special handling in some places, e.g. because nFilledLen
3525 2013-03-13 10:21:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3527 * omx/gstomxvideoenc.c:
3528 omxvideoenc: Properly check the nVersion field
3530 2013-03-13 09:34:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3532 * omx/gstomxvideoenc.c:
3533 omxvideoenc: RPi returns garbage for OMX_IndexParamVideoBitrate, work around that
3535 2013-03-12 20:02:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3537 * omx/gstomxvideodec.c:
3538 omxvideodec: Make sure to always get the right buffer
3540 2013-03-12 19:35:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3542 * omx/gstomxvideodec.c:
3543 omxvideodec: Make sure the buffer is released to the pool if it's not the one we wanted
3545 2013-03-12 19:17:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3547 * omx/gstomxvideodec.c:
3548 omxvideodec: Drop too late frames instead of finishing them
3550 2013-03-12 19:16:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3552 * omx/gstomxvideodec.c:
3553 omx: Release buffers to the correct port
3555 2013-03-13 09:37:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3558 omx: Always load the OpenMAX IL cores with G_MODULE_BIND_LOCAL
3560 2013-03-12 18:20:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3563 omx: Lazy-load symbols of libbcm_host.so
3564 It exports eglIntOpenMAXILDoneMarker(), which is also
3565 exported by libopenmaxil.so... but we need the version
3566 from libopenmaxil.so as the other one is just a stub.
3568 2013-03-11 13:59:15 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3570 * omx/gstomxaacenc.c:
3571 * omx/gstomxh263enc.c:
3572 * omx/gstomxmpeg4videoenc.c:
3573 omx: Don't set profile/level in other encoders if downstream caps don't specify any
3575 2013-03-11 13:49:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3577 * omx/gstomxh264enc.c:
3578 omxh264enc: If caps specify no profile/level use the component's defaults
3580 2013-03-11 13:45:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3582 * omx/gstomxvideoenc.c:
3583 omxvideoenc: Always allocate output buffers from the loop function
3585 2013-03-11 13:12:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3587 * omx/gstomxh264enc.c:
3588 omxh264enc: The h264 encoders are supposed to output byte-stream/au
3590 2013-03-11 11:47:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3592 * omx/gstomxvideoenc.c:
3593 omxvideoenc: Wait until the Executing state is reached before passing buffers to the component
3595 2013-03-11 10:39:25 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3597 * omx/gstomxvideodec.c:
3598 omxvideodec: Don't provide buffers to downstream
3599 This only works reliable if we have a way to tell downstream to
3600 release all our buffers for reconfiguration.
3602 2013-03-11 10:29:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3604 * omx/gstomxaudioenc.c:
3605 omxaudioenc: Disable output port when setting a new format
3607 2013-03-11 10:29:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3609 * omx/gstomxvideoenc.c:
3610 omxvideoenc: Disable output port when setting a new format
3612 2013-03-11 10:22:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3614 * omx/gstomxvideodec.c:
3615 omxvideodec: Disable output port when setting a new format
3616 Based on a patch by Josep Torra <n770galaxy@gmail.com>
3618 2013-03-11 10:04:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3620 * omx/gstomxaudioenc.c:
3621 * omx/gstomxvideodec.c:
3622 * omx/gstomxvideoenc.c:
3623 omx: Catch errors when releasing buffers to a port and handle them
3625 2013-03-10 12:09:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3627 * omx/gstomxvideoenc.c:
3628 omxvideoenc: Use the correct video codec state when filling an input buffer
3630 2013-03-10 12:05:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3632 * omx/gstomxvideoenc.c:
3633 omxvideoenc: Store correct input state
3635 2013-03-10 11:27:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3637 * omx/gstomxvideoenc.c:
3638 omxvideoenc: Allocate output buffers as early as possible
3640 2013-03-10 11:01:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3643 omx: Log unknown events
3645 2013-03-09 14:14:40 +0100 Josep Torra <n770galaxy@gmail.com>
3647 * omx/gstomxaudioenc.c:
3648 * omx/gstomxvideodec.c:
3649 * omx/gstomxvideoenc.c:
3650 omx: Fix deadlock in encoders and add explainatory comments.
3652 2013-03-09 13:27:08 +0100 Josep Torra <n770galaxy@gmail.com>
3654 * omx/gstomxvideodec.c:
3655 omxvideodec: fix printf format identifier
3657 2013-03-09 13:07:59 +0100 Josep Torra <n770galaxy@gmail.com>
3659 * omx/gstomxvideodec.c:
3660 omx: Minor changes on debuging info
3662 2013-03-09 13:00:33 +0100 Josep Torra <n770galaxy@gmail.com>
3664 * omx/gstomxvideodec.c:
3665 omxvideodec: avoid a deadlock
3667 2013-03-08 15:56:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3669 * omx/gstomxvideodec.c:
3670 omxvideodec: Don't forget to populate output port
3672 2013-03-08 15:11:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3674 * omx/gstomxaudioenc.c:
3675 * omx/gstomxvideodec.c:
3676 * omx/gstomxvideoenc.c:
3677 omx: Flush and stop srcpad when configuring new caps
3679 2013-03-07 17:40:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3681 * config/rpi/gstomx.conf:
3683 Revert "omx: use no-component-reconfigure hack on the Raspberry PI"
3684 This reverts commit e123b2089f69a413241f30a2428ea6edd8f231e7.
3685 It's not required anymore after the fix from the last commit.
3687 2013-03-07 17:38:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3689 * omx/gstomxvideodec.c:
3690 omxvideodec: Only negotiate a color format with downstream on the initial caps
3692 2013-03-07 17:29:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3694 * omx/gstomxvideodec.c:
3695 omxvideodec: Make sure the output port is disabled while we allocate buffers
3697 2013-03-07 17:27:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3700 omx: Also wait for disabled output ports to be reconfigured
3702 2013-03-07 14:10:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3704 * omx/gstomxvideodec.c:
3705 * omx/gstomxvideodec.h:
3706 omxvideodec: Add buffer pool for sharing OpenMAX memory with downstream
3708 2013-03-07 11:11:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3712 * omx/gstomxaudioenc.c:
3713 * omx/gstomxvideodec.c:
3714 * omx/gstomxvideoenc.c:
3715 omx: Add timeout to the flush operation and move buffer populating to a separate function
3717 2013-03-06 17:33:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3719 * config/rpi/gstomx.conf:
3722 omx: Remove min buffer count hack for RPi again
3723 It's not necessary anymore
3725 2013-03-06 17:05:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3729 * omx/gstomxaudioenc.c:
3730 * omx/gstomxvideodec.c:
3731 * omx/gstomxvideoenc.c:
3732 omx: Do number of buffers configuration explicitely
3734 2013-03-07 11:24:54 +0100 Josep Torra <n770galaxy@gmail.com>
3736 * omx/gstomxvideodec.c:
3737 omxvideodec: fixes reconfiguration
3738 Avoid having fixed fields from previous caps on reconfiguration.
3740 2013-03-07 11:02:39 +0100 Josep Torra <n770galaxy@gmail.com>
3742 * config/rpi/gstomx.conf:
3744 omx: use no-component-reconfigure hack on the Raspberry PI
3746 2013-03-07 00:03:28 +0000 Tim-Philipp Müller <tim@centricular.net>
3749 Automatic update of common submodule
3750 From 2de221c to 04c7a1e
3752 2013-03-01 15:32:47 +0100 Josep Torra <n770galaxy@gmail.com>
3754 * omx/gstomxvideoenc.h:
3755 omxvideoenc: drop unused data member
3757 2013-03-01 12:23:54 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3759 * omx/gstomxh263enc.c:
3760 * omx/gstomxh264enc.c:
3761 * omx/gstomxmpeg4videoenc.c:
3762 omxvideoenc: And set it actually on the right port
3764 2013-03-01 12:18:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3766 * omx/gstomxh263enc.c:
3767 * omx/gstomxh264enc.c:
3768 * omx/gstomxmpeg4videoenc.c:
3769 omxvideoenc: Set the coding type in the subclasses to the specific codec
3771 2013-03-01 11:49:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3773 * omx/gstomxvideoenc.c:
3774 omxvideoenc: gst_omx_port_update_port_definition() returns a OMX_ERRORTYPE, not a gboolean
3776 2013-03-01 11:44:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3778 * omx/gstomxvideodec.c:
3779 * omx/gstomxvideoenc.c:
3780 omxvideo{dec,enc}: Don't use the input state if it wasn't set yet
3782 2013-03-01 11:25:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3784 * omx/gstomxaudioenc.c:
3785 omxaudioenc: Only enable the output port after we know the output format
3787 2013-03-01 11:24:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3789 * omx/gstomxvideoenc.c:
3790 omxvideoenc: Only enable the output port after we know the output format
3792 2013-02-28 17:02:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3794 * omx/gstomxvideodec.c:
3795 omxvideodec: Only enable the output port after we know the output format
3797 2013-03-01 11:18:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3801 omx: Handle errors more gracefully
3803 2013-02-28 15:48:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3807 * omx/gstomxaudioenc.c:
3808 * omx/gstomxh263dec.c:
3809 * omx/gstomxh264dec.c:
3810 * omx/gstomxmpeg2dec.c:
3811 * omx/gstomxmpeg4videodec.c:
3812 * omx/gstomxvideodec.c:
3813 * omx/gstomxwmvdec.c:
3814 omx: Return the OMX_ERRORTYPE from gst_omx_port_update_port_definition
3816 2013-02-28 15:37:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3819 omx: Return port definition update errors
3821 2013-02-28 13:57:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3823 * config/rpi/gstomx.conf:
3826 omx: Add hack for RPi for the minimum number of buffers required for a port
3827 The value in the port definition is invalid and the initial actual
3828 buffer count should be used.
3830 2013-02-28 13:26:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3833 omx: Always tell the component about the right number of buffers that we're going to allocate
3835 2013-02-28 13:07:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3838 omx: Invert assertion to let it express what was intended
3840 2013-02-28 11:19:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3844 * omx/gstomxaudioenc.c:
3845 * omx/gstomxvideodec.c:
3846 * omx/gstomxvideoenc.c:
3847 omx: Add API for allocating a specific number of buffers and using EGLImages or buffers allocated elsewhere
3849 2013-02-27 16:55:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3851 * omx/gstomxaudioenc.c:
3852 * omx/gstomxvideodec.c:
3853 * omx/gstomxvideoenc.c:
3854 omx: Refactor code flow a bit if output port settings have changed
3856 2013-02-27 15:49:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3860 * omx/gstomxaudioenc.c:
3861 * omx/gstomxvideodec.c:
3862 * omx/gstomxvideoenc.c:
3863 omx: Clean up port settings change handling
3865 2013-02-27 11:30:14 +0100 Josep Torra <n770galaxy@gmail.com>
3867 * omx/gstomxvideodec.c:
3868 omxvideodec: initialize param structure before using it
3870 2013-02-27 10:21:39 +0100 Josep Torra <n770galaxy@gmail.com>
3872 * omx/gstomxvideoenc.c:
3873 omxvideoenc: prevent a NULL pointer access
3875 2013-02-26 17:25:49 +0100 Josep Torra <n770galaxy@gmail.com>
3877 * omx/gstomxvideodec.c:
3878 omxvideodec: prevent a NULL pointer access
3880 2013-02-25 13:11:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3883 omx: Fix deadlock during reconfiguration
3885 2013-02-25 12:38:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3888 * omx/gstomxaudioenc.c:
3889 * omx/gstomxvideodec.c:
3890 * omx/gstomxvideoenc.c:
3891 omx: Auto-detect the port indizes if possible
3893 2013-02-25 11:42:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3895 * omx/gstomxvideodec.c:
3896 * omx/gstomxvideoenc.c:
3897 omx: Refactor querying of component supported caps into its own function
3899 2013-02-25 10:41:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3903 * omx/gstomxaudioenc.c:
3904 * omx/gstomxvideodec.c:
3905 * omx/gstomxvideoenc.c:
3906 omx: Refactor waiting for buffers to be released by the component to a separate function
3908 2013-01-11 17:44:13 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3912 omx: Add methods to set up and close a tunnel between components
3914 2013-02-25 09:15:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3916 * omx/gstomxaacenc.c:
3917 * omx/gstomxaudioenc.c:
3918 * omx/gstomxaudioenc.h:
3919 omxaudioenc: Rename component variable
3921 2013-02-25 09:15:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3923 * omx/gstomxh263enc.c:
3924 * omx/gstomxh264enc.c:
3925 * omx/gstomxmpeg4videoenc.c:
3926 * omx/gstomxvideoenc.c:
3927 * omx/gstomxvideoenc.h:
3928 omxvideoenc: Rename component variable
3930 2013-02-25 09:12:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3932 * omx/gstomxvideodec.c:
3933 * omx/gstomxvideodec.h:
3934 omxvideodec: Rename component variable
3936 2013-02-22 16:27:33 +0100 Josep Torra <n770galaxy@gmail.com>
3938 * omx/gstomxvideoenc.c:
3939 omxvideoenc: remove duplicated line
3941 2013-02-22 10:42:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3944 Retry loading libbcm_host.so without an absolute path if that failed
3946 2013-02-21 20:32:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3948 * config/bellagio/Makefile.am:
3949 Add missing file from last commit
3951 2013-02-21 11:01:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3953 * config/Makefile.am:
3954 * config/bellagio/gstomx.conf:
3957 Add OpenMAX IL target for Bellagio
3958 Not tested since a very long time though.
3960 2013-02-21 10:59:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3964 Allow using external OpenMAX IL headers
3966 2013-02-21 10:14:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3971 2013-02-21 10:13:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3973 * config/Makefile.am:
3974 * config/rpi/Makefile.am:
3975 * config/rpi/gstomx.conf:
3977 Install the RPI config when the RPI target is selected
3979 2013-02-21 10:08:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3982 Set default hacks for the RPI target and always initialize bcm_host
3984 2013-02-21 10:05:37 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3987 Add configure parameter for setting the OpenMAX IL target
3989 2013-02-12 11:55:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3992 omx: Add FIXME for the future
3994 2013-02-12 11:49:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3998 * omx/gstomxaudioenc.c:
3999 * omx/gstomxaudioenc.h:
4000 * omx/gstomxvideodec.c:
4001 * omx/gstomxvideodec.h:
4002 * omx/gstomxvideoenc.c:
4003 * omx/gstomxvideoenc.h:
4004 omx: Some minor refactoring and cleanup
4006 2013-02-12 11:45:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4009 omx: Don't access the port's buffers array if it wasn't allocated yet
4011 2013-02-12 11:44:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4014 omx: Mark an array as const
4016 2013-02-12 11:41:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4020 * omx/gstomxaudioenc.c:
4021 * omx/gstomxvideodec.c:
4022 * omx/gstomxvideoenc.c:
4023 omx: Split enabling/disabling of port into sending the command and waiting for it
4024 This allows to do anything necessary after sending the command to actually let it finish
4026 2013-02-12 11:37:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4029 omx: Flushing is also allowed in Paused state
4031 2013-02-12 11:28:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4033 * omx/gstomxvideoenc.c:
4034 omxvideoenc: Set stride, slice height and buffer size
4036 2013-02-12 11:09:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4038 * config/raspberry-pi.conf:
4039 config: Add h264 and mpeg2 encoders to the raspberry pi config
4040 Not completely working yet though.
4042 2013-02-12 11:03:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4044 * omx/gstomxvideoenc.c:
4045 omxvideoenc: Properly negotiate OMX color format with the component
4047 2013-02-12 10:53:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4049 * omx/gstomxvideoenc.c:
4050 omxvideoenc: Implement getcaps() vfunc
4052 2013-01-29 21:32:53 +0000 Tim-Philipp Müller <tim@centricular.net>
4055 configure: use 1.0 gstconfig.h to detect disabled subsystems
4056 Update unused configure check for GStreamer core subsystem
4057 features from 0.10 to 1.0.
4059 2013-01-28 20:44:41 +0100 Stefan Sauer <ensonic@users.sf.net>
4062 Automatic update of common submodule
4063 From a942293 to 2de221c
4065 2013-01-24 14:02:36 +0100 Julian Scheel <julian@jusst.de>
4067 * config/raspberry-pi.conf:
4070 * omx/gstomxmpeg2dec.c:
4071 * omx/gstomxmpeg2dec.h:
4072 omx: add mpeg2 video decoder
4073 This adds a decoder class for mpeg2, as well as an extended
4074 configuration for raspberry pi.
4075 https://bugzilla.gnome.org/show_bug.cgi?id=692446
4076 Signed-off-by: Julian Scheel <julian@jusst.de>
4078 2013-01-18 16:47:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4081 omx: Minimize the time when the messages lock is held
4082 Fixes a deadlock if any OMX functions are called when the
4083 messages are handled.
4084 Thanks to Nicolas Dufresne for noticing.
4086 2013-01-18 15:28:20 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4089 omx: improve debug message when we can't find the config file
4090 Mention where we looked for the config file.
4092 2013-01-18 12:34:38 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4095 build: fix autogen.sh with automake 1.13
4096 AM_CONFIG_HEADER -> AC_CONFIG_HEADERS
4098 2013-01-17 18:07:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4101 * omx/gstomxaudioenc.h:
4102 * omx/gstomxvideodec.h:
4103 * omx/gstomxvideoenc.h:
4104 omx: Fix includes to properly work with the 1.0 releases
4106 2013-01-15 15:08:28 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4109 Automatic update of common submodule
4110 From a72faea to a942293
4112 2013-01-15 14:34:45 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4115 omx: Update port definition when changing some port setting
4117 2013-01-14 11:41:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4121 omx: Rename from libgstopenmax.so to ligstomx.so for consistency
4123 2013-01-11 15:32:22 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
4126 omx: Add a method to send message
4128 2013-01-11 15:44:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4132 omx: Atomic ops are not required anymore for the reconfiguration
4134 2013-01-11 12:52:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4136 * omx/gstomxaudioenc.c:
4137 * omx/gstomxvideodec.c:
4138 * omx/gstomxvideoenc.c:
4139 omx: Fix some memory leaks and suboptimal locking
4141 2013-01-11 12:34:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4143 * omx/gstomxvideoenc.c:
4144 omxvideoenc: Don't forget to unmap frame in error cases
4146 2013-01-11 12:29:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4148 * omx/gstomxvideoenc.c:
4149 omxvideoenc: Fix copying of the video frames to the OMX buffers
4151 2013-01-11 12:24:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4153 * omx/gstomxvideodec.c:
4154 omxvideodec: Fix copying of the video frames from the OMX buffers
4156 2013-01-10 14:44:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4161 * omx/gstomxaudioenc.c:
4162 * omx/gstomxrecmutex.c:
4163 * omx/gstomxrecmutex.h:
4164 omx: Implement new approach for locking that should solve all deadlocks on RPi
4165 No mutex is locked while calling any OpenMAX functions anymore
4166 and everything from the OpenMAX callbacks is inserted into a message
4167 queue and handled from outside the callbacks.
4168 Also there's only a single mutex and condition variable per component
4169 now for handling anything from OpenMAX callbacks and a single mutex
4170 for keeping our component/port state sane.
4172 2012-12-20 19:30:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4174 * omx/gstomxvideodec.c:
4175 omxvideodec: Set the OMX buffer nFilledLength field properly
4177 2012-12-20 18:48:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4179 * omx/gstomxrecmutex.c:
4180 * omx/gstomxrecmutex.h:
4181 omxrecmutex: Fix another race condition when two threads are trying to lock for recursion at the same time
4183 2012-12-20 18:16:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4185 * omx/gstomxrecmutex.c:
4186 * omx/gstomxrecmutex.h:
4187 omxrecmutex: Fix yet another race condition that resulted in deadlocks
4189 2012-12-20 17:46:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4192 * omx/gstomxrecmutex.c:
4193 * omx/gstomxrecmutex.h:
4194 omx: Fix another race condition in the recursive mutex
4195 Between lock() and begin_recursion() it was possible for another thread to
4196 try to do a recursive_lock(). This would block because the mutex was already
4197 locked(), but not ready for recursive locking yet. unlock() would never
4198 happen in the original thread because it was waiting for the other thread
4200 Happened on the Raspberry Pi.
4202 2012-12-20 14:45:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4204 * omx/gstomxrecmutex.c:
4205 * omx/gstomxrecmutex.h:
4206 omxrecmutex: Fix a small race condition when unlocking a non-recursive lock
4208 2012-12-20 12:30:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4210 * omx/gstomxaudioenc.c:
4211 * omx/gstomxvideodec.c:
4212 * omx/gstomxvideoenc.c:
4213 omx: Fix ununsed variable compiler warning
4215 2012-12-20 12:27:47 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4217 * omx/gstomxaudioenc.c:
4218 * omx/gstomxvideodec.c:
4219 * omx/gstomxvideoenc.c:
4220 omx: No need to start the srcpad task in ::start() already
4221 It will be started properly after the caps are set.
4223 2012-12-20 12:23:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4225 * omx/gstomxvideodec.c:
4226 omxvideodec: OMX_ErrorNoMore is no error and just means we ended iteration
4228 2012-12-20 12:20:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4230 * omx/gstomxaudioenc.c:
4231 * omx/gstomxvideodec.c:
4232 * omx/gstomxvideoenc.c:
4233 omx: Improve debug output
4235 2012-12-20 12:02:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4237 * omx/gstomxvideodec.c:
4238 omxvideodec: Don't forget to free a GList
4240 2012-12-20 11:56:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4242 * omx/gstomxvideodec.c:
4243 omxvideodec: Map OMX_COLOR_FormatYUV420PackedPlanar to I420 too
4244 This is used on the Raspberry Pi.
4246 2012-12-20 11:55:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4248 * omx/gstomxvideodec.c:
4249 omxvideodec: During negotiation of the output format make sure we use the correct OpenMAX format
4251 2012-12-20 11:42:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4253 * omx/gstomxvideodec.c:
4254 omxvideodec: If negotiation fails this could also mean that the component can't do it at this point yet
4256 2012-12-20 11:40:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4258 * omx/gstomxvideodec.c:
4259 omxvideodec: Improve format negotiation a bit
4260 Don't leak caps and make sure to fixate caps.
4262 2012-12-19 13:05:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4265 omx: Also initialize nStep field of the OMX structures
4267 2012-12-19 13:03:37 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4270 omx: Initialize struct version with the OMX version we compiled with
4272 2012-12-19 12:44:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4274 * omx/gstomxvideodec.c:
4275 omxvideodec: Extract data from the input buffer, not the codec data
4277 2012-12-19 12:19:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4280 * tools/listcomponents.c:
4281 omx: Use has_suffix() instead of has_prefix() for the Broadcom hack
4283 2012-12-19 12:08:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4287 * tools/Makefile.am:
4288 * tools/listcomponents.c:
4289 tools: Add tool to list all components and their roles
4291 2012-12-19 11:31:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4294 omx: Add hack to load and initialize libbcm_host.so
4295 Needed on the Raspberry Pi. Patch based on a patch by
4296 George Kiagiadakis <george.kiagiadakis@collabora.com>
4298 2012-12-19 11:22:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4302 configure: Add configure option to pack OpenMAX structures
4303 This is required to set to 4 for the Raspberry Pi for example.
4305 2012-12-19 11:07:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4308 configure: Require GStreamer 1.0.0
4310 2012-04-20 17:13:52 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
4313 omx: Initialize structures to version 1.1.2
4315 2012-12-19 09:51:22 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4318 * config/Makefile.am:
4319 * config/raspberry-pi.conf:
4321 config: Add raspberry-pi configuration in a different directory
4323 2012-05-20 20:11:59 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
4325 * omx/gstomx-raspberry.conf:
4326 raspberry: Add a gstomx.conf for the Raspberry Pi
4328 2012-12-12 17:45:39 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4331 * omx/gstomxvideoenc.h:
4332 omx: Fix some compilation errors caused by circular includes
4334 2012-11-19 11:29:44 +0000 Tim-Philipp Müller <tim@centricular.net>
4337 Automatic update of common submodule
4338 From 6bb6951 to a72faea
4340 2012-11-12 15:14:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4342 * omx/gstomxvideodec.c:
4343 * omx/gstomxvideoenc.c:
4344 omx: Fix refcount problem with frames being dropped because of decoder bugs
4346 2012-11-12 11:29:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4350 * omx/gstomxaudioenc.c:
4351 * omx/gstomxaudioenc.h:
4352 * omx/gstomxrecmutex.c:
4353 * omx/gstomxrecmutex.h:
4354 * omx/gstomxvideodec.c:
4355 * omx/gstomxvideodec.h:
4356 * omx/gstomxvideoenc.c:
4357 * omx/gstomxvideoenc.h:
4358 omx: Update to new GLib thread API
4360 2012-10-22 14:34:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4362 * omx/gstomxvideodec.c:
4363 * omx/gstomxvideoenc.c:
4364 omx: Use open/close vfuncs
4366 2012-10-22 14:28:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4368 * omx/gstomxvideodec.c:
4369 * omx/gstomxvideoenc.c:
4370 omx: Handle video meta correctly
4372 2012-06-20 13:11:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4375 * omx/gstbasevideocodec.c:
4376 * omx/gstbasevideocodec.h:
4377 * omx/gstbasevideodecoder.c:
4378 * omx/gstbasevideodecoder.h:
4379 * omx/gstbasevideoencoder.c:
4380 * omx/gstbasevideoencoder.h:
4381 * omx/gstbasevideoutils.c:
4382 * omx/gstbasevideoutils.h:
4383 * omx/gstomxh263dec.c:
4384 * omx/gstomxh263enc.c:
4385 * omx/gstomxh264dec.c:
4386 * omx/gstomxh264enc.c:
4387 * omx/gstomxmpeg4videodec.c:
4388 * omx/gstomxmpeg4videoenc.c:
4389 * omx/gstomxvideodec.c:
4390 * omx/gstomxvideodec.h:
4391 * omx/gstomxvideoenc.c:
4392 * omx/gstomxvideoenc.h:
4393 * omx/gstomxwmvdec.c:
4394 omx: Port to video base classes from -base
4396 2012-10-17 17:57:43 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4398 * omx/gstomxaacenc.c:
4399 * omx/gstomxh263dec.c:
4400 * omx/gstomxh263enc.c:
4401 * omx/gstomxh264dec.c:
4402 * omx/gstomxh264enc.c:
4403 * omx/gstomxmpeg4videodec.c:
4404 * omx/gstomxmpeg4videoenc.c:
4405 * omx/gstomxwmvdec.c:
4406 omx: gst_element_class_set_details_simple() -> set_static_metadata()
4408 2012-10-06 15:01:11 +0100 Tim-Philipp Müller <tim@centricular.net>
4411 Automatic update of common submodule
4412 From 6c0b52c to 6bb6951
4414 2012-09-22 16:10:38 +0100 Tim-Philipp Müller <tim@centricular.net>
4417 Automatic update of common submodule
4418 From 4f962f7 to 6c0b52c
4420 2012-06-21 20:22:13 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
4423 omx: fix debug statement
4425 2012-06-21 20:21:03 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
4428 omx: use recursive_lock inside set_last_error(), since this function may be called from an event handler
4430 2012-08-22 13:31:59 +0200 Stefan Sauer <ensonic@users.sf.net>
4433 Automatic update of common submodule
4434 From 668acee to 4f962f7
4436 2012-08-05 16:42:43 +0100 Tim-Philipp Müller <tim@centricular.net>
4439 Automatic update of common submodule
4440 From 94ccf4c to 668acee
4442 2012-08-03 19:32:13 +0100 Tim-Philipp Müller <tim@centricular.net>
4445 omx: fix plugin name for new GST_PLUGIN_DEFINE API
4447 2012-07-23 08:47:32 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4450 Automatic update of common submodule
4451 From 98e386f to 94ccf4c
4453 2012-07-10 09:57:09 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4455 * omx/gstbasevideodecoder.c:
4456 omx: Update for allocation query API changes
4458 2012-06-20 11:09:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4460 * omx/gstomxaudioenc.c:
4461 * omx/gstomxvideodec.c:
4462 * omx/gstomxvideoenc.c:
4463 omx: Fix compilation after gst_pad_start_task() API changes
4465 2012-06-08 15:06:35 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
4468 Automatic update of common submodule
4469 From 03a0e57 to 98e386f
4471 2012-06-06 18:20:18 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
4474 Automatic update of common submodule
4475 From 1fab359 to 03a0e57
4477 2012-06-01 10:30:27 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
4480 Automatic update of common submodule
4481 From f1b5a96 to 1fab359
4483 2012-05-31 13:10:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4486 Automatic update of common submodule
4487 From 92b7266 to f1b5a96
4489 2012-05-30 12:47:59 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4492 Automatic update of common submodule
4493 From ec1c4a8 to 92b7266
4495 2012-05-30 11:26:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4498 Automatic update of common submodule
4499 From 3429ba6 to ec1c4a8
4501 2012-05-13 15:58:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4504 Automatic update of common submodule
4505 From dc70203 to 3429ba6
4507 2012-05-08 16:13:32 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
4510 omx: Fix spelling mistake found by lintian: s/Seperate/Separate/
4512 2012-04-30 23:58:43 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
4517 * omx/gstomxaudioenc.c:
4518 * omx/gstomxrecmutex.c:
4519 * omx/gstomxrecmutex.h:
4520 * omx/gstomxvideodec.c:
4521 * omx/gstomxvideoenc.c:
4522 Implement a new custom recursive mutex type and fix locking in callbacks so that in-context calls are allowed.
4523 According to the OMX specification, implementations are allowed to call
4524 callbacks in the context of their function calls. However, our callbacks
4525 take locks and this causes deadlocks if the unerlying OMX implementation
4526 uses this kind of in-context calls.
4527 A solution to the problem would be a recursive mutex. However, a normal
4528 recursive mutex does not fix the problem because it is not guaranteed
4529 that the callbacks are called from the same thread. What we see in Broadcom's
4530 implementation for example is:
4532 - OMX_Foo waits on a condition
4533 - A callback is executed in a different thread
4534 - When the callback returns, its calling function
4535 signals the condition that OMX_Foo waits on
4536 - OMX_Foo wakes up and returns
4537 The solution I came up with here is to take a second lock inside the callback,
4538 but only if recursion is expected to happen. Therefore, all calls to OMX
4539 functions are guarded by calls to gst_omx_rec_mutex_begin_recursion() / _end_recursion(),
4540 which effectively tells the mutex that at this point we want to allow calls
4541 to _recursive_lock() to succeed, although we are still holding the master lock.
4543 2012-04-20 14:51:34 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
4547 omx: Add hack to disable setting roles to components.
4551 2012-04-30 23:20:24 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
4554 * omx/gstomxvideodec.c:
4555 omxvideodec: Implement no-empty-eos-buffer hack, as in omxvideoenc.
4557 omx/gstomxvideodec.c
4559 2012-04-30 23:19:55 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
4561 * omx/gstomxvideodec.c:
4562 omxvideodec: Fix coding style in the drain-may-not-return hack code
4564 2012-04-25 19:03:48 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
4567 omx: Fix trivial debug print bug
4569 2012-04-25 19:01:32 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
4573 * omx/gstomxvideodec.c:
4574 omxvideodec: Add hack for Ducati components not returning from drain
4575 This happens on the Galaxy Nexus, and causes the pipeline to hang waiting
4576 endlessly for a drain. The hack replaces the wait with a wait + 500ms timeout.
4578 2012-04-25 16:35:40 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
4581 omx: Fix deadlock between ending a flush and the event handler
4582 gst_omx_port_set_flushing() calls OMX_FillThisBuffer at the end of a flush
4583 without releasing the port lock, and this can cause a deadlock with the
4584 EventHandler. This patches fixes this by dropping the lock for the duration of
4585 the fill buffer call.
4587 2012-04-24 15:41:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4589 * omx/gstbasevideodecoder.c:
4590 * omx/gstbasevideoencoder.c:
4591 omx: Update video encoder/decoder base classes from gst-plugins-bad
4593 2012-04-16 09:16:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4596 configure: Modernize autotools setup a bit
4597 Also we now only create tar.bz2 and tar.xz tarballs.
4599 2012-04-16 09:12:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4602 Automatic update of common submodule
4604 2012-04-16 08:34:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4606 * omx/gstomxaudioenc.c:
4607 omxaudioenc: Use gst_buffer_extract() to copy the input buffer data to the OpenMAX buffer
4609 2012-04-13 17:16:42 -0400 Alessandro Decina <alessandro.decina@collabora.com>
4612 Fix relative/absolute path glitch
4613 Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
4615 2012-04-12 15:57:32 -0400 Olivier Crête <olivier.crete@collabora.com>
4620 * omx/gstbasevideocodec.c:
4621 * omx/gstbasevideocodec.h:
4622 * omx/gstbasevideodecoder.c:
4623 * omx/gstbasevideodecoder.h:
4624 * omx/gstbasevideoencoder.c:
4625 * omx/gstbasevideoencoder.h:
4628 * omx/gstomxaacenc.c:
4629 * omx/gstomxaudioenc.c:
4630 * omx/gstomxaudioenc.h:
4631 * omx/gstomxh263dec.c:
4632 * omx/gstomxh263enc.c:
4633 * omx/gstomxh264dec.c:
4634 * omx/gstomxh264enc.c:
4635 * omx/gstomxmpeg4videodec.c:
4636 * omx/gstomxmpeg4videoenc.c:
4637 * omx/gstomxvideodec.c:
4638 * omx/gstomxvideodec.h:
4639 * omx/gstomxvideoenc.c:
4640 * omx/gstomxvideoenc.h:
4641 * omx/gstomxwmvdec.c:
4644 2012-01-18 16:53:16 -0300 Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
4648 Enable building with Android's buildsystem
4649 This change adds prelimary buildsystem hooks to
4650 build gst-omx with the Android buildsystem. Like
4651 the rest of GStreamer's Android hooks, the process
4652 relies on the availability of androgenizer. A tool
4653 developed by Collabora to automatically generate
4654 Android.mk files from within the auto* setup.
4655 Androgenizer is currently available at:
4656 http://cgit.collabora.com/git/user/derek/androgenizer.git/
4658 2011-12-13 10:17:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4660 * omx/gstbasevideocodec.c:
4661 basevideocodec: Don't use G_TYPE_REGISTER_BOXED() yet
4662 This would require GLib 2.26.
4664 2011-12-14 10:09:34 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
4666 * omx/gstomxaudioenc.c:
4667 omxaudioenc: Add hack for encoder components that don't allow empty EOS buffers
4669 2011-12-14 10:07:29 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
4671 * omx/gstomxvideoenc.c:
4672 omxvideoenc: Fix deadlock when using the EOS hack
4674 2011-12-12 14:26:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4676 * omx/gstomxvideoenc.c:
4677 omxvideoenc: Remove workaround for basevideocodec bug
4679 2011-12-12 14:26:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4681 * omx/gstomxvideodec.c:
4682 omxvideodec: Remove workaround for basevideocodec bug
4684 2011-12-05 17:57:01 +0000 Matej Knopp <matej.knopp@gmail.com>
4686 * omx/gstbasevideocodec.c:
4687 * omx/gstbasevideocodec.h:
4688 * omx/gstbasevideodecoder.c:
4689 * omx/gstbasevideoencoder.c:
4690 basevideo: Make GstVideoFrame a reference counted boxed object
4691 ...and also clear all existing frames when resetting the decoder or encoder.
4693 2011-12-09 12:17:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4697 * omx/gstomxvideoenc.c:
4698 omx: Add hack for encoder components that don't allow empty EOS buffers
4700 2011-12-09 10:21:47 +0100 Dake Gu <Dake.Gu@palm.com>
4702 * omx/gstomxaacenc.c:
4703 omxaacenc: Generate and set codec_data on the caps for raw AAC
4705 2011-10-31 11:36:06 +0100 Alessandro Decina <alessandro.decina@collabora.co.uk>
4707 * omx/gstbasevideoencoder.c:
4708 basevideoencoder: handle failures in start() and stop()
4710 2011-08-26 10:50:38 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
4712 * omx/gstbasevideoencoder.c:
4713 basevideoenc: do not try to calculate latency from an unknown framerate
4714 It'll divide by zero, and latency is unknown for an unknown framerate.
4715 Fixes an assert in the schroenc test.
4716 https://bugzilla.gnome.org/show_bug.cgi?id=657419
4718 2011-12-08 11:50:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4720 * omx/gstbasevideoencoder.c:
4721 basevideoencoder: Only make the header buffer metadata writable, not the buffer
4723 2011-12-08 10:18:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4725 * omx/gstbasevideoencoder.c:
4726 basevideoencoder: Fix handling of force-keyunit events
4728 2011-12-06 13:28:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4730 * omx/gstomxaudioenc.c:
4731 omxaudioenc: Don't forward EOS events immediately but let all other events be handled by the base class
4732 Previously this logic was inversed, which did not make any sense at all.
4734 2011-12-06 12:47:25 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4736 * omx/gstomxaudioenc.c:
4737 * omx/gstomxaudioenc.h:
4738 omxaudioenc: Use correct timestamp, duration and filled length for the EOS buffers
4740 2011-12-06 12:47:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4742 * omx/gstomxvideodec.c:
4743 * omx/gstomxvideodec.h:
4744 omxvideodec: Use correct timestamp, duration and filled length for the EOS buffers
4746 2011-12-06 12:46:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4748 * omx/gstomxvideoenc.c:
4749 * omx/gstomxvideoenc.h:
4750 omxvideoenc: Use correct timestamp, duration and filled length for the EOS buffers
4752 2011-12-05 13:18:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4755 omx: Improve debugging of buffer handling
4757 2011-12-05 08:12:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4759 * omx/gstomxvideoenc.c:
4760 omxvideoenc: Drop EOS events in ::finish()
4761 The event will be forwarded downstream from the srcpad
4762 loop function after the last buffer was generated by the
4763 component. Forwarding it after ::finish() will use the
4764 sinkpad streaming thread and does not guarantee that
4765 the encoder is completely drained.
4767 2011-12-01 16:20:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4769 * omx/gstomxvideodec.c:
4770 omxvideodec: Properly drop frames due to QoS
4771 Instead of finishing them they should be passed to drop(), which
4772 will then send QoS messages.
4774 2011-11-29 12:21:32 +0100 Jonas Larsson <jonas@hallerud.se>
4776 * omx/gstomxh264enc.c:
4777 omxh264enc: Add support for resending headers after a forced-keyframe
4779 2011-11-29 12:12:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4781 * omx/gstbasevideocodec.h:
4782 * omx/gstbasevideoencoder.c:
4783 basevideoencoder: Pass the all-headers field of the force-key-unit event to the subclass
4785 2011-11-29 12:12:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4787 * omx/gstbasevideoencoder.c:
4788 * omx/gstbasevideoencoder.h:
4789 basevideoencoder: Implement full support for the new force-key-unit event
4790 Including support for the running-time and count fields.
4792 2011-11-29 09:31:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4794 * omx/gstbasevideoencoder.c:
4795 basevideoencoder: Use new force-keyunit event API from gst-plugins-base
4797 2011-11-29 09:18:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4799 * omx/gstbasevideoencoder.c:
4800 * omx/gstbasevideoencoder.h:
4801 basevideoencoder: Adjusting padding is not required for -bad libraries
4803 2011-11-28 19:48:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4805 * omx/gstbasevideoencoder.h:
4806 basevideoencoder: Move some fields to the private part of the instance struct
4808 2011-11-28 19:36:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4810 * omx/gstbasevideoencoder.c:
4811 basevideoencoder: Make headers metadata writable before pushing downstream
4812 The timestamp, duration, etc of the headers has to be changed.
4814 2011-11-28 19:35:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4816 * omx/gstbasevideoencoder.c:
4817 * omx/gstbasevideoencoder.h:
4818 basevideoencoder: Push the downstream force-keyframe event after the next keyframe
4819 Even if the corresponding GstVideoFrame doesn't have the is_sync_point
4822 2011-11-28 19:29:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4824 * omx/gstbasevideoencoder.c:
4825 * omx/gstbasevideoencoder.h:
4826 basevideoencoder: Don't push an upstream force-keyunit event downstream
4828 2011-11-25 11:48:08 +0100 Jonas Larsson <jonas@hallerud.se>
4830 * omx/gstbasevideoencoder.c:
4831 * omx/gstbasevideoencoder.h:
4832 basevideoencoder: Add initial support for the all-headers field of the force-keyframe event
4835 2011-11-25 11:37:39 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4837 * omx/gstbasevideodecoder.c:
4838 basevideodecoder: some more debug logging
4840 2011-11-23 20:03:32 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4842 * omx/gstbasevideodecoder.c:
4843 * omx/gstbasevideodecoder.h:
4844 basevideodecoder: add API to drop a frame and post a QoS message on the bus
4845 https://bugzilla.gnome.org/show_bug.cgi?id=640017
4846 API: gst_base_video_decoder_drop_frame()
4848 2011-11-22 23:04:49 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4850 * omx/gstbasevideodecoder.c:
4851 docs: fix comment in gst_base_video_decoder_get_max_decode_time() docs
4853 2011-11-22 19:57:07 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4855 * omx/gstbasevideodecoder.c:
4856 basevideodecoder: fix weird event list handling
4857 Get rid of weird code that copies a list manually, taking
4858 ownership of the elements and then frees the old list. Instead,
4859 just take over the old list entirely. (If the intent was to
4860 reverse the list, one could use g_list_reverse() instead).
4861 Then, push events in the list out from last to first (since they
4862 were prepended as they came in) instead of just pushing out the
4863 last in the list and leaking the others.
4865 2011-11-25 11:31:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4869 * omx/gstbaseaudiodecoder.c:
4870 * omx/gstbaseaudiodecoder.h:
4871 * omx/gstbaseaudioencoder.c:
4872 * omx/gstbaseaudioencoder.h:
4873 * omx/gstbaseaudioutils.c:
4874 * omx/gstbaseaudioutils.h:
4875 * omx/gstomxaacenc.c:
4876 * omx/gstomxaudioenc.c:
4877 * omx/gstomxaudioenc.h:
4878 omxaudioenc: Use audio base classes from gst-plugins-base instead of having our own copies
4880 2011-11-18 10:00:31 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4882 * omx/gstomxaudioenc.c:
4883 omxaudioenc: First set ports to flushing before waiting for the srcpad streaming thread to finish
4885 2011-11-18 09:59:43 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4887 * omx/gstomxvideoenc.c:
4888 omxvideoenc: First set ports to flushing before waiting for the srcpad streaming thread to finish
4890 2011-11-18 09:58:58 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4892 * omx/gstomxvideodec.c:
4893 omxvideodec: First set ports to flushing before waiting for the srcpad streaming thread to finish
4895 2011-11-17 14:38:54 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4898 omx: Only disabling of a port is like flushing, enabling is like unflushing
4900 2011-11-17 13:33:35 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4903 omx: Enabling/disabling a port is also like flushing
4904 The component returns all buffers to us and shouldn't get any
4905 new buffers passed anymore.
4907 2011-11-17 11:26:33 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4909 * omx/gstomxaudioenc.c:
4910 omxaudioenc: Signal the drain GCond even if downstream returned an error
4912 2011-11-17 11:26:20 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4914 * omx/gstomxvideoenc.c:
4915 omxvideoenc: Signal the drain GCond even if downstream returned an error
4917 2011-11-17 11:25:52 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4919 * omx/gstomxvideodec.c:
4920 omxvideodec: Signal the drain GCond even if downstream returned an error
4922 2011-11-17 10:34:19 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4924 * omx/gstbasevideoencoder.c:
4925 basevideoencoder: Only call ::reset once in READY->PAUSED
4927 2011-11-17 10:19:35 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4929 * omx/gstomxaudioenc.c:
4930 omxaudioenc: Shutdown component in PAUSED->READY and deallocate buffers
4932 2011-11-17 10:19:30 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4934 * omx/gstomxvideoenc.c:
4935 omxvideoenc: Shutdown component in PAUSED->READY and deallocate buffers
4937 2011-11-17 10:19:10 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4939 * omx/gstomxvideodec.c:
4940 omxvideodec: Shutdown component in PAUSED->READY and deallocate buffers
4942 2011-11-16 12:02:08 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4944 * omx/gstomxvideoenc.c:
4945 omxvideoenc: Set force_keyframe to FALSE after handling it
4946 There's no reason why the base class should forward the event
4947 further downstream if we already handled it and will insert a
4950 2011-11-16 11:21:25 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4952 * omx/gstomxvideodec.c:
4953 omxvideodec: Always push buffers downstream, even if we didn't find a corresponding GstVideoFrame
4955 2011-11-15 09:47:55 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4958 omx: Fix debug level for flushing in wrong state from ERROR to DEBUG
4959 It's not really an error and doesn't matter at all if flush is called
4960 when the component is not running.
4962 2011-11-15 08:40:07 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4964 * omx/gstomxh264enc.c:
4965 omxh264enc: Detect bytestream stream format and don't put SPS/PPS into the caps for this format
4967 2011-11-15 08:28:32 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4969 * omx/gstomxvideoenc.c:
4970 * omx/gstomxvideoenc.h:
4971 omxvideoenc: Add vfunc for handling the output frames
4972 This can be used by subclasses to override the buffer flags
4973 or to handle some frames differently than the default behaviour.
4975 2011-11-14 12:50:26 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4977 * omx/gstomxvideodec.c:
4978 omxvideodec: Don't release buffers twice if dropping because of QoS
4980 2011-11-14 09:13:06 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4983 omx: Add XXX to the nOffset reset hack comment for QCOM
4985 2011-11-10 15:18:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4987 * omx/gstomxaudioenc.c:
4988 omxaudioenc: Make srcpad caps setting threadsafe
4990 2011-11-10 15:17:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4992 * omx/gstomxvideoenc.c:
4993 omxvideoenc: Make srcpad caps setting threadsafe
4995 2011-11-10 15:17:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4997 * omx/gstomxvideodec.c:
4998 omxvideodec: Make srcpad caps setting threadsafe
5000 2011-11-10 15:10:14 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5002 * omx/gstomxaudioenc.c:
5003 omxaudioenc: Make the srcpad task and the sinkpad streaming thread handling threadsafe
5005 2011-11-10 15:03:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5007 * omx/gstomxaudioenc.c:
5008 omxaudioenc: Always flush the ports and make sure no processing is happening in ::flush
5009 This fixes a race condition that happened when seeking
5010 very often in a short period of time.
5012 2011-11-10 15:02:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5014 * omx/gstomxvideoenc.c:
5015 omxvideoenc: Always flush the ports and make sure no processing is happening in ::reset
5016 This fixes a race condition that happened when seeking
5017 very often in a short period of time.
5019 2011-11-10 15:01:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5021 * omx/gstomxvideoenc.c:
5022 omxvideoenc: Fix minor race condition when draining after upstream signalled EOS
5024 2011-11-10 14:56:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5026 * omx/gstomxaudioenc.c:
5027 omxaudioenc: Improve EOS handling
5028 If downstream return UNEXPECTED we should still signal the
5029 drain cond because nothing will trigger this again later.
5031 2011-11-10 14:56:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5033 * omx/gstomxvideoenc.c:
5034 omxvideoenc: Improve EOS handling
5035 If downstream return UNEXPECTED we should still signal the
5036 drain cond because nothing will trigger this again later.
5038 2011-11-10 14:54:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5040 * omx/gstomxaudioenc.c:
5041 omxaudioenc: Improve debugging of EOS and draining
5043 2011-11-10 14:54:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5045 * omx/gstomxvideoenc.c:
5046 omxvideoenc: Improve debugging of EOS and draining
5048 2011-11-10 14:51:06 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5050 * omx/gstomxvideodec.c:
5051 omxvideodec: Log if acquiring buffer for EOS failed
5053 2011-11-10 14:42:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5055 * omx/gstomxvideodec.c:
5056 omxvideodec: The component is not started in READY
5058 2011-11-10 14:39:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5060 * omx/gstomxaudioenc.c:
5061 omxaudioenc: No need to signal the drain cond when going from READY to PAUSED
5062 Also the component is not started in READY
5064 2011-11-10 14:40:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5066 * omx/gstomxvideoenc.c:
5067 omxvideoenc: No need to signal the drain cond when going from READY to PAUSED
5068 Also the component is not started in READY.
5070 2011-11-09 15:46:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5072 * omx/gstomxvideodec.c:
5073 omxvideodec: Always flush the ports and make sure no processing is happening in ::reset
5074 This fixes a race condition that happened when seeking
5075 very often in a short period of time.
5077 2011-11-09 15:45:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5079 * omx/gstomxvideodec.c:
5080 omxvideodec: Fix minor race condition when draining after upstream signalled EOS
5082 2011-11-09 15:44:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5084 * omx/gstomxvideodec.c:
5085 omxvideodec: Improve EOS handling
5086 If downstream return UNEXPECTED we should still signal the
5087 drain cond because nothing will trigger this again later.
5089 2011-11-09 15:43:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5091 * omx/gstomxvideodec.c:
5092 omxvideodec: Improve debugging of EOS and draining
5094 2011-11-09 15:42:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5096 * omx/gstomxvideodec.c:
5097 omxvideodec: The component is not started already when going from READY to PAUSED
5099 2011-11-09 15:42:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5101 * omx/gstomxvideodec.c:
5102 omxvideodec: No need to signal the drain cond when going from READY to PAUSED
5104 2011-11-09 15:41:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5107 omx: Always reset buffer flags for output ports, even in flushing/error state
5109 2011-11-09 09:00:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5111 * omx/gstomxvideodec.c:
5112 omxvideodec: Improve debugging in case of QoS-related frame drops
5114 2011-11-08 12:46:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5116 * omx/gstomxvideoenc.c:
5117 omxvideoenc: Release the video codec stream lock before acquiring an input buffer
5118 Otherwise the srcpad task might block on this lock and
5119 no buffers ever become available again.
5121 2011-11-08 12:45:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5123 * omx/gstomxaudioenc.c:
5124 omxaudioenc: Release the audio encoder stream lock before acquiring an input buffer
5125 Otherwise the srcpad task might block on this lock and
5126 no buffers ever become available again.
5128 2011-11-08 12:42:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5130 * omx/gstomxvideodec.c:
5131 omxvideodec: Release the video codec stream lock before acquiring an input buffer
5132 Otherwise the srcpad task might block on this lock and
5133 no buffers ever become available again.
5135 2011-11-08 11:07:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5137 * omx/gstomxaudioenc.c:
5138 * omx/gstomxaudioenc.h:
5139 omxaudioenc: Don't try to drain the component after EOS
5140 And don't send EOS twice in any case. This most likely
5141 will cause the component to not output it again and
5142 is not necessary anyway.
5144 2011-11-08 11:03:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5146 * omx/gstomxvideoenc.c:
5147 * omx/gstomxvideoenc.h:
5148 omxvideoenc: Don't try to drain the component after EOS
5149 And don't send EOS twice in any case. This most likely
5150 will cause the component to not output it again and
5151 is not necessary anyway.
5153 2011-11-08 10:46:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5155 * omx/gstomxvideodec.c:
5156 * omx/gstomxvideodec.h:
5157 omxvideodec: Don't try to drain the component after EOS
5158 And don't send EOS twice in any case. This most likely
5159 will cause the component to not output it again and
5160 is not necessary anyway.
5162 2011-11-08 09:09:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5164 * omx/gstomxvideodec.c:
5165 omxvideodec: Implement dropping of too late frames via QoS
5167 2011-11-08 08:31:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5169 * omx/gstomxaudioenc.c:
5170 omxaudioenc: Minor code refactoring
5172 2011-11-08 08:31:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5174 * omx/gstomxvideoenc.c:
5175 omxvideoenc: Minor code refactoring
5177 2011-11-08 08:31:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5179 * omx/gstomxvideodec.c:
5180 omxvideodec: Make sure to always release buffers back to OMX
5182 2011-11-08 08:24:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5185 omx: Also properly release buffers when in error state
5187 2011-11-08 08:22:08 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
5190 omx: Properly release buffers during flushing
5191 We can't pass them back to OMX_FillThisBuffer() or OMX_EmptyThisBuffer()
5192 but instead of doing nothing we have to put them back into our queue.
5193 Otherwise the buffer is leaked and we will have too few buffers in
5196 2011-11-07 14:00:47 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5198 * omx/gstomxvideodec.c:
5199 omxvideodec: Free pending frames after draining component
5201 2011-11-07 14:00:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5203 * omx/gstomxvideoenc.c:
5204 omxvideoenc: Free pending frames after draining the component
5206 2011-11-07 11:07:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5208 * omx/gstomxvideoenc.c:
5209 omxvideoenc: Make handling and usage of the base video codec frames threadsafe
5211 2011-11-07 11:05:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5213 * omx/gstomxvideoenc.c:
5214 omxvideoenc: Fix deadlock between srcpad stream lock and ::reset()
5216 2011-11-07 11:04:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5218 * omx/gstomxvideodec.c:
5219 omxvideoenc: Make handling and usage of the base video codec frames threadsafe
5221 2011-11-07 10:58:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5223 * omx/gstomxvideoenc.c:
5224 omxvideoenc: Free all pending frames after draining the component
5226 2011-11-07 10:58:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5228 * omx/gstomxvideodec.c:
5229 omxvideodec: Always free all pending frames when caps changes require reconfiguration
5231 2011-11-04 09:43:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5233 * omx/gstomxaudioenc.c:
5234 omxaudioenc: Only drain the component a single time and only after processing started
5236 2011-11-04 09:43:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5238 * omx/gstomxvideodec.c:
5239 omxvideodec: Only drain the component a single time and only after processing started
5241 2011-11-04 09:43:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5243 * omx/gstomxvideoenc.c:
5244 omxvideoenc: Only drain the component a single time and only after processing started
5246 2011-11-04 09:04:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5249 omx: Reset buffer flags to 0 after it was consumed by the component or the element
5250 Some implementations don't reset the flags and the standard is not
5251 really clear on the expected behaviour. Let's just always reset the
5252 flags as they're not valid at this point anymore.
5254 2011-11-02 13:50:14 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5256 * omx/gstomxvideoenc.c:
5257 * omx/gstomxvideoenc.h:
5258 omxvideoenc: Better handling of encoder parameters
5259 Only set them if necessary and allow to use the component
5262 2011-11-02 13:22:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5264 * omx/gstomxvideoenc.c:
5265 omxvideoenc: Make unsupported bitrate/quantizer settings less fatal
5267 2011-11-02 10:39:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5269 * omx/gstomxvideodec.c:
5270 omxvideodec: If no stride was set for the OMX output port assume GStreamer stride
5271 This is not really correct but there's nothing else we could do.
5273 2011-11-02 10:39:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5275 * omx/gstomxvideoenc.c:
5276 omxvideoenc: If no stride was set for the OMX input port assume GStreamer stride
5277 This is not really correct but there's nothing else we could do.
5279 2011-11-01 16:46:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5281 * omx/gstomxaudioenc.c:
5282 * omx/gstomxaudioenc.h:
5283 omxaudioenc: Implement draining of the component and use it
5284 This makes sure that all buffers are encoded and pushed downstream
5285 before flushing the ports and losing some buffers.
5287 2011-11-01 16:41:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5289 * omx/gstomxvideoenc.c:
5290 * omx/gstomxvideoenc.h:
5291 omxvideoenc: Implement draining of the component and use it
5292 This makes sure that all buffers are encoded and pushed downstream
5293 before flushing the ports and losing some buffers.
5295 2011-11-01 16:08:59 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5297 * omx/gstomxvideodec.c:
5298 * omx/gstomxvideodec.h:
5299 omxvideodec: Implement draining of the component and use it
5300 This makes sure that all buffers are decoded and pushed downstream
5301 before flushing the ports and losing some buffers.
5303 2011-10-20 14:32:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5305 * omx/gstomxvideodec.c:
5306 omxvideodec: Fix deadlock if ::reset is called before finding the corresponding frame of a decoded buffer
5308 2011-11-01 15:10:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5310 * omx/gstomxaudioenc.c:
5311 * omx/gstomxaudioenc.h:
5312 * omx/gstomxvideoenc.h:
5313 omxaudioenc: Forward downstream flow returns to upstream
5315 2011-11-01 15:10:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5317 * omx/gstomxvideoenc.c:
5318 omxvideoenc: Forward downstream flow returns to upstream
5320 2011-11-01 13:58:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5322 * omx/gstomxvideodec.c:
5323 * omx/gstomxvideodec.h:
5324 omxvideodec: Forward downstream flow returns to upstream
5326 2011-10-25 14:23:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5329 omx: Add minimal README file
5331 2011-10-20 15:21:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5333 * omx/gstomxvideodec.c:
5334 omxvideodec: Fix deadlock caused by calling reset while the loop function does something with the base video codec stream lock
5336 2011-10-20 15:20:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5338 * omx/gstomxvideoenc.c:
5339 omxvideoenc: Fix deadlock caused by calling reset while the loop function does something with the base video codec stream lock
5341 2011-10-20 14:30:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5343 * omx/gstomxvideodec.c:
5344 omxvideodec: Move locking at the correct place
5346 2011-10-14 10:27:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5350 omx: Remove QCOM hack to reset nOffset in EmptyBufferDone
5351 This is now done in a generic way that does not require any
5352 hacks because it will work without any side effects on any
5355 2011-10-14 10:26:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5358 omx: Reset nOffset to 0 in EmptyBufferDone if nFilledLen is 0
5359 Some OMX implementations don't reset nOffset when the complete
5360 buffer is emptied but instead only reset nFilledLen. We reset
5361 nOffset to 0 if nFilledLen == 0, which is safe to do because
5362 the offset *must* be 0 if the buffer is not filled at all.
5363 Seen in QCOM's OMX implementation.
5365 2011-10-04 10:56:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5367 * omx/gstomxvideoenc.c:
5368 omxvideoenc: If one parameter/configuration is not supported don't skip the next
5370 2011-10-03 09:12:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5372 * omx/gstomxh264dec.c:
5373 omxh264dec: Require stream-format=byte-stream
5374 Other stream-formats are unlikely to be supported by OMX components.
5376 2011-09-29 10:37:32 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5378 * omx/gstomxvideodec.c:
5379 * omx/gstomxvideodec.h:
5380 omxvideodec: Add API for subclasses to prepare/convert frames
5382 2011-09-27 15:08:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5384 * omx/gstomxaudioenc.c:
5385 omxaudioenc: Switch to Idle first and wait before switching to Loaded and deallocating buffers
5386 Allocating buffers before the Idle state is reached can lead to crashes.
5388 2011-09-27 15:08:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5390 * omx/gstomxvideoenc.c:
5391 omxvideoenc: Switch to Idle first and wait before switching to Loaded and deallocating buffers
5392 Allocating buffers before the Idle state is reached can lead to crashes.
5394 2011-09-27 15:05:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5396 * omx/gstomxvideodec.c:
5397 omxvideodec: Switch to Idle first and wait before switching to Loaded and deallocating buffers
5398 Allocating buffers before the Idle state is reached can lead to crashes.
5400 2011-09-27 14:15:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5404 * omx/gstomxvideodec.c:
5405 omxvideodec: New hack for QCOM to recreate the component instead of reconfiguring it on caps changes
5407 2011-09-27 12:13:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5410 omx: Change a g_assert() into a GST_WARNING_OBJECT()
5412 2011-09-26 13:04:18 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5416 omx: Add hack for Qualcomm's OMX implementation to manually reset nOffset in EmptyBufferDone
5418 2011-09-23 17:02:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5420 * omx/gstomxaudioenc.c:
5421 omxaudioenc: Add a check to prevent a zero-sized OMX buffer
5423 2011-09-23 17:02:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5425 * omx/gstomxvideoenc.c:
5426 omxvideoenc: Add some more checks for correct OMX buffer sizes
5428 2011-09-23 15:53:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5430 * omx/gstomxvideodec.c:
5431 omxvideodec: Add some more checks for OMX buffer sizes
5433 2011-09-14 10:15:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5437 * omx/gstomxaudioenc.c:
5438 * omx/gstomxvideodec.c:
5439 * omx/gstomxvideoenc.c:
5440 omx: Wait until the Executing state is reached before calling OMX_FillThisBuffer()
5441 This correctly works around the QCOM race condition that happens when calling
5442 FTB after setting the new state and before reaching it.
5444 2011-09-02 14:43:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5446 * omx/gstomxvideodec.c:
5447 omxvideodec: Negotiate video format with downstream and what the component claims to support
5449 2011-08-25 19:56:58 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
5451 * omx/gstbasevideoencoder.c:
5452 basevideoencoder: fix element leak
5453 and this concludes an hour of yelling at the bloody test failing,
5454 only to track down the problem not being in the test.
5455 https://bugzilla.gnome.org/show_bug.cgi?id=657368
5457 2011-08-19 09:20:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5459 * omx/gstomxvideoenc.c:
5460 omxvideoenc: Release basevideocodec stream lock while waiting for a buffer
5461 This prevents deadlocks if no empty input buffers are available and
5462 releasing input buffers requires the loop function to handle some
5463 output buffers first.
5465 2011-08-19 09:19:22 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5467 * omx/gstomxvideodec.c:
5468 omxvideodec: Release basevideocodec stream lock while waiting for a buffer
5469 This prevents deadlocks if no empty input buffers are available and
5470 releasing input buffers requires the loop function to handle some
5471 output buffers first.
5473 2011-08-18 10:24:26 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5475 * omx/gstbasevideodecoder.c:
5476 basevideodecoder: Fix deadlock
5478 2011-08-18 10:03:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5480 * omx/gstbaseaudiodecoder.c:
5481 baseaudiodecoder: Don't take the stream lock in the seek handler
5482 This will lead to deadlocks
5484 2011-08-18 10:02:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5486 * omx/gstbasevideocodec.c:
5487 * omx/gstbasevideocodec.h:
5488 * omx/gstbasevideodecoder.c:
5489 * omx/gstbasevideoencoder.c:
5490 basevideo: Fix locking, especially if both pads have different streaming threads
5492 2011-08-18 09:42:02 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5494 * omx/gstbasevideodecoder.c:
5495 * omx/gstbasevideoencoder.c:
5496 basevideo: Don't call g_type_class_peek_parent() in class_init
5497 This is already done by the GObject boilerplate macro
5499 2011-08-18 09:40:46 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5501 * omx/gstbaseaudiodecoder.c:
5502 baseaudiodecoder: Don't call g_type_class_peek_parent() in class_init
5503 This is already done by the boilerplate macro
5505 2011-08-18 09:34:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5507 * omx/gstbaseaudiodecoder.c:
5508 * omx/gstbaseaudiodecoder.h:
5509 baseaudiodecoder: Fix thread safety issues if both pads have different streaming threads
5511 2011-08-18 09:17:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5513 * omx/gstbaseaudiodecoder.c:
5514 baseaudiodecoder: Delay sending of serialized events to finish_frame()
5516 2011-08-17 14:33:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5518 * omx/gstomxaudioenc.c:
5519 omxaudioenc: Always require at least OMX_MIN_PCMPAYLOAD_MSEC per input buffer
5521 2011-08-17 14:28:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5523 * omx/gstbaseaudioencoder.c:
5524 * omx/gstbaseaudioencoder.h:
5525 baseaudioencoder: Add support for requesting a minimum and maximum number of samples per frame
5526 This extends the special case of a fixed number of samples per frame
5527 that was supported before already.
5529 2011-08-17 14:17:18 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5531 * omx/gstomxaudioenc.c:
5532 omxaudioenc: Handle inbuf==NULL properly in ::handle_frame()
5534 2011-08-17 13:04:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5536 * omx/gstomxaacenc.c:
5537 omxaacenc: Implement ::get_num_samples() vfunc
5539 2011-08-17 13:03:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5541 * omx/gstomxaudioenc.c:
5542 * omx/gstomxaudioenc.h:
5543 omxaudioenc: Add vfunc to get the number of samples inside a buffer
5545 2011-08-17 11:34:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5547 * omx/gstomxaudioenc.c:
5548 omxaudioenc: Release baseaudioencoder stream lock while waiting for a buffer in ::handle_frame()
5549 This prevents deadlocks if no empty input buffers are available and
5550 releasing input buffers requires the loop function to handle some
5551 output buffers first.
5553 2011-08-17 11:34:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5555 * omx/gstbaseaudioencoder.c:
5556 * omx/gstbaseaudioencoder.h:
5557 baseaudioencoder: Fix thread safety issues if both pads have different streaming threads
5559 2011-08-17 09:58:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5561 * omx/gstbaseaudioencoder.c:
5562 baseaudioencoder: Taking the OBJECT lock in reset() is not needed
5564 2011-08-16 11:03:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5566 * omx/gstomxaudioenc.c:
5567 omxaudioenc: Remove hack that only applies to the video encoder class
5569 2011-08-16 10:49:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5574 * omx/gstomxaacenc.c:
5575 * omx/gstomxaacenc.h:
5576 omxaacenc: Add initial version of OpenMAX AAC encoder element
5578 2011-08-15 15:10:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5581 * omx/gstomxaudioenc.c:
5582 * omx/gstomxaudioenc.h:
5583 omxaudioenc: Add initial version of audio encoder base class
5585 2011-08-15 14:14:11 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5587 * omx/gstbaseaudioencoder.c:
5588 baseaudioencoder: Delay sending of serialized events to finish_frame()
5590 2011-08-15 13:06:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5593 * omx/gstbaseaudiodecoder.c:
5594 * omx/gstbaseaudiodecoder.h:
5595 * omx/gstbaseaudioencoder.c:
5596 * omx/gstbaseaudioencoder.h:
5597 audio: Integrate audio base classes into the build system and fixup
5599 2011-08-15 12:56:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5601 * omx/gstbaseaudiodecoder.c:
5602 * omx/gstbaseaudiodecoder.h:
5603 * omx/gstbaseaudioencoder.c:
5604 * omx/gstbaseaudioencoder.h:
5605 * omx/gstbaseaudioutils.c:
5606 * omx/gstbaseaudioutils.h:
5607 audio: Add audio decoder/encoder base classes
5608 Taken from http://cgit.collabora.com/git/user/manauw/gst-plugins-bad.git/log/?h=baseaudio
5610 2011-08-12 12:25:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5612 * omx/gstbasevideoencoder.c:
5613 basevideoencoder: Proxy the width/height/framerate/PAR constraints of downstream caps to upstream
5614 This allows to specify constraints on the compressed downstream caps
5615 by muxers or capsfilters, which will then be forwarded to upstream
5616 and allows video converters to fulfill the constraints.
5617 Code based on Mark Nauwelaerts audio encoder base class.
5619 2011-08-12 12:13:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5621 * omx/gstbasevideoencoder.h:
5622 basevideoencoder: Remove old ::getcaps() comment
5624 2011-08-12 12:06:23 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5626 * omx/gstbasevideoencoder.c:
5627 * omx/gstbasevideoencoder.h:
5628 basevideoencoder: Remove ::get_caps() vfunc
5629 Subclasses can set the caps more efficiently and this only
5630 caused additional indirections.
5632 2011-08-10 10:24:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5634 * omx/gstomxh263enc.c:
5635 * omx/gstomxh264enc.c:
5636 * omx/gstomxmpeg4videoenc.c:
5637 * omx/gstomxvideoenc.c:
5638 omxvideoenc: Use "video/x-raw-yuv" as sink template caps instead of strict I420 caps
5640 2011-08-10 10:23:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5642 * omx/gstomxmpeg4videodec.c:
5643 omxmpeg4videodec: Don't require width/height on sink pad caps
5645 2011-08-10 10:11:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5647 * omx/gstomxh263dec.c:
5648 * omx/gstomxh264dec.c:
5649 * omx/gstomxmpeg4videodec.c:
5650 * omx/gstomxvideodec.c:
5651 * omx/gstomxwmvdec.c:
5652 omxvideodec: Use "video/x-raw-yuv" as src template caps instead of strict I420 caps
5654 2011-08-10 09:56:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5656 * omx/gstomxvideoenc.c:
5657 omxvideoenc: Set the state back to StateLoaded even if an error happened
5659 2011-08-10 09:49:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5662 omx: Don't hold any locks while calling OMX_SendCommand()
5663 It might call into one of the callbacks and lead to deadlocks, e.g.
5664 with the Qualcomm OMX implementation.
5666 2011-08-10 09:32:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5671 2011-08-10 09:23:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5674 omx: Reset pending reconfigure output ports when changing the state from Executing to any lower state
5676 2011-08-10 09:08:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5679 omx: Fix crash when setting last error after the ports were freed
5681 2011-08-10 09:03:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5684 omx: Free component structure
5686 2011-08-10 09:02:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5689 omx: Make component destruction safer
5691 2011-08-10 08:53:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5694 omx: Set pAppPrivate of buffers to NULL when deallocating buffers
5695 This prevents usage of freed memory later if the OMX component
5696 has weird behaviour.
5698 2011-08-10 08:52:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5700 * omx/gstomxvideodec.c:
5701 omxvideodec: Set the state back to StateLoaded even if an error happened
5703 2011-08-10 08:51:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5706 omx: Add some assertions to check if the buffer pAppPrivate is still correct
5708 2011-08-08 13:04:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5711 omx: Add parenthesis at correct places in the struct init macro
5713 2011-08-08 12:12:58 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5716 omx: Only prevent setting a higher state if the component is in an error state
5718 2011-08-03 16:02:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5720 * omx/gstbasevideodecoder.c:
5721 basevideodecoder: Use the cached video frame size instead of recalculating it
5723 2011-08-03 15:35:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5726 omx: Improve debugging in param/config getter/setter wrappers
5728 2011-08-03 13:10:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5730 * omx/gstomxvideodec.c:
5731 omxvideodec: Don't abort if the color format is not supported but give a useful error message
5733 2011-08-02 15:14:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5735 * omx/gstomxh263enc.c:
5736 * omx/gstomxh264enc.c:
5737 * omx/gstomxmpeg4videoenc.c:
5738 * omx/gstomxvideoenc.c:
5739 omxvideoenc: Don't fail if setting the bitrate or profile is not supported by the component
5740 Also always set/get the profile, even if there are no peer caps.
5742 2011-08-02 15:14:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5744 * omx/gstbasevideoencoder.c:
5745 basevideoencoder: Make access to the list of frames threadsafe
5747 2011-08-01 13:22:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5751 omx: Add a hacks flag for the Qualcomm 7x30 OMX_FillThisBuffer() race and make it optional
5753 2011-07-29 13:56:59 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5756 omx: Add workaround for QCOM 7x30 race condition
5758 2011-07-29 12:06:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5762 * omx/gstomxh263enc.c:
5763 * omx/gstomxh263enc.h:
5764 omxh263enc: Add H.263 encoder element
5766 2011-07-29 11:26:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5768 * omx/gstomxmpeg4videoenc.c:
5769 omxmpeg4videoenc: Add support for setting profile/level via caps
5771 2011-07-28 14:14:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5773 * omx/gstomxh264enc.c:
5774 omxh264enc: Add support for setting profile/level via caps
5776 2011-07-28 12:58:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5778 * omx/gstomxvideoenc.c:
5779 omxvideoenc: Add support for forcing the next frame to be a keyframe
5781 2011-07-28 11:54:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5783 * omx/gstomxvideoenc.c:
5784 * omx/gstomxvideoenc.h:
5785 omxvideoenc: Add support for setting bitrate/quantization related parameters
5787 2011-07-28 10:23:08 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5791 omx: Add wrapper functions for OMX_[GS]et{Config,Parameter}
5793 2011-07-28 09:54:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5797 omx: Add macro to initialize OpenMAX structures
5799 2011-07-28 09:08:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5801 * omx/gstomxvideoenc.c:
5802 omxvideoenc: Don't output 0-byte buffers
5804 2011-07-25 15:05:08 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5807 omx: Ensure that the pAppPrivate pointer in OMX buffers is set correctly
5809 2011-07-25 13:19:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5811 * omx/gstomxvideodec.c:
5812 * omx/gstomxvideoenc.c:
5813 omxvideo{enc,dec}: Only set/unset flushing state on ports if they were created already
5815 2011-07-25 12:01:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5819 * omx/gstomxwmvdec.c:
5820 * omx/gstomxwmvdec.h:
5821 omxwmvdec: Add WMV video decoder element
5823 2011-07-25 11:44:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5827 * omx/gstomxh263dec.c:
5828 * omx/gstomxh263dec.h:
5829 omxh263dec: Add H.263 decoder element
5831 2011-07-25 11:32:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5835 * omx/gstomxh264enc.c:
5836 * omx/gstomxh264enc.h:
5837 omxh264enc: Add H.264 encoder element
5839 2011-07-25 10:48:58 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5841 * omx/gstomxvideodec.c:
5842 omxvideodec: Try harder to deallocate the buffers after errors happened
5844 2011-07-25 10:47:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5846 * omx/gstomxvideoenc.c:
5847 omxvideoenc: Try harder to deallocate the buffers after errors happened
5849 2011-07-25 10:46:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5852 omx: Deallocate port buffers before freeing the component
5853 They should be deallocated by the caller before reaching the
5854 Loaded state but to be on the safe side we will make sure
5855 they're really deallocated here.
5857 2011-07-21 11:15:14 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5859 * omx/gstomxvideoenc.c:
5860 omxvideoenc: Add initial support for stride conversion
5862 2011-07-21 10:38:26 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5864 * omx/gstomxh264dec.c:
5865 * omx/gstomxmpeg4videodec.c:
5866 * omx/gstomxmpeg4videoenc.c:
5867 omx: Set default roles for the components if none were set from the config file
5869 2011-07-21 10:36:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5872 omx: Failure to set the component role is fatal
5874 2011-07-21 07:53:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5876 * omx/gstomxvideoenc.c:
5877 omxvideoenc: Add support for setting codec_data on the srcpad caps
5879 2011-07-21 07:44:34 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5881 * omx/gstomxvideoenc.c:
5882 omxvideoenc: Free/drop GstVideoFrames that resulted in an empty buffer
5884 2011-07-21 07:44:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5886 * omx/gstbasevideoencoder.c:
5887 basevideoencoder: Allow finishing of frames with no src_buffer to drop/free the GstVideoFrame
5889 2011-07-21 07:31:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5891 * omx/gstomxvideoenc.c:
5892 omxvideoenc: Remove obsolete TODO comment
5894 2011-07-20 11:09:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5898 omx: Use libgstopenmax.so for the plugin filename and openmax for the plugin name
5899 Resolves conflicts with gst-openmax.
5901 2011-07-20 08:34:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5907 * omx/gstomxmpeg4videoenc.c:
5908 * omx/gstomxmpeg4videoenc.h:
5909 * omx/gstomxvideoenc.c:
5910 * omx/gstomxvideoenc.h:
5911 omxvideoenc: Add video encoder base class and MPEG4 video encoder
5912 Unfortunately requires lots of hacks again to work properly with
5915 2011-07-20 10:39:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5917 * omx/gstbasevideoencoder.c:
5918 basevideoencoder: Only get caps from the subclass if they were not set yet by the subclass
5920 2011-07-20 09:25:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5922 * omx/gstbasevideoencoder.c:
5923 * omx/gstbasevideoencoder.h:
5924 basevideoencoder: Delay sending of serialized sink events until finish_frame()
5926 2011-07-20 09:09:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5928 * omx/gstbasevideoencoder.c:
5929 * omx/gstbasevideoencoder.h:
5930 basevideoencoder: Add ::reset vfunc and handle ::reset/::finish the same way as in the decoder
5932 2011-07-19 12:50:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5934 * omx/gstbasevideoencoder.c:
5935 basevideoencoder: Use a temporary GstVideoState until the subclass accepted the caps
5936 Also store the caps in the GstVideoState and assume a PAR of 1/1 instead
5937 of 0/1 if no PAR is specified in the caps.
5939 2011-07-19 12:29:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5942 * omx/gstomxvideodec.c:
5943 omx: Improve debug output a bit
5945 2011-07-19 10:33:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5949 * omx/gstomxvideodec.c:
5950 omx: Rework port reconfiguration again and only use the Bellagio specific hacks with Bellagio
5951 We only reconfigure ports that need to be reconfigured now instead of
5954 2011-07-19 10:33:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5959 * omx/gstomxvideodec.c:
5960 * omx/gstomxvideodec.h:
5961 omx: Add infrastructure to enable special hacks for broken OpenMAX implementations
5963 2011-07-18 13:10:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5966 omx: When acquiring a buffer from an input port always wait until all output ports are reconfigured
5968 2011-07-18 08:41:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5970 * omx/gstomxvideodec.c:
5971 omxvideodec: Add support for converting between omx and gst rowstrides
5973 2011-07-14 10:34:09 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5976 omx: Provide all buffers to output ports after enabling them
5978 2011-07-14 08:29:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5980 * omx/gstomxvideodec.c:
5981 omxvideodec: Add support for NV12 / OMX_COLOR_FormatYUV420SemiPlanar
5983 2011-07-14 07:58:41 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5985 * omx/gstomxvideodec.c:
5986 * omx/gstomxvideodec.h:
5987 omxvideodec: Only flush the component ports after we passed input to them
5989 2011-07-13 21:19:34 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5991 * omx/gstomxvideodec.c:
5992 omxvideodec: Only change states downwards if an upper state was reached
5994 2011-07-13 20:37:02 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5998 * omx/gstomxvideodec.c:
5999 * omx/gstomxvideodec.h:
6000 omx: Add support for setting the component-role
6002 2011-07-13 20:22:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6006 * omx/gstomxvideodec.c:
6007 omx: Improve error reporting by formatting the error codes better and also providing their string representation
6009 2011-07-13 14:36:14 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6012 build: Dist autogen.sh
6014 2011-07-13 14:35:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6018 build: Only require GStreamer >= 0.10.29 and GLib >= 2.16
6020 2011-07-13 14:04:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6023 build: Dist gstomx.conf
6025 2011-07-13 14:04:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6028 build: Clean _stdint.h on "make distclean"
6030 2011-07-13 14:02:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6032 * omx/gstomxvideodec.c:
6033 omxvideodec: Fix typo
6035 2011-07-13 13:59:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6040 2011-07-13 12:46:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6042 * omx/gstomxvideodec.c:
6043 omxvideodec: Set SYNCFRAME flag on the OMX buffers for non-delta units
6045 2011-07-13 12:37:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6047 * omx/gstomxvideodec.c:
6048 omxvideodec: Free all pending frames when resetting the decoder
6049 Workaround for https://bugzilla.gnome.org/show_bug.cgi?id=654529
6051 2011-07-13 09:59:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6053 * omx/gstomxvideodec.c:
6054 omxvideodec: Handle output buffers without a corresponding GstVideoFrame more gracefully
6055 This can happen on EOS in some cases and when the input is not
6058 2011-07-13 09:31:22 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6060 * omx/gstomxvideodec.c:
6061 omxvideodec: Fix deadlock when finishing old frames that are left over by the decoder
6063 2011-07-12 11:37:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6065 * omx/gstomxh264dec.c:
6066 omxh264dec: It's called H.264, not H264
6068 2011-07-12 11:36:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6070 * omx/gstomxh264dec.c:
6071 * omx/gstomxmpeg4videodec.c:
6072 * omx/gstomxvideodec.c:
6073 * omx/gstomxvideodec.h:
6074 omxvideodec: Make sink/src pad template caps configurable
6076 2011-07-12 11:13:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6079 omx: Allow to set a preferred configuration directory with the GST_OMX_CONFIG_DIR environment variable
6081 2011-07-12 10:55:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6083 * omx/gstomxh264dec.c:
6084 * omx/gstomxmpeg4videodec.c:
6085 * omx/gstomxvideodec.c:
6086 omxvideodec: Make core/component-name and in/outport index configurable
6088 2011-07-12 10:05:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6093 omx: Add initial version of configuration system
6094 This now only registers elements that are specified in the
6096 The configuration file is a keyfile in the first XDG configuration
6097 directory with the name gstomx.conf.
6099 2011-07-12 08:53:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6103 * omx/gstomxh264dec.c:
6104 * omx/gstomxh264dec.h:
6105 * omx/gstomxh264videodec.h:
6106 omxh264dec: Rename from omxh264videodec to omxh264dec
6108 2011-07-12 08:40:48 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6110 * omx/gstomxh264videodec.c:
6111 omxh264videodec: Require alignment=au and stream-format={avc,bytestream}
6113 2011-07-11 12:59:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6115 * omx/gstbasevideodecoder.c:
6116 basevideodecoder: First inform subclass about resetting before resetting/freeing all internal state
6117 The subclass might want to access the old state.
6119 2011-07-11 12:36:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6121 * omx/gstbasevideodecoder.c:
6122 basevideodecoder: Track present position on discont before resetting it
6124 2011-07-11 11:52:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6126 * omx/gstbasevideodecoder.c:
6127 basevideodecoder: Also protect the list of pending frames from concurrent access when pushing all pendings events
6129 2011-07-11 11:28:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6131 * omx/gstbasevideocodec.c:
6132 * omx/gstbasevideocodec.h:
6133 * omx/gstbasevideodecoder.c:
6134 basevideocodec: Protect access to the list of pending frames with the object lock
6135 This is required if ::finish_frame() and all buffer output happens
6136 on a different thread than the sinkpad streaming thread.
6138 2011-07-11 09:35:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6140 * omx/gstbasevideodecoder.c:
6141 basevideodecoder: Set the correct lists to NULL after freeing
6143 2011-07-11 08:54:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6145 * omx/gstbasevideodecoder.c:
6146 basevideodecoder: Work with a copy of the GstVideoState in setcaps until the caps are accepted
6147 Also fix a refcount problem with the codec_data.
6149 2011-07-12 08:34:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6153 * omx/gstomxh264videodec.c:
6154 * omx/gstomxh264videodec.h:
6155 omxh264videodec: Add h.264 video decoder
6157 2011-07-12 08:29:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6159 * omx/gstomxmpeg4videodec.c:
6160 omxmpeg4videodec: Fix debug category name
6162 2011-07-09 11:41:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6165 * omx/gstbasevideocodec.h:
6166 * omx/gstbasevideodecoder.c:
6167 * omx/gstbasevideoencoder.c:
6168 * omx/gstbasevideoutils.c:
6169 * omx/gstbasevideoutils.h:
6170 basevideo: Move the utils from the codec header to its own header
6172 2011-07-09 11:32:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6174 * omx/gstbasevideocodec.c:
6175 * omx/gstbasevideodecoder.c:
6176 basevideo: Use GSlice for allocating GstVideoFrame and don't duplicate code in the decoder base class
6178 2011-07-09 11:05:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6180 * omx/gstomxvideodec.c:
6181 omxvideodec: Use the destroy notify to free the coder_hook
6183 2011-07-09 10:57:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6185 * omx/gstbasevideocodec.c:
6186 * omx/gstbasevideocodec.h:
6187 * omx/gstbasevideodecoder.c:
6188 basevideo: Add destroy notify for the coder_hook to prevent memory leaks
6191 2011-07-09 10:44:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6194 basevideo: Fix GType names to not conflict with the public video base classes
6195 It's still not possible to include headers of both in the same file
6196 or compile/link both into the same plugin but that shouldn't be
6199 2011-07-08 15:42:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6201 * omx/gstomxvideodec.c:
6202 omxvideodec: Fix some minor memory leaks
6204 2011-07-08 15:25:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6208 * omx/gstomxvideodec.c:
6209 omx: Rework port reconfiguration
6210 We always reconfigure all ports now if the settings of one
6211 port changes to prevent lots of race conditions, dropped
6212 frames and similar issues.
6214 2011-07-08 13:16:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6216 * omx/gstomxvideodec.c:
6217 * omx/gstomxvideodec.h:
6218 omxvideodec: Use the frames storage of the base class instead of implementing our own
6219 They could get out of sync and we could store already destroyed frames.
6221 2011-07-07 12:51:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6224 omx: Clarify GQueue/GPtrArray element types
6226 2011-07-07 12:23:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6230 * omx/gstomxvideodec.c:
6231 omx: Add more checks to acquire_buffer() and return the current state additional to the buffer
6232 Also refactor the code flow in the video decoder for this. This makes
6233 the usage of acquire_buffer() easier and more atomic.
6235 2011-07-07 12:22:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6237 * omx/gstomxvideodec.c:
6238 omxvideodec: Also flush/unflush the input port when changing the state PAUSED<->READY
6240 2011-07-07 12:21:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6243 omx: Don't broadcast port->port_cond after allocating buffers successfully
6244 Allocating buffers must happen while no thread is waiting for the
6245 cond and especially must happen from the thread that would acquire
6246 buffers from the port.
6248 2011-07-07 11:27:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6250 * omx/gstomxvideodec.c:
6251 omxvideodec: Don't leak the codec_data after sending it
6253 2011-07-07 10:27:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6256 omx: Always check if the component is in an error state before waiting for a condition variable to be signalled
6257 Otherwise we might wait forever because nothing is going to signal
6258 the condition variable anymore.
6260 2011-07-07 10:22:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6263 omx: Always hold port->port_lock before signalling port->port_cond when notifying about errors
6264 Otherwise a port might be in the critical section, has checked the error state
6265 already but waits after port->port_cond is signalled, which will lead
6268 2011-07-07 10:07:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6270 * omx/gstomxvideodec.c:
6271 omxvideodec: Remove reconfiguration test hack
6273 2011-07-06 13:27:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6276 omx: Improve debug output a bit
6278 2011-07-06 13:26:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6281 omx: Always try to deallocate buffers, even if there's a component error
6283 2011-07-06 13:26:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6286 omx: Use G_USEC_PER_SEC for clarity instead of 1000000
6288 2011-07-06 13:19:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6290 * omx/gstomxvideodec.c:
6291 omxvideodec: Error out if the GStreamer allocated buffer is smaller than the OpenMAX output buffer
6292 Usually this must never happen but currently it happens during reconfigurations
6293 because of a race condition. Still it's better than crashing.
6295 2011-07-06 10:40:13 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6299 omx: Don't use port_def.bEnabled to check if the Enable/Disable command is finished
6300 bEnabled should be set immediately after sending the command, it's only
6301 Bellagio that waits until the command is finished before setting it.
6303 2011-07-06 10:30:11 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6305 * omx/gstomxvideodec.c:
6306 omxvideodec: Remove obsolete FIXME comment
6308 2011-07-06 10:29:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6312 omx: Improve error handling and reporting
6314 2011-07-06 08:48:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6316 * omx/gstomxmpeg4videodec.c:
6317 * omx/gstomxvideodec.c:
6318 * omx/gstomxvideodec.h:
6319 omxvideodec: Make the inport and outport index configurable by the subclass
6321 2011-06-28 08:51:23 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6326 * omx/gstomxmpeg4videodec.c:
6327 * omx/gstomxmpeg4videodec.h:
6328 * omx/gstomxvideodec.c:
6329 * omx/gstomxvideodec.h:
6330 omx: Add initial version of OpenMAX framework, video decoder base class and MPEG4 video decoder
6331 This currently hardcodes a lot of stuff but works at least.
6332 Also adds a generic framework for handling OpenMAX cores, components
6335 2011-06-28 11:47:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6337 * omx/gstbasevideocodec.c:
6338 * omx/gstbasevideocodec.h:
6339 * omx/gstbasevideodecoder.c:
6340 * omx/gstbasevideodecoder.h:
6341 basevideodecoder: Don't reorder serialized src events
6342 And allow to drop EOS by the subclass if ::finish returns
6346 2011-06-27 09:41:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6348 * omx/gstbasevideocodec.c:
6349 * omx/gstbasevideocodec.h:
6350 * omx/gstbasevideodecoder.c:
6351 basevideo: Add the caps to the GstVideoState and clean up caps/codec_data properly
6353 2011-06-27 09:37:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6355 * omx/gstbasevideocodec.c:
6356 * omx/gstbasevideocodec.h:
6357 * omx/gstbasevideodecoder.c:
6358 * omx/gstbasevideodecoder.h:
6359 * omx/gstbasevideoencoder.c:
6360 * omx/gstbasevideoencoder.h:
6361 * omx/gstbasevideoutils.c:
6362 basevideo: Add video encoder/decoder base classes from gst-plugins-bad
6364 2011-06-21 11:17:35 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6366 * omx/openmax/OMX_Audio.h:
6367 * omx/openmax/OMX_Component.h:
6368 * omx/openmax/OMX_ComponentExt.h:
6369 * omx/openmax/OMX_ContentPipe.h:
6370 * omx/openmax/OMX_Core.h:
6371 * omx/openmax/OMX_CoreExt.h:
6372 * omx/openmax/OMX_IVCommon.h:
6373 * omx/openmax/OMX_Image.h:
6374 * omx/openmax/OMX_Index.h:
6375 * omx/openmax/OMX_IndexExt.h:
6376 * omx/openmax/OMX_Other.h:
6377 * omx/openmax/OMX_Types.h:
6378 * omx/openmax/OMX_Video.h:
6379 * omx/openmax/OMX_VideoExt.h:
6380 openmax: Add OpenMAX IL 1.1.2 headers