1 === release 1.13.91 ===
3 2018-03-13 19:32:39 +0000 Tim-Philipp Müller <tim@centricular.com>
12 2018-03-09 12:02:29 +0000 Tim-Philipp Müller <tim@centricular.com>
15 meson: fix typo in package name define
17 2018-02-27 15:42:53 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
19 * omx/gstomxh265enc.c:
20 * omx/gstomxh265utils.c:
21 omxh265: update 422 profile names
22 h265parse is gaining support for the format range extension profile
24 Use the profile names defined in h265parse.
25 https://bugzilla.gnome.org/show_bug.cgi?id=793928
27 2018-03-05 13:49:18 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
29 * omx/gstomxvideoenc.c:
30 omxvideoenc: Don't drop the frame on empty payload
31 This otherwise may lead to "No reference frame found" warning.
33 2018-03-01 15:16:55 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
35 * omx/gstomxvideodec.c:
36 omxvideodec: Don't drop the frame on empty payload
37 This otherwise may lead to "No reference frame found" warning.
39 2018-03-02 15:36:06 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
42 omx: Free empty buffers list in use_dynamic_buffers
43 To indicate we are doing dynamic buffers importation, we pass
44 a list of NULL pointers, but we forgot to free that list.
46 2018-03-01 15:16:32 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
48 * omx/gstomxvideodec.c:
49 omxvideodec: Fix CodecState leak
51 === release 1.13.90 ===
53 2018-03-03 23:00:59 +0000 Tim-Philipp Müller <tim@centricular.com>
63 2018-03-03 20:21:06 +0000 Tim-Philipp Müller <tim@centricular.com>
66 config: dist tizonia config files
68 2018-03-02 11:06:08 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
71 Revert "omx: wait for flush complete and buffers being released when flushing"
72 This reverts commit 4211e4c29a262f110cb92ddf9c06b403ced233ef.
74 2018-02-21 12:50:42 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
76 * omx/gstomxvideoenc.c:
77 videoenc: don't set stride padding to 0 when copying frames
78 Padding can be left undefined there is no point filling it with 0.
79 https://bugzilla.gnome.org/show_bug.cgi?id=793694
81 2018-02-16 11:50:35 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
83 * omx/gstomxbufferpool.c:
84 * omx/gstomxh264enc.c:
85 * omx/gstomxh265enc.c:
87 * omx/gstomxvideodec.c:
88 * omx/gstomxvideoenc.c:
89 add support for NV12_10LE32 and NV16_10LE32 on zynqultrascaleplus
90 The encoder and decoder on zynqultrascaleplus support these new 10 bits
92 https://bugzilla.gnome.org/show_bug.cgi?id=793694
94 2018-02-16 11:46:47 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
96 * omx/gstomxvideoenc.c:
97 omxvideoenc: factor out gst_omx_video_enc_nv12_manual_copy()
98 No semantic change, I'm going to re-use it to copy the NV12_10LE32
100 https://bugzilla.gnome.org/show_bug.cgi?id=793694
102 2018-01-17 10:40:49 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
104 * omx/gstomxvideoenc.c:
105 omxvideoenc: display the computed buffer size when configuring input
106 https://bugzilla.gnome.org/show_bug.cgi?id=793694
108 2018-02-06 14:25:57 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
110 * omx/gstomxvideoenc.c:
111 * omx/gstomxvideoenc.h:
112 videoenc: implement ROI on zynqultrascaleplus
113 Check input buffers for ROI meta and pass them to the encoder by using
114 zynqultrascaleplus's custom OMX extension. Also add a new
115 "default-roi-quality" in order to tell the encoder what quality level
116 should be applied to ROI by default.
117 https://bugzilla.gnome.org/show_bug.cgi?id=793696
119 2018-02-14 17:23:39 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
121 * omx/gstomxvideoenc.c:
122 omxvideoenc: remove GST_PARAM_MUTABLE_PLAYING from 'max-bitrate' property
123 This property isn't actually mutable in the PLAYING state.
124 https://bugzilla.gnome.org/show_bug.cgi?id=793458
126 2018-02-14 17:20:02 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
128 * omx/gstomxvideoenc.c:
129 * omx/gstomxvideoenc.h:
130 omxvideoenc: protect target_bitrate with the object lock
131 The 'target-bitrate' property can be changed while PLAYING
132 (GST_PARAM_MUTABLE_PLAYING). Make it thread-safe to prevent concurrent
133 accesses between the application and streaming thread.
134 https://bugzilla.gnome.org/show_bug.cgi?id=793458
136 2018-02-20 11:46:49 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
138 * omx/gstomxbufferpool.c:
139 omxbufferpool: add PERFORMANCE DEBUG message when copying output frames
140 I spent quiet some time figuring out why performance of my pipeline were
141 terrible. Turned out it was because of output frames being copied
142 because of stride/offset mismatch.
143 Add a PERFORMANCE DEBUG message to make it easier to spot and debug from logs.
144 https://bugzilla.gnome.org/show_bug.cgi?id=793637
146 2018-02-15 19:44:37 +0000 Tim-Philipp Müller <tim@centricular.com>
152 === release 1.13.1 ===
154 2018-02-15 17:50:14 +0000 Tim-Philipp Müller <tim@centricular.com>
163 2017-06-30 15:15:06 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
165 * omx/gstomxh265enc.c:
166 omxh265enc: fix typo in "periodicty-idr" property name
167 Also fix the 'nick' of the property.
168 omxh265enc is based on the code from omxh264enc and suffers the same
169 typo as we fixed in https://bugzilla.gnome.org/show_bug.cgi?id=784370
170 This element isn't part of a stable release yet so it's not an API
172 https://bugzilla.gnome.org/show_bug.cgi?id=793390
174 2018-02-08 19:18:59 +0000 Tim-Philipp Müller <tim@centricular.com>
177 meson: make version numbers ints and fix int/string comparison
178 WARNING: Trying to compare values of different types (str, int).
179 The result of this is undefined and will become a hard error
180 in a future Meson release.
181 Also remove unused libversion/soversion.
183 2017-12-12 16:50:00 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
188 include all OMX extension headers if present
189 The OMX specs defines 8 headers that implementations can use to define
190 their custom extensions. We were checking and including 3 and ignoring
192 https://bugzilla.gnome.org/show_bug.cgi?id=792043
194 2018-01-30 10:31:03 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
199 meson: simplify OMX extensions detection
200 We are now always checking which files are present or not, even when using our
201 internal copy of OMX, rather than hardcoding the ones present in it.
202 https://bugzilla.gnome.org/show_bug.cgi?id=792043
204 2018-01-30 11:54:24 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
209 Revert "meson: use include_directories() with external OMX headers path"
210 This reverts commit 9d37a92a615e54e8ee12f8c65bcfe386ec9de2d0.
212 2017-11-27 14:52:10 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
214 * omx/gstomxh265enc.c:
215 * omx/gstomxh265enc.h:
216 omxh265enc: add some encoding properties
217 constrained-intra-prediction and loop-filter-mode.
218 Those map standard OMX settings.
219 https://bugzilla.gnome.org/show_bug.cgi?id=792528
221 2017-11-23 15:54:15 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
223 * omx/gstomxh264enc.c:
224 * omx/gstomxh264enc.h:
225 omxh264enc: add some encoding properties
226 entropy-mode, constrained-intra-prediction and loop-filter-mode.
227 Those map standard OMX settings.
228 https://bugzilla.gnome.org/show_bug.cgi?id=792528
230 2017-06-08 12:31:21 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
232 * omx/gstomxvideoenc.c:
233 * omx/gstomxvideoenc.h:
234 omxvideoenc: add zynqultrascaleplus specific properties
235 https://bugzilla.gnome.org/show_bug.cgi?id=792528
237 2017-10-31 12:24:39 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
239 * omx/gstomxvideoenc.c:
240 omxvideoenc: document unit of target-bitrate property
241 nTargetBitrate and nEncodeBitrate are defined in bits per second in the
243 https://bugzilla.gnome.org/show_bug.cgi?id=792528
245 2017-07-06 10:18:48 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
247 * omx/gstomxvideodec.c:
248 * omx/gstomxvideodec.h:
249 omxvideodec: add internal-entropy-buffers property on zynqultrascaleplus
250 Custom property to control the number of internal buffers used in the
251 decoder to smooth out entropy decoding performance.
252 https://bugzilla.gnome.org/show_bug.cgi?id=792528
254 2018-01-30 10:31:03 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
259 meson: use include_directories() with external OMX headers path
260 It seems cleaner to use the proper meson tools to include this path
261 rather than manually tweak the build flags.
262 This also allows us to simplify the OMX extensions detection code. We
263 are now always checking which files are present, even when using our
264 internal copy of OMX, rather than hardcoding the ones present in it.
265 https://bugzilla.gnome.org/show_bug.cgi?id=792043
267 2017-11-07 15:09:35 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
269 * omx/gstomxvideoenc.c:
270 omxvideoenc: expose chroma format and bit depth in output caps
271 As we added in the parser (bgo#792039) expose the chroma and bit
272 depth information in output caps.
273 https://bugzilla.gnome.org/show_bug.cgi?id=792040
275 2017-11-07 14:30:45 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
277 * omx/gstomxvideoenc.c:
278 omxvideoenc: factor out get_output_caps()
279 No semantic change so far.
280 https://bugzilla.gnome.org/show_bug.cgi?id=792040
282 2017-12-29 11:59:36 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
284 * config/zynqultrascaleplus/gstomx.conf:
287 * omx/gstomxvideodec.c:
288 omxvideodec: add hack to pass color format from caps to OMX decoder
289 This hack tries to pass as much information as possible from caps to the
290 decoder before it receives any buffer. These information can be used by
291 the OMX decoder to, for example, pre-allocate its internal buffers
292 before starting to decode and so reduce its initial latency.
293 This mechanism is currently supported by the zynqultrascaleplus decoder.
294 https://bugzilla.gnome.org/show_bug.cgi?id=792040
296 2017-12-01 12:43:19 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
299 log failing OMX calls as errors
300 I find it confusing when debugging that OMX calls returning an error
301 where not logged as GST_LEVEL_ERROR making them harder to spot.
302 Fix this by introducing simple log macros checking the return value of
303 the OMX call and logging failures as errors.
304 https://bugzilla.gnome.org/show_bug.cgi?id=791069
306 2017-10-30 11:59:19 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
309 add OMX_PERFORMANCE debug category
310 Can be used to log buffers exchange between OMX and gst-omx to profile
311 performances of the OMX component.
312 Ideally this should be done using tracer hooks but it's currently not
313 possible to define custom hooks outside of core.
314 Use GST_DEBUG="OMX_PERFORMANCE:8" to enable it.
316 https://github.com/gdesmott/gst-log-parser/blob/master/src/bin/omx-perf.rs
317 as a simple program consuming those logs to generate gnuplot files and
319 https://bugzilla.gnome.org/show_bug.cgi?id=791093
321 2017-07-27 11:21:59 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
325 * omx/gstomxvideoenc.c:
326 * omx/gstomxvideoenc.h:
327 omxvideoenc: implement dmabuf import on zynqultrascaleplus
328 The Zynq UltraScale+ encoder implements a custom OMX extension to
329 directly import dmabuf saving the need of mapping input buffers.
330 This can be use with either 'v4l2src io-mode=dmabuf' or an OMX video
332 https://bugzilla.gnome.org/show_bug.cgi?id=792361
334 2017-09-22 16:02:40 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
336 * omx/gstomxvideoenc.c:
337 omxvideoenc: drop late input frames if QoS is enabled
338 Make use of the new GstVideoEncoder QoS API to drop late input frames. This may
339 help a live pipeline to catch up if it's being late and all frames end up
340 being dropped at the sink.
341 https://bugzilla.gnome.org/show_bug.cgi?id=792783
343 2018-01-19 15:18:23 +0530 Ashish Kumar <kr.ashish@samsung.com>
345 * examples/egl/testegl.c:
346 TestEgl: Removed redundant/unused code
347 https://bugzilla.gnome.org/show_bug.cgi?id=788550
349 2018-01-03 16:07:18 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
351 * omx/gstomxvideoenc.c:
352 omxvideoenc: early return in fill_buffer() if something goes wrong
353 If something goes wrong while trying to manually copy the input buffer,
354 the 'break' was moving us out of the 'for' loop but not out of the switch block.
355 So we ended up calling gst_video_frame_unmap() a second time (raising
356 assertions) and returning TRUE rather than FALSE.
357 Reproduced with a WIP zynqultrascaleplus OMX branch reporting wrong
358 buffer sizes and so triggering this bug.
359 https://bugzilla.gnome.org/show_bug.cgi?id=792167
361 2017-12-19 16:09:41 +0000 Tim-Philipp Müller <tim@centricular.com>
364 meson: gl: the winsys and platform list in the .pc file is space-separated
366 2017-12-19 16:08:58 +0000 Tim-Philipp Müller <tim@centricular.com>
369 meson: fix subproject fallback for gstreamer-gl-1.0
372 2017-12-12 17:30:27 +0000 Julien Isorce <jisorce@oblong.com>
376 * omx/gstomxvideodec.c:
377 omxvideodec: ignore very little variations of the framerate
379 The dynamic format change should not happen when the
380 resolution does not change and when only the framerate
381 changes but very slightly, i.e. from 50000/1677=29.81
382 to 89/3=29.66 so a "percentage change" of less than 1%
383 (i.e. 100*(29.81-29.66)/29.66 = 0.50 < 1 ). In that case
384 just ignore it to avoid unnecessary renegotiation.
385 https://bugzilla.gnome.org/show_bug.cgi?id=759043
387 2017-08-09 12:07:33 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
389 * omx/gstomxvideodec.c:
390 * omx/gstomxvideodec.h:
391 omxvideodec: use dynamic buffer mode on input if possible
392 Prevent from copying the input buffers between GStreamer and OMX.
393 Tested on zynqultrascaleplus and rpi (without dynamic buffers).
394 https://bugzilla.gnome.org/show_bug.cgi?id=787093
396 2017-07-20 16:35:31 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
398 * omx/gstomxvideoenc.c:
399 * omx/gstomxvideoenc.h:
400 omxvideoenc: use dynamic buffer mode on input if possible
401 If the OMX component supports dynamic buffer mode and the input buffers
402 are properly aligned avoid copying each input frame between OMX and
404 Tested on zynqultrascaleplus and rpi (without dynamic buffers).
405 https://bugzilla.gnome.org/show_bug.cgi?id=787093
407 2017-07-20 12:56:37 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
409 * omx/gstomxvideodec.c:
410 * omx/gstomxvideoenc.c:
411 omxvideoenc/dec: factor out input buffer allocation
412 No semantic change so far. I'm going to add an alternate way to allocate
414 https://bugzilla.gnome.org/show_bug.cgi?id=787093
416 2017-07-20 16:31:54 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
420 omx: add API to implement dynamic buffers support
421 OMX 1.2.0 introduced a third way to manage buffers by allowing
422 components to only allocate buffers header during their initialization
423 and change their pBuffer pointer at runtime.
424 This new feature can save us a copy between GStreamer and OMX for each
426 This patch adds API to allocate and use such buffers.
427 https://bugzilla.gnome.org/show_bug.cgi?id=787093
429 2017-12-14 14:53:17 +1100 Matthew Waters <matthew@centricular.com>
432 Automatic update of common submodule
433 From e8c7a71 to 3fa2c9e
435 2017-12-13 12:06:40 +0000 Julien Isorce <jisorce@oblong.com>
437 * omx/gstomxvideodec.c:
438 omxvideodec: consolidate the decision to try UseBuffer
439 The tee element can call gst_query_add_allocation_pool with pool as NULL.
440 Checking nth > 0 is not enough so we need to verify if there is a pool.
441 https://bugzilla.gnome.org/show_bug.cgi?id=730758
442 https://bugzilla.gnome.org/show_bug.cgi?id=784069
444 2017-12-12 14:45:30 +0000 Julien Isorce <jisorce@oblong.com>
448 * omx/gstomxvideodec.c:
449 * omx/gstomxvideoenc.c:
450 gstomxvideodec: fix framerate overflow
451 Some live streams can set the framerate to 50000/1677 (=29.81).
452 GstVideoInfo.fps_n << 16 is wrong if the fps_n is 50000
453 (i.e. greater than 32767).
454 https://bugzilla.gnome.org/show_bug.cgi?id=759043
456 2017-08-22 13:48:26 +0100 Julien Isorce <jisorce@oblong.com>
459 * examples/egl/Makefile.am:
460 * examples/egl/meson.build:
461 * examples/egl/testegl.c:
463 example: port testegl.c to desktop
464 Will be easier to maintain.
465 Also uniformize autotool build with meson build which is
466 already retrieving the gl libs.
467 https://bugzilla.gnome.org/show_bug.cgi?id=781606
469 2017-12-11 15:55:44 +0000 Julien Isorce <jisorce@oblong.com>
472 meson: move omx features check after target selection
473 And uses gst_omx_args instead of add_global_arguments.
474 Similar to c69232852120d064c689caef07b3c68ad8fe6288
475 which was only for configure.ac
476 Useful to get omxvp8dec with meson too:
477 meson . buildtmp -D with_omx_target=tizonia
478 https://bugzilla.gnome.org/show_bug.cgi?id=782800
480 2017-12-04 17:11:04 +0000 Julien Isorce <jisorce@oblong.com>
482 * config/tizonia/gstomx.conf.in:
483 config: add OMX.Aratelia.audio_decoder.aac to Tizonia config
484 Useful mostly for testing/debugging purpose as this is a software
485 based decoder (libfaad) for which GStreamer provides a direct
487 https://bugzilla.gnome.org/show_bug.cgi?id=791482
489 2017-11-29 14:18:41 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
491 * omx/gstomxvideodec.c:
492 omxvideodec: retrieve OMX_IndexParamVideoPortFormat before setting it
493 The usual pattern when setting OMX params is to first get the struct
494 param, override the values we want to set and then set the updated
496 We were not doing this with OMX_IndexParamVideoPortFormat and so were
497 resetting some fields such as OMX_VIDEO_PARAM_PORTFORMATTYPE.xFramerate
498 https://bugzilla.gnome.org/show_bug.cgi?id=790979
500 2017-05-21 17:34:51 +0100 Julien Isorce <jisorce@oblong.com>
502 * omx/gstomxaacenc.c:
503 omxaacenc: also set 'profile' if mpegversion is 4
504 Like done by gst_codec_utils_aac_caps_set_level_and_profile
505 which is called by avenc_aac, ffaac and voaacenc.
506 https://bugzilla.gnome.org/show_bug.cgi?id=735208
508 2017-10-24 12:19:50 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
511 omx: wait for flush complete and buffers being released when flushing
512 As stated in the existing comment, when flusing we should wait for OMX
513 to send the flush command complete event AND all ports being released.
514 We were stopping as soon as one of those condition was met.
515 Fix a race between FillThisBufferDone/EmptyBufferDone and the flush
516 EventCmdComplete messages. The OMX implementation is supposed to release
517 its buffers before posting the EventCmdComplete event but the ordering
518 isn't guaranteed as the FillThisBufferDone/EmptyBufferDone and
519 EventHandler callbacks can be called from different threads (cf 2.7
520 'Thread Safety' in the spec).
521 https://bugzilla.gnome.org/show_bug.cgi?id=789475
523 2017-10-24 11:45:20 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
526 gst_omx_port_set_flushing: simplify waiting loop
527 No semantic change so far, I just made the 'while' end condition easier
528 to understand as a first step before changing it.
529 - move error/time out checks inside the loop to make it clearer on what
530 we are actually waiting for.
531 - group port->buffers checks together with parenthesis as they are part
532 of the same conceptual check: waiting for all buffers to be released.
533 https://bugzilla.gnome.org/show_bug.cgi?id=789475
535 2017-11-27 20:17:17 +1100 Matthew Waters <matthew@centricular.com>
538 Automatic update of common submodule
539 From 3f4aa96 to e8c7a71
541 2017-11-23 15:03:48 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
543 * omx/gstomxh264enc.c:
544 * omx/gstomxh264utils.c:
545 zynqultrascaleplus: add support for extra AVC levels
546 The Zynqultrascaleplus has support for extra AVC levels not defined in
547 the OMX spec as a customer extension.
548 https://bugzilla.gnome.org/show_bug.cgi?id=790758
550 2017-10-16 14:47:07 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
554 * config/meson.build:
558 * tests/check/.gitignore:
559 * tests/check/Makefile.am:
560 * tests/check/generic/.gitignore:
561 * tests/check/generic/states.c:
562 * tests/check/meson.build:
565 Most of the boilerplate and the states test has been copied from
567 https://bugzilla.gnome.org/show_bug.cgi?id=789094
569 2017-10-17 13:07:05 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
573 meson: add tools support
574 Looks like the tools directory was left out during the initial port to
576 https://bugzilla.gnome.org/show_bug.cgi?id=789090
578 2017-10-16 14:24:50 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
581 omx: fix build on rpi
582 The nTimeStamp field is a OMX_TICKS struct on the rpi so use the proper
584 Fix build on the build which has been broken by
585 b3173144b7c1b12c9e1b7571f78659be45d813f6
586 https://bugzilla.gnome.org/show_bug.cgi?id=789052
588 2017-10-17 12:11:04 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
592 check if Allegro headers are present when building zynqultrascaleplus
593 The Zynq UltraScale+ uses a custom version of OMX implementing several
594 3rd party extensions. Make sure those are present when building this
596 https://bugzilla.gnome.org/show_bug.cgi?id=788064
598 2017-10-16 12:42:44 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
600 * omx/gstomxvideodec.c:
601 omxvideodec: remove redundant debug message
602 We have already a debug message right after.
603 https://bugzilla.gnome.org/show_bug.cgi?id=789058
605 2017-10-16 13:26:38 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
607 * omx/gstomxh265enc.c:
608 * omx/gstomxh265utils.c:
609 omxh265: fix enum casting when using Allegro HEVC extensions
610 Allegro's HEVC implementation defines a superset of the profiles and
611 enums from the Android implementation.
612 Properly cast to fix -Wenum-conversion warnings from clang.
613 https://bugzilla.gnome.org/show_bug.cgi?id=789057
615 2017-10-16 13:08:12 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
617 * omx/gstomxh265enc.c:
618 * omx/gstomxvp8dec.c:
619 properly cast extension enums
620 OMX's allow 3rds party to define extensions using their own enums
621 (like OMX_VIDEO_CODINGEXTTYPE) and to be used as the general
622 ones (like OMX_VIDEO_CODINGTYPE).
623 Properly cast those to fix -Wenum-conversion warnings from some
624 compilers such as clang.
625 https://bugzilla.gnome.org/show_bug.cgi?id=789057
627 2017-10-09 13:12:35 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
630 omx: also reset nTimeStamp when re-using buffers
631 Some OMX implementations may check if the timestamp of the output buffers
632 they receive is actually not set.
633 https://bugzilla.gnome.org/show_bug.cgi?id=788711
635 2017-10-04 17:11:55 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
638 omx: factor out gst_omx_buffer_reset()
639 https://bugzilla.gnome.org/show_bug.cgi?id=788711
641 2017-10-09 17:27:22 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
645 * omx/gstomxvideodec.c:
646 * omx/gstomxvideoenc.c:
647 add gst_omx_buffer_flags_to_string()
648 Make debug logs more readable so users don't have to manually figure out
649 the meaning of flags.
650 https://bugzilla.gnome.org/show_bug.cgi?id=788767
652 2017-09-27 19:47:29 +0530 Ponnam Srinivas <p.srinivas@samsung.com>
654 * omx/gstomxh263enc.c:
655 h263enc: fix caps leak in error code path
656 https://bugzilla.gnome.org/show_bug.cgi?id=788245
658 2017-09-21 15:21:36 +0530 Ponnam Srinivas <p.srinivas@samsung.com>
660 * omx/gstomxh264enc.c:
661 omxh264enc: fix caps leak
662 https://bugzilla.gnome.org/show_bug.cgi?id=787711
664 2017-09-21 11:36:46 +0530 Ponnam Srinivas <p.srinivas@samsung.com>
666 * omx/gstomxh265enc.c:
667 omxh265enc: fix caps leak
668 https://bugzilla.gnome.org/show_bug.cgi?id=787714
670 2017-09-13 15:32:51 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
672 * omx/gstomxvideodec.c:
673 omxvideodec: log info about frame before releasing it
674 gst_video_decoder_release_frame() takes ownership of the frame and will
675 destroy it. So we should no longer use it after calling it.
676 https://bugzilla.gnome.org/show_bug.cgi?id=787628
678 2017-08-20 20:19:33 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
681 configure: Show tizonia target in help
682 https://bugzilla.gnome.org/show_bug.cgi?id=786544
684 2017-07-12 14:35:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
686 * config/zynqultrascaleplus/gstomx.conf:
689 * omx/gstomxh265dec.c:
690 * omx/gstomxh265dec.h:
692 omxh265dec: add H265 decoder
693 Add HEVC decoder for the zynqultrascaleplus platform.
694 I used the H264 decoder code as a template.
695 https://bugzilla.gnome.org/show_bug.cgi?id=785434
697 2017-07-12 11:01:15 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
699 * config/zynqultrascaleplus/gstomx.conf:
704 * omx/gstomxh265enc.c:
705 * omx/gstomxh265enc.h:
706 * omx/gstomxh265utils.c:
707 * omx/gstomxh265utils.h:
709 omxh265enc: add H265 encoder
710 The OMX spec doesn't support HEVC but the OMX stack of the
711 zynqultrascaleplus adds it as a custom extension.
712 It uses the same API as the one of Android's OMX stack.
713 I used the H264 encoder code as a template.
714 https://bugzilla.gnome.org/show_bug.cgi?id=785434
716 2017-08-28 13:56:22 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
718 * omx/gstomxvideoenc.c:
719 omxvideoenc: use caps from query in propose_allocation
720 Prevent crash by not deferencing a NULL pointer if self->input_state
721 isn't defined when propose_allocation() is called.
722 https://bugzilla.gnome.org/show_bug.cgi?id=786442
724 2017-09-04 09:34:03 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
727 omx: display states as string if changing failed
728 Improve the error message by displaying the states in their string
729 representation rather than their numerical value.
730 https://bugzilla.gnome.org/show_bug.cgi?id=787235
732 2017-08-22 10:22:45 +0100 Julien Isorce <jisorce@oblong.com>
734 * omx/gstomxvideodec.c:
735 omxvideodec: EGLDisplay is not indirectly defined by gstgl headers inclusion
736 Just use gpointer as done in GstGL to not include
737 EGL/egl.h just for EGLDisplay.
738 https://bugzilla.gnome.org/show_bug.cgi?id=784779
740 2017-07-14 16:34:04 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
742 * config/tizonia/gstomx.conf.in:
743 config: expose OMX.mesa h264 decoder and encoder in Tizonia config
744 https://bugzilla.gnome.org/show_bug.cgi?id=783976
746 2017-08-11 07:48:37 -0700 Julien Isorce <jisorce@oblong.com>
748 * omx/gstomxvideodec.c:
749 omxvideodec: remove wrong SettingsChanged ack
750 Partially revert 1b7d0b8:
751 omxvideodec: handle IL 1.2 behavior for OMX_SetParameter
752 It turned out it was a problem in the decoder which was
753 not updating some local variables upon SetParameter.
754 https://bugzilla.gnome.org/show_bug.cgi?id=783976
756 2017-07-20 09:43:19 +0100 Julien Isorce <jisorce@oblong.com>
758 * omx/gstomxaudiodec.c:
759 * omx/gstomxaudioenc.c:
760 * omx/gstomxvideodec.c:
761 * omx/gstomxvideoenc.c:
762 omx{audio,video}{dec,enc}: sequentially disable ports because buffers are not shared
763 For the history, the parallel disable port has been introduced by:
764 "00be69f omxvideodec: Disable output port when setting a new format"
765 and then replicated to videoenc, audiodec and audioenc.
766 This is only required to do 'parallel' if buffers are shared between ports.
767 But for decoders and encoders the input and output buffer are of different
768 nature by definition (bitstream vs images). So they cannot be shared.
769 Also starting from IL 1.2.0 it is written in the spec that the parallel
770 disable is not allowed and will return an error. Except when buffers are
772 Again here we know in advance that they are not shared so let's always
773 do a sequential disable.
774 Tested on Desktop, rpi and zynqultrascaleplus.
775 https://bugzilla.gnome.org/show_bug.cgi?id=786348
777 2017-08-17 12:26:05 +0100 Tim-Philipp Müller <tim@centricular.com>
780 Automatic update of common submodule
781 From 48a5d85 to 3f4aa96
783 2017-08-10 12:16:53 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
785 * omx/gstomxvideodec.c:
786 omxvideodec: use the decoder API to set latency
787 https://bugzilla.gnome.org/show_bug.cgi?id=785125
789 2017-07-06 14:19:19 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
791 * omx/gstomxvideodec.c:
792 * omx/gstomxvideoenc.c:
793 omxvideoenc/dec: declare latency on zynqultrascaleplus
794 The OMX specification doesn't provide any API to expose the latency
795 introduced by encoders and decoders. We implemented this as a custom
796 extension as declaring the latency is needed for live pipelines like
798 https://bugzilla.gnome.org/show_bug.cgi?id=785125
800 2017-08-07 13:16:01 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
802 * omx/gstomxvideoenc.c:
803 omxvideoenc: adjust stride and slice height from input
804 Use the stride and slice height information from the first buffer meta
805 data to adjust the settings of the input port.
806 This will ensure that the OMX input buffers match the GStreamer ones
807 and so will save us from having to copy line-by-line each one.
808 This is also the first step to allow the OMX encoder to receive dmabuf.
809 Tested on rpi and zynqultrascaleplus.
810 https://bugzilla.gnome.org/show_bug.cgi?id=785967
812 2017-08-07 11:45:29 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
814 * omx/gstomxvideoenc.c:
815 omxvideoenc: delay buffer configuration until component is enabled
816 No significant change for now. Just delay the input port configuration
817 of the buffer size related fields (stride, slice height, buffer size)
818 until the component is activated.
819 This will allow us to use the actual stride/height of the first input
820 and so avoid the buffer copying code path in most cases.
821 Tested on rpi and zynqultrascaleplus.
822 https://bugzilla.gnome.org/show_bug.cgi?id=785967
824 2017-07-24 13:52:35 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
826 * omx/gstomxvideodec.c:
827 * omx/gstomxvideoenc.c:
828 omxvideodec/enc: delay allocation after the allocation query
829 Allocating OMX components buffers in set_format() is too early.
830 Doing it when receiving the first buffers will allow the element to use
831 the information from the allocation query and/or the first incoming
832 buffer to pick to best allocation mode.
833 Tested on raspberry pi with dynamic resolution changes on decoder and
835 https://bugzilla.gnome.org/show_bug.cgi?id=785967
837 2017-07-25 14:27:45 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
839 * omx/gstomxvideoenc.c:
840 omxvideoenc: start src thread in handle_frame()
841 Makes the code simpler as we no longer need to restart the thread in
842 gst_omx_video_enc_flush() and It's more symetric which the omxvideodec
844 I'm also going to move the enabling of the OMX component in
845 handle_frame() and the src pad thread needs to be started after it.
846 https://bugzilla.gnome.org/show_bug.cgi?id=785967
848 2017-07-25 14:07:30 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
850 * omx/gstomxvideodec.c:
851 omxvideodec: earlier return if downstream_flow_ret is not OK
852 There is no point to (re)start the src thread if, for example, we are
854 https://bugzilla.gnome.org/show_bug.cgi?id=785967
856 2017-07-24 12:31:37 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
858 * omx/gstomxvideodec.c:
859 * omx/gstomxvideodec.h:
860 omxvideodec: factor out enable and disable code
861 No semantic change, just factor out the code enabling and disabling the
862 component to their own functions.
863 Makes the code easier to read as the set_format() method was already
864 pretty big. Will also allow us to easily change the enabling logic.
865 https://bugzilla.gnome.org/show_bug.cgi?id=785967
867 2017-07-24 12:31:37 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
869 * omx/gstomxvideoenc.c:
870 * omx/gstomxvideoenc.h:
871 omxvideoenc: factor out enable and disable code
872 No semantic change, just factor out the code enabling and disabling the
873 component to their own functions.
874 Makes the code easier to read as the set_format() method was already
875 pretty big. Will also allow us to easily change the enabling logic.
876 https://bugzilla.gnome.org/show_bug.cgi?id=785967
878 2017-07-27 12:12:01 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
881 omx: also reset nFilledLen before calling OMX_FillThisBuffer()
882 The spec states that the buffer passed to OMX_FillThisBuffer() needs to be
883 empty. Some implementation may check it actually is by checking its
884 nFilledLen field, so best to reset it as well.
885 https://bugzilla.gnome.org/show_bug.cgi?id=785623
887 2017-07-17 21:06:47 +0100 Julien Isorce <jisorce@oblong.com>
889 * omx/gstomxvideodec.c:
890 * omx/gstomxvideodec.h:
891 omxvideodec: make generic the OMX_UseEGLImage code path
892 Will be easier to maintain and to make enhancements.
893 Tested with Tizonia on Desktop.
894 Also tested with Bellagio to make sure it does not crash when
895 calling OMX_UseEGLImage and indeed it returns NotImplemented.
896 Then gst-omx fallback to OMX_UseBuffer if it can and so on.
897 Also tested on rpi to make sure there is no regression.
898 https://bugzilla.gnome.org/show_bug.cgi?id=784365
900 2017-07-21 11:52:00 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
902 * omx/gstomxvideodec.c:
903 omxvideodec: Fix segment seek
904 On segment seek, unlike EOS, we drain, but we cannot expect a flush
905 later to reset the decoder state. As a side effect, the decoder would
906 remain in EOS state and ignore any new incoming buffers.
907 To fix this, we call _flush() inside the _drain() function, and
908 _finish() becomes what _drain() was before. This way, for _finish() (the
909 eos case) we only drain, for _drain() triggered by segment seek or new
910 caps, we also reset the decoder state so it's ready to accept buffers.
911 https://bugzilla.gnome.org/show_bug.cgi?id=785237
913 2017-07-10 15:00:58 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
915 * omx/gstomxvideoenc.c:
916 omxvideoenc: ensure enough buffers are allocated in the pool
917 Handle allocation query and ensure enough buffers are allocated in
918 the negotiated pool. This help preventing buffer starvation in the pipeline.
919 https://bugzilla.gnome.org/show_bug.cgi?id=785122
921 2017-07-04 12:16:39 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
926 * omx/gstomxbufferpool.c:
927 * omx/gstomxbufferpool.h:
928 * omx/gstomxvideodec.c:
929 * omx/gstomxvideodec.h:
931 omxvideodec: add dmabuf support for output
932 The zynqultrascaleplus OMX implementation has a custom extension
933 allowing decoders to output dmabuf and so avoid buffers copy between OMX
935 Make use of this extension when built on the zynqultrascaleplus. The
936 buffer pool code should be re-usable for other platforms as well.
937 https://bugzilla.gnome.org/show_bug.cgi?id=784847
939 2017-06-20 00:13:33 +0100 Julien Isorce <jisorce@oblong.com>
941 * config/tizonia/gstomx.conf.in:
942 config: add OMX.Aratelia.video_decoder.vp8 to Tizonia config
943 Useful mostly for testing/debugging purpose as this is a software
944 based encoder (libvpxdec) for which GStreamer provides a direct
946 https://bugzilla.gnome.org/show_bug.cgi?id=783976
948 2017-06-19 23:56:02 +0100 Julien Isorce <jisorce@oblong.com>
950 * omx/gstomxvideodec.c:
951 omxvideodec: handle IL 1.2 behavior for OMX_SetParameter
952 It triggers SettingsChanged on the other port and it is up to
953 the client to decide if it should lead to a port reconfiguration.
954 Settings are propagated to the other port for fields they have
955 in common. But this event is only triggered on the other port
956 if it actually change a setting.
957 https://bugzilla.gnome.org/show_bug.cgi?id=783976
959 2017-07-18 23:41:17 +0100 Julien Isorce <jisorce@oblong.com>
961 * config/tizonia/gstomx.conf.in:
962 config: set rank to 0 for Tizonia's mp3 decoder
963 Should have been 0 from the initial commit
964 eed49b4231a063639f90279c8044404c2149902a
966 2017-07-17 21:03:55 +0100 Julien Isorce <jisorce@oblong.com>
968 * omx/gstomxvideodec.c:
969 omxvideodec: fix file permissions
970 Introduced by ebc9b4903cbdac2793c24b05a1bb7acc3b67fae5
972 2017-06-29 23:17:26 +0100 Julien Isorce <jisorce@oblong.com>
974 * omx/gstomxvideodec.c:
975 omxvideodec: fix buffer leak when eglimage setup fails
976 Can happen if gst_buffer_pool_acquire_buffer succeeds but
977 gst_buffer_n_memory (buffer) is not exactly 1.
978 In theory this should not happen because the decoder requests
979 EGLImage(RGBA) but better to fix any leak on corner cases.
980 https://bugzilla.gnome.org/show_bug.cgi?id=784365
982 2017-07-17 18:36:36 +0530 Satya Prakash Gupta <sp.gupta@samsung.com>
985 omx: Possible Memory leak in gst_caps_from_string
986 https://bugzilla.gnome.org/show_bug.cgi?id=784978
988 2017-07-17 15:48:44 +0530 Satya Prakash Gupta <sp.gupta@samsung.com>
990 * omx/gstomxvideoenc.c:
991 omxvideoenc: Fix deadlock in error case when draining
992 https://bugzilla.gnome.org/show_bug.cgi?id=784972
994 2017-07-17 13:44:54 +0530 Satya Prakash Gupta <sp.gupta@samsung.com>
996 * omx/gstomxaudioenc.c:
997 omxaudioenc: Fix deadlock in error case when draining
998 https://bugzilla.gnome.org/show_bug.cgi?id=784967
1000 2017-06-02 12:36:30 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1005 build: include OMX_IndexExt and OMX_ComponentExt if present
1006 These files may be used by OMX implementation to define custom extensions.
1007 Include them if present as we are already doing with OMX_VideoExt.h
1008 https://bugzilla.gnome.org/show_bug.cgi?id=784847
1010 2017-07-13 16:40:26 +1000 Jan Schmidt <jan@centricular.com>
1012 * omx/gstomxh264enc.c:
1013 omxh264enc: Re-add periodicty-idr property for backward compat
1014 Retain backwards compatibility by adding a duplicate
1015 property for periodicty-idr
1016 https://bugzilla.gnome.org/show_bug.cgi?id=784370
1018 2017-06-30 15:15:06 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1020 * omx/gstomxh264enc.c:
1021 omxh264enc: fix typo in "periodicty-idr" property name
1022 Also fix the 'nick' of the property.
1023 https://bugzilla.gnome.org/show_bug.cgi?id=784370
1025 2017-06-29 22:48:47 +0100 Julien Isorce <jisorce@oblong.com>
1027 * omx/gstomxvideodec.c:
1028 * omx/gstomxvideodec.h:
1029 omxvideodec: use OMX_UseBuffer
1030 For example this allows the omx decoder to directly fill the
1031 pixmaps coming from the video sink.
1032 It only avoids a buffer copy when the decoder uses a pool provided
1033 by a downstream element. So let's restrict this usage to situations
1034 where the decoder decides to use a downstream buffer pool.
1035 Tested with Tizonia/OMX.Aratelia.video_decoder.vp8
1036 and with Bellagio/OMX.mesa.video_decoder.avc.
1037 If it fails to setup buffers with OMX_UseBuffer the decoders
1038 fallbacks to usual OMX_AllocateBuffer.
1039 Also it allows to test on desktop the GstOMXBufferPool->other_pool
1040 management which was previously only used in the OMX_UseEGLImage
1042 https://bugzilla.gnome.org/show_bug.cgi?id=784069
1044 2017-07-12 10:29:16 +0100 Julien Isorce <jisorce@oblong.com>
1047 omx: do not always print an error if OMX_{UseBuffer,EGLImage} fails
1048 Let the caller decide to print an error. Because it can be part of
1049 a normal trial path.
1050 https://bugzilla.gnome.org/show_bug.cgi?id=784069
1052 2017-07-12 16:00:53 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1055 meson: add gstomxmp3enc
1056 Commit 02d493e85921596f7cac7ef4af02fde500e9a5d8 didn't add
1057 gstomxmp3enc.c to meson.
1058 https://bugzilla.gnome.org/show_bug.cgi?id=784848
1060 2017-05-23 10:32:58 +0100 Julien Isorce <jisorce@oblong.com>
1062 * config/tizonia/gstomx.conf.in:
1063 config: add OMX.Aratelia.audio_encoder.mp3 to Tizonia config
1064 Useful mostly for testing/debugging purpose as this is a software
1065 based encoder (libmp3lame) for which GStreamer provides a direct
1067 https://bugzilla.gnome.org/show_bug.cgi?id=782988
1069 2017-05-23 10:32:06 +0100 Julien Isorce <jisorce@oblong.com>
1073 * omx/gstomxmp3enc.c:
1074 * omx/gstomxmp3enc.h:
1075 omx: add gstomxmp3enc
1076 Initial support and only tested with the software based
1077 encoder OMX.Aratelia.audio_encoder.mp3 from Tizonia which
1078 internally uses libmp3lame.
1079 https://bugzilla.gnome.org/show_bug.cgi?id=782988
1081 2017-03-28 16:27:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1083 * config/zynqultrascaleplus/gstomx.conf:
1086 * omx/gstomxh264dec.c:
1087 h264dec: add hack to pass profile and level to OMX
1088 This information can be useful to zynqultrascaleplus decoders. They may
1089 use this information to reduce startup latency by configuring itself
1090 before receiving the first frames.
1091 We also have a custom OMX extension allowing the decoder to report the
1092 latency. The profile/level information helps it reporting a more
1093 accurate latency earlier.
1094 https://bugzilla.gnome.org/show_bug.cgi?id=783114
1096 2017-07-03 13:17:11 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1099 * omx/gstomxh264enc.c:
1100 * omx/gstomxh264utils.c:
1101 * omx/gstomxh264utils.h:
1103 omxh264enc: move profile and level parsing functions to their own files
1104 Will allow to re-use them in the decoder element.
1105 https://bugzilla.gnome.org/show_bug.cgi?id=783114
1107 2017-07-04 03:15:00 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
1109 * config/meson.build:
1110 * config/tizonia/meson.build:
1112 * meson_options.txt:
1113 meson: Add tizonia option
1114 https://bugzilla.gnome.org/show_bug.cgi?id=782800
1116 2017-04-29 02:56:59 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
1119 * config/tizonia/Makefile.am:
1120 * config/tizonia/gstomx.conf.in:
1121 * config/tizonia/meson.build:
1123 config: add omxmp3dec config for tizonia
1124 GST_OMX_CONFIG_DIR=$HOME/gst/master/gst-omx/config/tizonia/ \
1125 gst-launch-1.0 filesrc location=mpthreetest.mp3 ! id3demux ! \
1126 mpegaudioparse ! omxmp3dec ! audioconvert ! pulsesink
1127 v2: [Nicolas] Use template to create gstomx.conf using pkg-config
1128 v3: [Nicolas] Ignore only config/tizonia/gstomx.conf
1129 v4: [Nicolas] Add "/" for single occurence
1130 https://bugzilla.gnome.org/show_bug.cgi?id=782800
1132 2017-05-07 20:09:54 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
1135 omx: always ignore OMX_ErrorPortUnpopulated
1136 It is safe to ignore it always. Tizonia notifies this error to pass
1137 some khronos conformance tests. Problem is that gst-omx saves this
1138 error in comp->last_error and then gst_omx_port_set_enabled early
1139 error out which fails the pipeline.
1140 https://bugzilla.gnome.org/show_bug.cgi?id=782800
1142 2017-04-29 02:53:26 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
1146 omx: guard some omx enums with IL version
1147 Some enums that existed in 1.1.2 just do not exit in 1.2.0
1148 See https://www.khronos.org/registry/OpenMAX-IL/specs/OpenMAX_IL_1_2_0_Specification_redline.pdf
1149 https://bugzilla.gnome.org/show_bug.cgi?id=782800
1151 2017-04-29 01:56:01 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
1154 configure.ac: add tizonia target for --with-omx-target flag.
1155 This will check for tizilheaders.pc which adds path to omx-il
1156 headers its cflags. Can be installed all together with the 1.2 headers
1157 with package tizilheaders if not building from sources:
1158 https://github.com/tizonia/tizonia-openmax-il
1159 It is also adviced to remove libomxil-bellagio-dev package because
1160 it installs headers /usr/include directly, ex: /usr/include/OMX_Video.h.
1161 https://bugzilla.gnome.org/show_bug.cgi?id=782800
1163 2017-07-05 10:47:41 +0100 Julien Isorce <jisorce@oblong.com>
1165 * omx/gstomxaudioenc.c:
1166 omxaudioenc: update local port_def after reopening the component
1167 gst_omx_audio_enc_open will only update GstOMXAudioEnc->port->port_def.
1168 Note that the component is reopen only if the flag
1169 GST_OMX_HACK_NO_COMPONENT_RECONFIGURE is set.
1170 https://bugzilla.gnome.org/show_bug.cgi?id=782418
1172 2017-07-05 10:48:52 +0100 Julien Isorce <jisorce@oblong.com>
1174 * omx/gstomxvideoenc.c:
1175 omxvideoenc: update local port_def after reopening the component
1176 gst_omx_video_enc_open will only update GstOMXVideoEnc->port->port_def.
1177 Note that the component is reopen only if the flag
1178 GST_OMX_HACK_NO_COMPONENT_RECONFIGURE is set.
1179 https://bugzilla.gnome.org/show_bug.cgi?id=782418
1181 2017-05-10 12:38:39 +0900 Sejun Park <sejun79.park@samsung.com>
1183 * omx/gstomxvideodec.c:
1184 omxvideodec: update local port_def after reopening the component
1185 gst_omx_video_dec_open will only update GstOMXVideoDec->port->port_def.
1186 Note that the component is reopen only if the flag
1187 GST_OMX_HACK_NO_COMPONENT_RECONFIGURE is set.
1188 https://bugzilla.gnome.org/show_bug.cgi?id=782418
1190 2017-07-03 16:33:06 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1192 * omx/gstomxvideodec.c:
1193 omxvideodec: increase the minimum number of allocated buffers
1194 Ensure that enough buffers are allocated by adding up component's own
1195 minimal plus the number of buffers requested by downstream.
1196 This should prevent buffers starvation problem if downstream elements
1197 are holding some of the buffers they required.
1198 Also simplify the check on the maximum on buffers. What we actually care
1199 about is to make sure the pool can hold the minimum of required buffers.
1200 https://bugzilla.gnome.org/show_bug.cgi?id=784479
1202 2017-07-03 10:54:50 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1204 * omx/gstomxh264enc.c:
1205 omxh264enc: raise a warning if AVCIntraPeriod is not supported
1206 Some platforms may not implement OMX_IndexConfigVideoAVCIntraPeriod and
1207 use OMX_IndexParamVideoAvc instead to configure the GOP pattern.
1208 So raise a warning instead of an error if this API is not implemented.
1209 https://bugzilla.gnome.org/show_bug.cgi?id=784379
1211 2017-06-29 14:16:19 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1213 * omx/gstomxh264enc.c:
1214 * omx/gstomxh264enc.h:
1215 omxh264enc: add 'b-frames' property
1216 Add a property to control the number of B-frames produced by the
1217 encoder using the OMX_VIDEO_PARAM_AVCTYPE OMX API.
1218 https://bugzilla.gnome.org/show_bug.cgi?id=784379
1220 2017-06-30 14:18:35 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1222 * omx/gstomxh264enc.c:
1223 omxh264enc: fix typo in 'set_avc_intra_period'
1224 https://bugzilla.gnome.org/show_bug.cgi?id=784379
1226 2017-05-22 11:23:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1228 * config/Makefile.am:
1229 * config/meson.build:
1230 * config/zynqultrascaleplus/Makefile.am:
1231 * config/zynqultrascaleplus/gstomx.conf:
1232 * config/zynqultrascaleplus/meson.build:
1235 * meson_options.txt:
1236 add 'zynqultrascaleplus' as OMX target
1237 Adding support for the 'Zynq UltraScale+' as a new OMX target.
1238 See https://www.xilinx.com/products/silicon-devices/soc/zynq-ultrascale-mpsoc.html
1239 for details about the platform.
1240 https://bugzilla.gnome.org/show_bug.cgi?id=783097
1242 2017-05-21 15:23:09 +0100 Julien Isorce <jisorce@oblong.com>
1244 * config/bellagio/gstomx.conf:
1245 config: add OMX.mesa.video_decoder.{avc,mpeg2} for Bellagio config
1246 Install libomxil-bellagio0 and make sure mesa has been built with
1247 --enable-omx. Check there is /usr/lib/libomxil-bellagio0/libomx_mesa.so
1248 then run omxregister-bellagio to regenerate $XDG_DATA_HOME/.omxregister
1249 Then omxh264dec and omxmpeg2dec should load.
1250 https://bugzilla.gnome.org/show_bug.cgi?id=782926
1252 2017-05-18 13:50:56 +0100 Julien Isorce <jisorce@oblong.com>
1255 configure.ac: move omx features check after target selection
1256 Does not change anything, except this will be useful for future commits.
1257 Indeed some targets provide a .pc file where to look for the omx headers.
1258 https://bugzilla.gnome.org/show_bug.cgi?id=782800
1260 2017-06-29 16:48:07 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1262 * omx/gstomxh264dec.c:
1263 omxh264dec: remove 'parsed=true' from sink pad
1264 The decoder only requires to receive one frame per buffer which is
1265 already enforced with 'alignment=au'. There is no need to require to
1266 have a parser upstream.
1267 Allow to run "encode ! decode" pipeline without having a parser.
1268 https://bugzilla.gnome.org/show_bug.cgi?id=784344
1270 2017-06-16 13:28:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1272 * omx/gstomxh264enc.c:
1273 omxh264enc: set profile/level using OMX_VIDEO_PARAM_AVCTYPE as well
1274 The OMX specification defines two API to set the AVC profile and level:
1275 using OMX_VIDEO_PARAM_PROFILELEVELTYPE and OMX_VIDEO_PARAM_AVCTYPE.
1276 We were already supporting the former but not the latter. We are now
1277 setting both so implementation don't have to rely on a specific one.
1278 https://bugzilla.gnome.org/show_bug.cgi?id=783862
1280 2017-06-16 13:19:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1282 * omx/gstomxh264enc.c:
1283 omxh264enc: factor out update_param_profile_level()
1284 https://bugzilla.gnome.org/show_bug.cgi?id=783862
1286 2017-06-16 12:53:15 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1288 * omx/gstomxh264enc.c:
1289 omxh264enc: factor out string to profile/level enum conversion
1290 https://bugzilla.gnome.org/show_bug.cgi?id=783862
1292 2017-06-28 15:06:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1294 * omx/gstomxh264enc.c:
1295 omxh264enc: use OMX_IndexConfigBrcmVideoIntraPeriod on pi
1296 The OMX_VIDEO_CONFIG_AVCINTRAPERIOD.nPFrames setting isn't of any use on
1297 the raspbery pi. Instead it uses a custom extension to define the I
1299 https://bugzilla.gnome.org/show_bug.cgi?id=783829
1301 2017-06-28 15:03:52 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1303 * omx/gstomxh264enc.c:
1304 omxh264enc: factor out set_avc_intra_perdiod()
1305 https://bugzilla.gnome.org/show_bug.cgi?id=783829
1307 2017-06-02 12:48:57 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1310 meson: define HAVE_VIDEO_EXT if OMX_VideoExt.h is present
1311 Meson build wasn't defining the HAVE_VIDEO_EXT like configure.ac does.
1312 https://bugzilla.gnome.org/show_bug.cgi?id=783346
1314 2017-06-11 12:32:01 +0000 Graham Leggett <minfrin@sharp.fm>
1316 * omx/gstomxvideoenc.c:
1317 omxvideoenc: Improve debug output when setting codec state due to new codec_data fails
1318 https://bugzilla.gnome.org/show_bug.cgi?id=783657
1320 2017-05-20 14:49:20 +0100 Julien Isorce <jisorce@oblong.com>
1323 omx: allow 0 feature
1324 Previously the omx plugin was blacklisted if GST_OMX_CONFIG_DIR
1325 points to an invalid path or if the gstomx.conf contains 0 valid
1327 Problem is that once the plugin is blacklisted, a rescan is not
1328 triggered upon changes of the env var or the gstomx.conf file
1329 despite being setup with gst_plugin_add_dependency.
1330 This also makes it more consistent with other plugins that auto
1331 generate features. For example gst-{ffmeg,libav}, gstreamer-vaapi,
1333 To clarify the diff, the plugin_init func will return TRUE even if
1334 g_key_file_get_groups returns 0 element and even if
1335 g_key_file_load_from_dirs fails.
1336 https://bugzilla.gnome.org/show_bug.cgi?id=782867
1338 2017-04-26 22:52:17 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
1340 * config/bellagio/gstomx.conf:
1341 config: add OMX.st.audio_decoder.mp3.mad for Bellagio config
1342 MP3 Software decoder (libmad based) but useful for testing
1343 and to compare with other targets.
1344 GST_OMX_CONFIG_DIR=$HOME/gst/master/gst-omx/config/bellagio/ \
1345 gst-launch-1.0 filesrc location=mpthreetest.mp3 ! id3demux ! \
1346 mpegaudioparse ! omxmp3dec ! audioconvert ! pulsesink
1347 Didn't add 'local' in core-name path compared to other components
1348 in that same gstomx.conf file because OMX.st.audio_decoder.mp3.mad
1349 comes with the Ubuntu package 'libomxil-bellagio0-components-mad'.
1350 All other components listed in this gstomx.conf for Bellagio, are
1351 not provided by any Ubuntu packages. It could explain the 'local',
1352 i.e. requiring to build them from source.
1353 dpkg -L libomxil-bellagio0
1354 /usr/lib/libomxil-bellagio.so.0
1355 https://bugzilla.gnome.org/show_bug.cgi?id=781786
1356 Signed-off-by: Gurkirpal Singh <gurkirpal204@gmail.com>
1357 Signed-off-by: Julien Isorce <jisorce@oblong.com>
1359 2017-05-16 14:39:04 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1362 Remove plugin specific static build option
1363 Static and dynamic plugins now have the same interface. The standard
1364 --enable-static/--enable-shared toggle are sufficient.
1366 2017-05-10 12:10:10 +0900 Sejun Park <sejun79.park@samsung.com>
1368 * omx/gstomxvideodec.c:
1369 omxvideodec: Removed unreachable code
1370 https://bugzilla.gnome.org/show_bug.cgi?id=782416
1372 2017-05-09 16:26:44 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1375 meson: add dep on GModule
1376 libgstomx uses the GModule API and so needs it in its dependencies list.
1377 https://bugzilla.gnome.org/show_bug.cgi?id=782387
1379 2017-05-09 13:27:28 +0000 Tim-Philipp Müller <tim@centricular.com>
1382 meson: fix config.h generation
1383 "No such input file config.h.meson", but it's not needed anyway.
1384 https://bugzilla.gnome.org/show_bug.cgi?id=782382
1386 2017-05-04 18:59:33 +0300 Sebastian Dröge <sebastian@centricular.com>
1392 === release 1.12.0 ===
1394 2017-05-04 15:48:56 +0300 Sebastian Dröge <sebastian@centricular.com>
1404 === release 1.11.91 ===
1406 2017-04-27 17:53:50 +0300 Sebastian Dröge <sebastian@centricular.com>
1416 2017-04-17 17:02:48 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1418 * omx/gstomxvideoenc.c:
1419 videoenc: use GST_ROUND_UP_N() macro
1420 Makes the code much easier to read and understand.
1421 https://bugzilla.gnome.org/show_bug.cgi?id=781409
1423 2017-04-24 20:30:21 +0100 Tim-Philipp Müller <tim@centricular.com>
1426 Automatic update of common submodule
1427 From 60aeef6 to 48a5d85
1429 2017-04-10 23:51:00 +0100 Tim-Philipp Müller <tim@centricular.com>
1433 Automatic update of common submodule
1434 From 39ac2f5 to 60aeef6
1436 === release 1.11.90 ===
1438 2017-04-07 16:36:45 +0300 Sebastian Dröge <sebastian@centricular.com>
1448 2017-04-07 14:27:23 +0300 Sebastian Dröge <sebastian@centricular.com>
1450 * omx/gstomxvideoenc.c:
1451 omxvideoenc: Fix compiler warning
1452 gstomxvideoenc.c: In function ‘gst_omx_video_enc_fill_buffer’:
1453 CC libgstomx_la-gstomxaacdec.lo
1454 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=]
1455 GST_LOG_OBJECT (self, "Matched strides - direct copy %u bytes",
1457 outbuf->omx_buf->nFilledLen);
1460 2017-03-22 17:18:09 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
1463 meson: fix logic to set HAVE_THEORA
1464 https://bugzilla.gnome.org/show_bug.cgi?id=780392
1466 2017-03-14 03:02:06 +1100 Jan Schmidt <thaytan@noraisin.net>
1468 * omx/gstomxvideoenc.c:
1469 omxvideoenc: Add an unimplemented mapping for RGBA formats
1470 Add some pixel formats mappings for 2 RGBA formats. Not yet
1471 implemented in the buffer input code though, so no effect for now.
1473 2017-03-14 03:00:49 +1100 Jan Schmidt <thaytan@noraisin.net>
1477 * omx/gstomxvideoenc.c:
1478 omxvideoenc: Add GST_OMX_HACK_HEIGHT_MULTIPLE_16 for Rpi
1479 The Raspberry Pi encoder produces corrupt output unless
1480 the input height is a multiple of 16. Add a hack that adds
1481 zero padding when needed.
1483 2017-03-14 02:42:15 +1100 Jan Schmidt <thaytan@noraisin.net>
1485 * omx/gstomxvideoenc.c:
1486 omxvideoenc: Add a mapping for OMX_COLOR_FormatYUV420PackedSemiPlanar
1489 2017-03-14 02:40:24 +1100 Jan Schmidt <thaytan@noraisin.net>
1491 * omx/gstomxvideoenc.c:
1492 omxvideoenc: Filter out unimplemented formats
1493 Don't announce pixel formats in the caps if they've not been
1496 2017-03-14 02:34:36 +1100 Jan Schmidt <thaytan@noraisin.net>
1498 * omx/gstomxvideodec.c:
1499 omxvideodec: demote ERROR message
1500 There's no need to warn about failing to negotiate EGL output
1501 - that can be perfectly normal.
1503 2017-02-24 16:00:29 +0200 Sebastian Dröge <sebastian@centricular.com>
1506 meson: Update version
1508 2017-02-24 15:38:17 +0200 Sebastian Dröge <sebastian@centricular.com>
1513 === release 1.11.2 ===
1515 2017-02-24 15:10:17 +0200 Sebastian Dröge <sebastian@centricular.com>
1524 2017-02-15 18:22:53 +0000 Tim-Philipp Müller <tim@centricular.com>
1527 meson: dist meson build files
1528 Ship meson build files in tarballs, so people who use tarballs
1529 in their builds can start playing with meson already.
1531 2017-01-13 16:23:12 +0000 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
1533 * omx/gstomxaacenc.c:
1534 omxaacenc: let encoder know about incoming rate/channels
1535 https://bugzilla.gnome.org/show_bug.cgi?id=777223
1537 2017-01-18 02:43:44 +1100 Matthew Waters <matthew@centricular.com>
1539 * config/bellagio/meson.build:
1540 * config/meson.build:
1541 * config/rpi/meson.build:
1542 * examples/egl/meson.build:
1543 * examples/meson.build:
1544 * hooks/pre-commit.hook:
1546 * meson_options.txt:
1548 build: add meson build definition
1549 Currently only been tested on the RPi within gst-build.
1551 2017-01-18 15:21:35 +1100 Matthew Waters <matthew@centricular.com>
1553 * examples/egl/testegl.c:
1554 examples/testegl: update for libgstgl changes
1556 2017-01-12 16:33:09 +0200 Sebastian Dröge <sebastian@centricular.com>
1561 === release 1.11.1 ===
1563 2017-01-12 16:26:55 +0200 Sebastian Dröge <sebastian@centricular.com>
1572 2017-01-10 15:29:08 +0000 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
1574 * omx/gstomxaudioenc.c:
1575 omxaudioenc: set base class format instead of just source pad caps
1577 2016-12-18 19:46:55 +0000 Graham Leggett <minfrin@sharp.fm>
1579 * omx/gstomxaudiodec.c:
1580 * omx/gstomxvideodec.c:
1581 omx*dec: Flush before we stop the srcpad loop
1582 Flushing could otherwise hang if output port queue of pending buffers was empty
1583 https://bugzilla.gnome.org/show_bug.cgi?id=774654
1585 2016-12-14 13:29:08 -0800 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
1588 Fix broken build due to syntax error
1589 Problem was introduced by 8716c23e2b0553db2982eb84c437f493c974385e
1591 2016-12-12 11:12:48 +0000 Graham Leggett <minfrin@sharp.fm>
1594 Prevent early EOS by resetting eos flag once GST_OMX_ACQUIRE_BUFFER_EOS is triggered
1595 https://bugzilla.gnome.org/show_bug.cgi?id=774600
1597 2016-12-12 11:09:15 +0000 Graham Leggett <minfrin@sharp.fm>
1600 Add clear debug logging on all the paths out of gst_omx_port_acquire_buffer()
1601 https://bugzilla.gnome.org/show_bug.cgi?id=774600
1603 2016-12-01 18:23:50 +0100 George Kiagiadakis <george.kiagiadakis@collabora.com>
1605 * config/rpi/gstomx.conf:
1608 Add a signals-premature-eos hack for egl_render
1609 egl_render seems to have a bug and signals EOS before it has finished
1610 pushing out all data; this hack simply makes acquire_buffer() wait
1611 a bit more before signalling EOS, in case egl_render decides to spit
1613 https://bugzilla.gnome.org/show_bug.cgi?id=741856
1615 2016-12-11 19:52:37 +0000 Graham Leggett <minfrin@sharp.fm>
1617 * omx/gstomxvideo.c:
1618 Add support for OMX_COLOR_FormatYUV420PackedSemiPlanar and OMX_COLOR_Format24bitBGR888
1619 https://bugzilla.gnome.org/show_bug.cgi?id=775959
1621 2016-12-03 08:20:46 +0100 Edward Hervey <bilboed@bilboed.com>
1624 Automatic update of common submodule
1625 From ac2f647 to 39ac2f5
1627 2016-11-26 11:27:58 +0000 Tim-Philipp Müller <tim@centricular.com>
1630 common: use https protocol for common submodule
1631 https://bugzilla.gnome.org/show_bug.cgi?id=775110
1633 2016-11-25 23:56:06 +0200 Sebastian Dröge <sebastian@centricular.com>
1636 omx: Fix compiler warning with latest clang
1637 gstomx.c:1376:42: error: implicit conversion from enumeration type 'GstOMXAcquireBufferReturn' to different enumeration type 'OMX_ERRORTYPE'
1638 (aka 'enum OMX_ERRORTYPE') [-Werror,-Wenum-conversion]
1639 g_return_val_if_fail (!port->tunneled, GST_OMX_ACQUIRE_BUFFER_ERROR);
1640 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1641 https://bugzilla.gnome.org/show_bug.cgi?id=775112
1643 2016-11-17 19:56:35 +1100 Matthew Waters <matthew@centricular.com>
1645 * omx/gstomxvideodec.c:
1646 videodecoder: remove use of EGLImage orientation
1647 New code should use GstVideoTransformationMeta
1648 (The defaults do the right thing here though).
1650 === release 1.11.0 ===
1652 2016-11-01 18:53:25 +0200 Sebastian Dröge <sebastian@centricular.com>
1657 === release 1.10.0 ===
1659 2016-11-01 18:20:48 +0200 Sebastian Dröge <sebastian@centricular.com>
1668 === release 1.9.90 ===
1670 2016-09-30 13:04:51 +0300 Sebastian Dröge <sebastian@centricular.com>
1680 2016-09-14 11:33:13 +0200 Sebastian Dröge <sebastian@centricular.com>
1683 configure: Depend on gstreamer 1.9.2.1
1685 2016-09-12 14:09:46 +0200 Sebastian Dröge <sebastian@centricular.com>
1689 omx: Also search for gstomx.conf in the autoconf --sysconfdir
1690 https://bugzilla.gnome.org/show_bug.cgi?id=770743
1692 2016-09-10 20:52:10 +1000 Jan Schmidt <jan@centricular.com>
1696 Automatic update of common submodule
1697 From b18d820 to f980fd9
1699 2016-09-10 09:58:16 +1000 Jan Schmidt <jan@centricular.com>
1703 Automatic update of common submodule
1704 From ac2f647 to b18d820
1706 2016-09-01 12:36:09 +0300 Sebastian Dröge <sebastian@centricular.com>
1711 === release 1.9.2 ===
1713 2016-09-01 12:35:58 +0300 Sebastian Dröge <sebastian@centricular.com>
1723 2016-07-11 21:15:48 +0200 Stefan Sauer <ensonic@users.sf.net>
1726 Automatic update of common submodule
1727 From ac2f647 to f49c55e
1729 2016-07-06 13:51:24 +0300 Sebastian Dröge <sebastian@centricular.com>
1734 === release 1.9.1 ===
1736 2016-07-06 13:48:45 +0300 Sebastian Dröge <sebastian@centricular.com>
1746 2016-06-29 16:37:43 +0900 Kazunori Kobayashi <kkobayas@igel.co.jp>
1748 * omx/gstomxvideodec.c:
1749 omxvideodec: Use GST_VIDEO_FRAME_PLANE_STRIDE() to get output buffer's stride
1750 GST_VIDEO_FRAME_PLANE_STRIDE() should be used to get the actual buffer stride,
1751 as reported in the buffers's GstVideoMeta, when copying data to that buffer.
1752 https://bugzilla.gnome.org/show_bug.cgi?id=768173
1754 2016-06-21 11:48:40 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1757 Automatic update of common submodule
1758 From ac2f647 to f363b32
1760 2016-06-21 11:43:13 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
1762 * omx/gstomxaudioenc.c:
1763 omxaudioenc: implement GstPreset interface
1764 To allow user to use GstPreset to quickly save and load a set of
1766 https://bugzilla.gnome.org/show_bug.cgi?id=767907
1768 2016-06-21 11:41:15 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
1770 * omx/gstomxvideoenc.c:
1771 omxvideoenc: implement GstPreset interface
1772 To allow user to use GstPreset to quickly save and load a set of
1774 https://bugzilla.gnome.org/show_bug.cgi?id=767907
1776 2016-06-17 12:06:48 +0300 Sebastian Dröge <sebastian@centricular.com>
1780 * omx/gstomxaudiodec.c:
1781 * omx/gstomxaudioenc.c:
1782 * omx/gstomxvideo.c:
1783 * omx/gstomxvideodec.c:
1784 * omx/gstomxvideoenc.c:
1785 omx: #define OMX_SKIP64BIT on the RPi as required by their API
1786 Also add generic support for OMX_SKIP64BIT to gst-omx, in case other
1787 implementations also #define that for whatever reason.
1788 https://bugzilla.gnome.org/show_bug.cgi?id=766475
1790 2016-06-17 10:59:45 +0300 Sebastian Dröge <sebastian@centricular.com>
1792 * omx/gstomxvideodec.c:
1793 omxvideodec: Implement ::drain() virtual method
1794 https://bugzilla.gnome.org/show_bug.cgi?id=767641
1796 2016-06-04 19:31:45 +0100 Tim-Philipp Müller <tim@centricular.com>
1799 configure: remove AG_GST_PARSE_SUBSYSTEM_DISABLES
1800 This would check which subsystems are disabled in core by grepping
1801 gstconfig.h. Only problem is: gstconfig.h has moved into libdir now
1802 so we've been checking a non-existent file for a while now. The
1803 macro would just sets GST_DISABLE_* for use in configure.ac and
1804 Makefile.am, but we don't use that anywhere so just get rid of it
1805 (the one place where we use GST_DISABLE_GST_DEBUG is in a .c file
1806 which gets the define from the gstconfig.h include).
1807 https://bugzilla.gnome.org/show_bug.cgi?id=750056
1809 2016-01-20 03:10:38 +0900 Gwang Yoon Hwang <yoon@igalia.com>
1811 * examples/egl/testegl.c:
1812 * omx/gstomxvideodec.c:
1813 omxvideodec : Use gstglmemoryegl for the RPi
1814 Modified to use gstglmemoryegl to avoid texture creation/copy operations
1816 [Matthew Waters]: gst-indent the sources and port testegl to GstGLMemoryEGL
1817 https://bugzilla.gnome.org/show_bug.cgi?id=760918
1819 2016-04-14 10:04:32 +0100 Julien Isorce <j.isorce@samsung.com>
1822 Automatic update of common submodule
1823 From 6f2d209 to ac2f647
1825 2016-02-26 12:42:41 +0200 Sebastian Dröge <sebastian@centricular.com>
1828 Automatic update of common submodule
1829 From b64f03f to 6f2d209
1831 2016-02-17 20:51:03 +1100 Matthew Waters <matthew@centricular.com>
1833 * examples/egl/testegl.c:
1834 examples: update egl example for gstgl API changes
1835 https://bugzilla.gnome.org/show_bug.cgi?id=762053
1836 https://bugzilla.gnome.org/show_bug.cgi?id=753917
1838 2016-02-05 18:11:06 -0300 Thiago Santos <thiagoss@osg.samsung.com>
1842 Automatic update of common submodule
1843 From 86e4663 to b64f03f
1845 2015-12-21 00:43:49 +0100 Koop Mast <kwm@rainbow-runner.nl>
1848 configure: Make -Bsymbolic check work with clang.
1849 Update the -Bsymbolic check with the version glib has. This version
1851 https://bugzilla.gnome.org/show_bug.cgi?id=759713
1853 2015-12-07 09:11:32 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
1857 Automatic update of common submodule
1858 From b319909 to 86e4663
1860 2015-11-18 13:00:28 +0000 Enrique Ocaña González <eocanha@igalia.com>
1863 Remember the last_error after a failed set state call to avoid blocking the next get state call
1864 gst_omx_video_dec_flush() blocks forever in
1865 http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomxvideodec.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n2110
1866 when the previous call to gst_omx_component_set_state() fails in
1867 http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomx.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n827.
1868 To mitigate that, I set "last_error" to true, so the code in
1869 http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomx.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n862
1870 exits early and doesn't block.
1871 https://bugzilla.gnome.org/show_bug.cgi?id=758274
1873 2015-11-18 12:59:59 +0000 Enrique Ocaña González <eocanha@igalia.com>
1875 * omx/gstomxaudiodec.c:
1876 * omx/gstomxaudioenc.c:
1877 * omx/gstomxvideodec.c:
1878 * omx/gstomxvideoenc.c:
1879 Properly handle drain requests while flushing
1880 Without this commit the decoder streaming thread stops without ever attending
1881 the drain request, leaving the decoder input thread waiting forever.
1882 https://bugzilla.gnome.org/show_bug.cgi?id=758274
1884 2015-11-10 10:42:35 +0100 Nicolas Huet <nicolas.huet@parrot.com>
1887 omx: fix hacks leak on class init
1889 2015-10-21 14:37:13 +0100 Tim-Philipp Müller <tim@centricular.com>
1892 Automatic update of common submodule
1893 From b99800a to b319909
1895 2015-10-21 14:28:41 +0300 Sebastian Dröge <sebastian@centricular.com>
1898 Automatic update of common submodule
1899 From 9aed1d7 to b99800a
1901 2015-09-01 16:08:11 -0300 Thiago Santos <thiagoss@osg.samsung.com>
1903 * omx/gstomxaacdec.c:
1904 omxaacdec: Do not accept unknown layouts
1905 It was defaulting to RAW when an unknown layout was received but
1906 the caps template would actually forbid that on the caps query
1907 or accept-caps anyway.
1909 2015-09-01 08:59:54 -0300 Thiago Santos <thiagoss@osg.samsung.com>
1911 * omx/gstomxaudiodec.c:
1912 omxaudiodec: use default pad accept-caps handling
1913 Instead of the audiodecoder one. The OMX audioo decoders have their
1914 valid input in the template pad, so just check against that to
1915 avoid doing a query downstream.
1917 2015-08-28 12:57:33 -0300 Thiago Santos <thiagoss@osg.samsung.com>
1919 * omx/gstomxvideodec.c:
1920 omxvideodec: use default pad accept-caps handling
1921 Instead of the videodecoder one. The OMX video decoders have their
1922 valid input in the template pad, so just check against that to
1923 avoid doing a query downstream.
1925 2015-08-22 15:54:55 +0000 Graham Leggett <minfrin@sharp.fm>
1927 * omx/gstomxvideoenc.c:
1928 omxvideoenc: Add keyframe support for the Rpi, using OMX_IndexConfigBrcmVideoRequestIFrame
1929 https://bugzilla.gnome.org/show_bug.cgi?id=753085
1931 2015-08-20 17:20:50 +0900 Vineeth TM <vineeth.tm@samsung.com>
1933 * examples/egl/testegl.c:
1934 gst-omx: Fix memory leaks when context parse fails
1935 When g_option_context_parse fails, context and error variables are not getting free'd
1936 which results in memory leaks. Free'ing the same.
1937 And replacing g_error_free with g_clear_error, which checks if the error being passed
1938 is not NULL and sets the variable to NULL on free'ing.
1939 https://bugzilla.gnome.org/show_bug.cgi?id=753865
1941 2015-08-16 14:53:42 +0200 Philippe Normand <philn@igalia.com>
1943 * omx/gstomxh264dec.c:
1944 omxh264dec: implement is_format_change
1945 The omxvideodecoder class only checks some of the caps parameters but if
1946 other fields change such as h264 profile and/or level it wouldn't trigger a
1948 https://bugzilla.gnome.org/show_bug.cgi?id=752376
1950 2015-07-03 00:26:48 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
1952 * omx/gstomxvideodec.c:
1953 omxvideodec: unref allocator after getting it from allocation query
1954 Otherwise a reference will be leaked for each allocator. It only happens
1955 when target platform is Raspberry Pi and when we have GL support.
1956 https://bugzilla.gnome.org/show_bug.cgi?id=751867
1958 2015-07-03 21:59:54 +0200 Stefan Sauer <ensonic@users.sf.net>
1961 Automatic update of common submodule
1962 From f74b2df to 9aed1d7
1964 2015-06-16 17:50:14 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
1967 Automatic update of common submodule
1968 From 6015d26 to f74b2df
1970 2015-06-09 11:30:49 +0200 Edward Hervey <bilboed@bilboed.com>
1973 Automatic update of common submodule
1974 From d9a3353 to 6015d26
1976 2015-06-08 23:08:28 +0200 Stefan Sauer <ensonic@users.sf.net>
1979 Automatic update of common submodule
1980 From d37af32 to d9a3353
1982 2015-06-07 23:07:22 +0200 Stefan Sauer <ensonic@users.sf.net>
1985 Automatic update of common submodule
1986 From 21ba2e5 to d37af32
1988 2015-06-07 17:32:25 +0200 Stefan Sauer <ensonic@users.sf.net>
1991 Automatic update of common submodule
1992 From c408583 to 21ba2e5
1994 2015-06-07 17:16:43 +0200 Stefan Sauer <ensonic@users.sf.net>
1998 Automatic update of common submodule
1999 From c8fb372 to c408583
2001 2015-05-19 18:21:40 +0300 Sebastian Dröge <sebastian@centricular.com>
2003 * omx/gstomxaudiodec.c:
2004 * omx/gstomxaudiodec.h:
2005 omxaudiodec: Add an output adapter for chunking the output into codec frames
2006 Otherwise the base class will be confused.
2007 See https://bugzilla.gnome.org/show_bug.cgi?id=685730
2009 2015-04-26 18:24:13 +0100 Tim-Philipp Müller <tim@centricular.com>
2013 Remove obsolete Android build cruft
2014 This is not needed any longer.
2016 2015-04-22 10:40:22 +0200 Sebastian Dröge <sebastian@centricular.com>
2020 autotools automatically generate this, and when using different versions
2021 for autogen.sh there will always be changes to a file tracked by git.
2023 2015-04-08 15:57:59 +0100 Tim-Philipp Müller <tim@centricular.com>
2029 Add m4 directory so aclocal doesn't complain in autogen.sh
2030 Might come in handy, and these warnings seem to be
2031 fatal in some environments.
2032 You may need to git clean -x -d -f your tree before
2033 git pulling/merging.
2035 2015-04-07 22:25:57 +0100 Tim-Philipp Müller <tim@centricular.com>
2039 Update autogen.sh to latest version
2041 2015-04-03 18:58:17 +0100 Tim-Philipp Müller <tim@centricular.com>
2044 Automatic update of common submodule
2045 From bc76a8b to c8fb372
2047 2015-03-06 12:12:49 +0000 Luis de Bethencourt <luis.bg@samsung.com>
2049 * omx/gstomxaacdec.c:
2050 omxaudiodec: add comment explaining duplicate code path
2052 2015-03-06 12:09:06 +0000 Luis de Bethencourt <luis.bg@samsung.com>
2054 * omx/gstomxaacdec.c:
2055 Revert "omxaudiodec: remove duplicate code path"
2056 This reverts commit a8d26ff27a8b43f589424a59294f9057641b2a46.
2058 2015-03-06 12:03:56 +0000 Luis de Bethencourt <luis.bg@samsung.com>
2061 omx: handle both errors in the two steps of update_port_definition
2062 Also consider potential errors in the _get_parameter() in the return of the
2063 update_port_definition function.
2066 2015-03-06 10:57:53 +0000 Luis de Bethencourt <luis.bg@samsung.com>
2068 * omx/gstomxaudioenc.c:
2069 omxaudioenc: impossible if statement
2070 ret is set to GST_STATE_CHANGE_SUCCESS and never touched, so it is impossible
2071 for it to be anything else at the if check. Remove the if check.
2074 2015-03-06 10:54:43 +0000 Luis de Bethencourt <luis.bg@samsung.com>
2076 * omx/gstomxaudiodec.c:
2077 omxaudiodec: impossible if statement
2078 ret is set to GST_STATE_CHANGE_SUCCESS and never touched, so it is impossible
2079 for it to be anything else at the if check. Remove it.
2082 2015-03-06 10:50:30 +0000 Luis de Bethencourt <luis.bg@samsung.com>
2084 * omx/gstomxaacdec.c:
2085 omxaudiodec: remove duplicate code path
2087 2014-12-19 11:19:55 +0200 George Kiagiadakis <george.kiagiadakis@collabora.com>
2090 omx: call handle_messages() only once in acquire_buffer() to avoid potential deadlock
2091 There is one rare case where calling handle_messages() more than once can cause a deadlock
2092 in the video decoder element:
2093 - sink pad thread starts the src pad task (gst_omx_video_dec_loop())
2094 - _video_dec_loop() calls gst_omx_port_acquire_buffer() on dec_out_port
2095 - blocks in gst_omx_component_wait_message() releasing comp->lock and comp->messages_lock
2096 (initially, there are no buffers configured on that port, so it waits for OMX_EventPortSettingsChanged)
2097 - the sink pad thread pushes a buffer to the decoder with gst_omx_port_release_buffer()
2098 - _release_buffer() grabs comp->lock and sends the buffer to OMX, which consumes it immediately
2099 - EmptyBufferDone gets called at this point, which signals _wait_message() to unblock
2100 - the message from EmptyBufferDone is processed in gst_omx_component_handle_messages()
2101 called from gst_omx_port_release_buffer()
2102 - gst_omx_port_release_buffer releases comp->lock
2103 - the src pad thread now gets to run, grabbing comp->lock while it exits from _wait_message()
2104 - _acquire_buffer() calls the _handle_messages() on the next line after _wait_message(),
2105 which does nothing (no pending messages)
2106 - then it goes to "retry:" and calls _handle_messages() again, which also does nothing
2107 (still no pending messages)
2108 - scheduler switches to a videocore thread that calls EventHandler, informing us about the
2109 OMX_EventPortSettingsChanged event that just arrived
2110 - EventHandler graps comp->messages_lock, but not comp->lock, so it can run in parallel at
2111 this point just fine.
2112 - scheduler switches back to the src pad thread (which is in the middle of _acquire_buffer())
2113 - the next _handle_messages() which is right before if (g_queue_is_empty (&port->pending_buffers))
2114 processes the OMX_EventPortSettingsChanged
2115 - the buffer queue is still empty, so that thread blocks again in _wait_message()
2116 - the sink pad thread tries to acquire the next input port buffer
2117 - _acquire_buffer() also blocks this thread in:
2118 if (comp->pending_reconfigure_outports) { ... _wait_message() ... }
2119 - DEADLOCK. gstreamer is waiting for omx to do something, omx waits for gstreamer to do something.
2120 By removing those extra _handle_messages() calls, we can ensure that all the checks of
2121 _acquire_buffer() will re-run. In the above case, after the scheduler switches back to
2122 the middle of _acquire_buffer(), the code will enter _wait_message(), which will see that
2123 there are pending messages and will return immediately, going back to "retry:" and
2124 re-doing all the checks properly.
2125 https://bugzilla.gnome.org/show_bug.cgi?id=741854
2127 2015-02-26 09:27:44 +0900 Wonchul Lee <chul0812@gmail.com>
2130 omx: cleanup code a bit to remove else statement
2131 https://bugzilla.gnome.org/show_bug.cgi?id=745191
2133 2015-01-12 16:13:35 +0100 Stefan Sauer <ensonic@users.sf.net>
2136 Automatic update of common submodule
2137 From f2c6b95 to bc76a8b
2139 2014-12-18 10:56:15 +0100 Sebastian Dröge <sebastian@centricular.com>
2142 Automatic update of common submodule
2143 From ef1ffdc to f2c6b95
2145 2014-11-27 17:12:42 +0100 Edward Hervey <bilboed@bilboed.com>
2148 Automatic update of common submodule
2149 From 7bb2bce to ef1ffdc
2151 2014-11-13 09:55:02 +0900 Jun Ji <jun.ji@lge.com>
2155 * omx/gstomxamrdec.c:
2156 * omx/gstomxamrdec.h:
2158 https://bugzilla.gnome.org/show_bug.cgi?id=739333
2160 2014-10-27 18:00:50 +0100 Sebastian Dröge <sebastian@centricular.com>
2163 Automatic update of common submodule
2164 From 84d06cd to 7bb2bce
2166 2014-10-21 13:03:44 +0100 Tim-Philipp Müller <tim@centricular.com>
2169 Automatic update of common submodule
2170 From a8c8939 to 84d06cd
2172 2014-10-21 13:00:10 +0200 Stefan Sauer <ensonic@users.sf.net>
2175 Automatic update of common submodule
2176 From 1f5d3c3 to a8c8939
2178 2014-09-30 10:47:20 +0300 Sebastian Dröge <sebastian@centricular.com>
2180 * omx/gstomxaudiodec.c:
2181 omxaudiodec: Clean up code a bit to get rid of useless NULL checks
2183 2014-09-30 10:50:07 +0900 junji <jun.ji@lge.com>
2185 * omx/gstomxaudiodec.c:
2186 omxaudiodec: Unmap input buffers after usage
2187 https://bugzilla.gnome.org/show_bug.cgi?id=736314
2189 2014-08-31 20:30:13 +0000 Michal Lazo <michal.lazo@mdragon.org>
2191 * omx/gstomxvideoenc.c:
2192 omxvideoenc: Setup aspect ratio on RPi
2193 Needs firmware from yesterday or newer to work with all possible
2194 aspect ratios. Before that it only supported a fixed list.
2195 https://bugzilla.gnome.org/show_bug.cgi?id=732533
2197 2014-08-28 10:44:31 +0300 Sebastian Dröge <sebastian@centricular.com>
2199 * omx/gstomxaudioenc.c:
2200 omxaudioenc: Implement the hack flag GST_OMX_HACK_NO_COMPONENT_RECONFIGURE
2202 2014-08-28 10:43:22 +0300 Sebastian Dröge <sebastian@centricular.com>
2204 * omx/gstomxaudioenc.c:
2205 omxaudioenc: Use the base class' open/close vfuncs instead of calling them ourselves
2207 2014-08-26 22:13:53 -0500 Peng Liu <pengliu.mail@gmail.com>
2209 * config/rpi/gstomx.conf:
2210 * omx/gstomxvideoenc.c:
2211 omxvideoenc: Implement the hack flag GST_OMX_HACK_NO_COMPONENT_RECONFIGURE
2212 Fix a video encoder stall problem on RPi when changing the aspect ratio.
2213 https://bugzilla.gnome.org/show_bug.cgi?id=732533
2215 2014-08-14 17:36:11 +0300 Sebastian Dröge <sebastian@centricular.com>
2217 * omx/gstomxaudiodec.c:
2218 * omx/gstomxaudiodec.h:
2219 * omx/gstomxaudioenc.c:
2220 * omx/gstomxaudioenc.h:
2221 * omx/gstomxvideodec.c:
2222 * omx/gstomxvideodec.h:
2223 * omx/gstomxvideoenc.c:
2224 * omx/gstomxvideoenc.h:
2225 omx: Let base classes handle EOS
2226 https://bugzilla.gnome.org//show_bug.cgi?id=734774
2228 2014-08-14 17:33:07 +0300 Sebastian Dröge <sebastian@centricular.com>
2230 * omx/gstomxaudiodec.c:
2231 omxaudiodec: Fix flushing logic and make it more similar to the video decoder
2233 === release 1.2.0 ===
2235 2014-07-23 11:28:12 +0200 Sebastian Dröge <sebastian@centricular.com>
2245 2014-07-22 09:23:00 +0200 Sebastian Dröge <sebastian@centricular.com>
2247 * config/bellagio/gstomx.conf:
2248 * config/rpi/gstomx.conf:
2249 config: Update ranks to PRIMARY+1 to have higher preference than avdec_*
2250 See https://bugzilla.gnome.org/show_bug.cgi?id=732161
2252 2014-07-20 17:46:30 +0200 Sebastian Dröge <sebastian@centricular.com>
2254 * omx/gstomxaudiosink.c:
2255 omxaudiosink: Set port to not flushing in prepare() and keep it at flushing in unprepare()
2256 https://bugzilla.gnome.org/show_bug.cgi?id=733168
2258 2014-07-13 22:15:18 +0200 Sebastian Dröge <sebastian@centricular.com>
2260 * omx/gstomxaacdec.c:
2261 * omx/gstomxaudiodec.c:
2262 * omx/gstomxaudiodec.h:
2263 * omx/gstomxmp3dec.c:
2264 omxaudiodec: Implement setting of fallback channel positions
2266 2014-07-13 18:22:39 +0200 Sebastian Dröge <sebastian@centricular.com>
2270 * omx/gstomxaacdec.c:
2271 * omx/gstomxaacdec.h:
2272 * omx/gstomxmp3dec.c:
2273 omx: Add AAC audio decoder
2275 2014-07-02 09:22:28 +0200 Sebastian Dröge <sebastian@centricular.com>
2277 * omx/gstomxaudiodec.c:
2278 omxaudiodec: Get PCM parameters from the out port, not the in port
2280 2014-05-15 13:24:39 +0200 Sebastian Dröge <sebastian@centricular.com>
2282 * omx/gstomxaudiodec.c:
2283 omxaudiodec: Implement hack for not disabling the output port after set_format until the output format is known
2284 Needed on some OMX implementations, e.g. the one from Atmel. It does
2285 not send the settings-changed event on the output port if it is
2288 2014-05-10 23:12:54 +0200 Sebastian Dröge <sebastian@centricular.com>
2292 * omx/gstomxaudiodec.c:
2293 * omx/gstomxaudiodec.h:
2294 * omx/gstomxmp3dec.c:
2295 * omx/gstomxmp3dec.h:
2296 omx: Add audio decoder base class and a subclass for MP3
2298 2014-07-01 09:38:01 +0200 Sebastian Dröge <sebastian@centricular.com>
2302 omx: Link to gmodule-2.0-no-export for being able to use the g_module_*() API
2303 https://bugzilla.gnome.org/show_bug.cgi?id=732518
2305 2014-06-30 15:00:54 +0200 Sebastian Dröge <sebastian@centricular.com>
2307 * examples/egl/testegl.c:
2308 examples: #define GST_USE_UNSTABLE_API for libgstgl
2310 2014-06-29 19:10:19 +0200 Sebastian Dröge <sebastian@centricular.com>
2312 * omx/gstomxh264enc.c:
2313 * omx/gstomxh264enc.h:
2314 omxh264enc: Properly accumulate headers and push before the next frame
2315 Fixes output of encoding on RPi, where each header buffer (SPS and PPS)
2316 is in a separate OMX buffer.
2317 https://bugzilla.gnome.org/show_bug.cgi?id=726669
2319 2014-06-29 19:04:54 +0200 Sebastian Dröge <sebastian@centricular.com>
2321 * omx/gstomxvideoenc.c:
2322 omxvideoenc: Implement flush() instead of the deprecated reset()
2324 2014-06-25 17:14:18 +0200 Sebastian Dröge <sebastian@centricular.com>
2326 * config/rpi/gstomx.conf:
2327 rpi: It's 44100Hz, not 41400Hz
2329 2014-06-25 11:12:51 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
2332 configure.ac: require gstgl >= 1.3.3
2334 2014-04-25 13:25:05 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
2338 example: enable testegl
2339 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
2341 2014-06-25 10:19:54 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
2343 * examples/egl/testegl.c:
2344 testegl: do matrix mutlplication in the shader
2345 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
2347 2014-06-25 09:36:38 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
2349 * examples/egl/testegl.c:
2350 testegl: add a comment for the parse command
2351 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
2353 2014-04-25 17:32:16 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
2355 * examples/egl/Makefile.am:
2356 * examples/egl/cube_texture_and_coords.h:
2357 * examples/egl/testegl.c:
2358 testegl: convert code from GLESv1 to GLESv2
2359 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
2361 2014-04-25 13:21:59 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
2363 * examples/egl/Makefile.am:
2364 * examples/egl/testegl.c:
2365 testegl: port to gstgl API
2366 - append a glfilter just before fakesink
2367 So that we get gltexture or eglimages
2368 - propagate our EGLDisplay to the pipeline
2369 see GST_QUERY_CONTEXT
2370 - share our EGLContext with the iternal gl context
2371 of the pipeline, see GST_QUERY_ALLOCATION
2372 - use GstVideoGLTextureUploadMeta to upload
2373 the incoming gltexture or eglimage to our gl texture
2374 TODO: convert from GLESv1 to GLESv2
2375 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
2377 2014-06-24 14:52:58 +0200 Sebastian Dröge <sebastian@centricular.com>
2379 * omx/gstomxbufferpool.c:
2380 * omx/gstomxbufferpool.h:
2381 * omx/gstomxvideodec.c:
2382 omxbufferpool: Copy buffers if the stride does not match and we can't use video meta
2383 https://bugzilla.gnome.org/show_bug.cgi?id=731672
2385 2014-06-24 14:52:43 +0200 Sebastian Dröge <sebastian@centricular.com>
2389 * omx/gstomxvp8dec.h:
2390 omx: Only include OMX_VideoExt.h conditionally
2391 It does not exist on the RPi for example.
2393 2014-06-24 13:59:44 +0200 Sebastian Dröge <sebastian@centricular.com>
2396 configure.ac: Require GStreamer core/base >= 1.2.2
2397 Needed at least for gst_video_decoder_release_frame().
2399 2014-06-24 13:02:13 +0200 Sebastian Dröge <sebastian@centricular.com>
2401 * omx/gstomxbufferpool.c:
2402 omxbufferpool: Fix format string compiler warning
2404 2014-06-22 21:11:45 +0000 Michal Lazo <xlazom00@gmail.com>
2406 * omx/gstomxbufferpool.c:
2407 omxbufferpool: Initialize debug category
2409 2014-06-24 12:42:22 +0200 Sebastian Dröge <sebastian@centricular.com>
2411 * omx/gstomxbufferpool.c:
2412 omxbufferpool: Properly convert OMX alignment to GStreamer alignment
2413 GStreamer uses a bitmask for the alignment while OMX uses the
2414 alignment itself. Let's convert.
2415 https://bugzilla.gnome.org/show_bug.cgi?id=710564
2417 2014-06-24 11:11:28 +0200 Sebastian Dröge <sebastian@centricular.com>
2419 * omx/gstomxh264enc.c:
2420 omxh264enc: Don't let baseclass finish frames for SPS/PPS buffers
2421 Otherwise we a) send them twice, and b) finish a frame for something
2422 that does not even include a frame.
2423 https://bugzilla.gnome.org/show_bug.cgi?id=726669
2425 2014-06-24 10:22:37 +0200 Sebastian Dröge <sebastian@centricular.com>
2427 * omx/gstomxvideo.h:
2428 omxvideo: Include the separate headers too for compatibility with 1.0.x
2430 2014-03-24 16:09:40 +0800 Zhao, Halley <halley.zhao@intel.com>
2433 * omx/gstomxvp8dec.h:
2434 omxvp8dec: use VP8 definition from OMX_VideoExt.h
2435 https://bugzilla.gnome.org/show_bug.cgi?id=726957
2437 2014-03-24 15:33:26 +0800 Zhao, Halley <halley.zhao@intel.com>
2440 configure: add --with-omx-header-path option for external omx headers
2441 https://bugzilla.gnome.org/show_bug.cgi?id=726957
2443 2014-06-18 23:04:33 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
2445 * omx/gstomxvideodec.c:
2446 omxvideodec: fix a query leak
2447 Also add a debug message if query fails.
2448 https://bugzilla.gnome.org/show_bug.cgi?id=731898
2450 2014-05-30 15:29:15 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
2452 * omx/gstomxvideodec.c:
2453 omxvideodec: release frames with old PTS to avoid memory issue
2454 Interlaced stream could make the decoder use two input frames to produce
2455 one output frame causing the gstvideodecoder frame list to grow.
2456 Assuming the video decoder output frame in display order rather than in
2457 decoding order, this commit add a way to release frames with PTS less
2458 than current output frame.
2459 https://bugzilla.gnome.org/show_bug.cgi?id=730995
2461 2013-06-27 21:59:29 +0900 Kazunori Kobayashi <kkobayas@igel.co.jp>
2464 omx: Fix a missing g_free() in error path
2465 This fixes a memory leak with g_strdup() when an error occurs.
2466 https://bugzilla.gnome.org/show_bug.cgi?id=731141
2468 2014-06-02 15:34:09 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
2470 * omx/gstomxvideodec.c:
2471 omxvideodec: add missing stream unlock in error path
2473 2014-05-31 15:12:05 +0200 Sebastian Dröge <sebastian@centricular.com>
2476 omx: Don't handle disabling/enabling ports exactly like flushing
2477 Otherwise we might abort a flush operation in another thread when
2478 enabling/disabling ports, leading to deadlocks sometimes.
2479 https://bugzilla.gnome.org/show_bug.cgi?id=730989
2481 2014-05-26 11:02:10 +0200 Sebastian Dröge <sebastian@centricular.com>
2483 * omx/gstomxvideodec.c:
2484 omxvideodec: Don't leak buffer pool config in error cases
2487 2014-05-21 10:53:43 +0200 Sebastian Dröge <sebastian@centricular.com>
2490 Automatic update of common submodule
2491 From 211fa5f to 1f5d3c3
2493 2014-05-19 09:10:07 +0200 Sebastian Dröge <sebastian@centricular.com>
2495 * omx/gstomxvideoenc.c:
2496 omxvideoenc: Don't forget to unref codec state
2499 2014-05-19 09:08:33 +0200 Sebastian Dröge <sebastian@centricular.com>
2501 * omx/gstomxvideodec.c:
2502 omxvideodec: Make output buffer pointer always initialized
2505 2014-05-19 09:06:42 +0200 Sebastian Dröge <sebastian@centricular.com>
2507 * omx/gstomxvideodec.c:
2508 omxvideodec: Check return value of gst_buffer_map()
2511 2014-05-19 09:04:09 +0200 Sebastian Dröge <sebastian@centricular.com>
2513 * omx/gstomxvideodec.c:
2514 omxvideodec: Check return value of gst_omx_port_set_enabled() for errors
2517 2014-05-19 09:01:46 +0200 Sebastian Dröge <sebastian@centricular.com>
2519 * omx/gstomxvideodec.c:
2520 omxvideodec: Check return values of buffer pool config parsing functions
2523 2014-05-19 08:48:50 +0200 Sebastian Dröge <sebastian@centricular.com>
2526 omx: Remove dead code, buf can never be NULL here as we just check for that the line above
2529 2014-05-19 08:47:36 +0200 Sebastian Dröge <sebastian@centricular.com>
2532 omx: Fix comparisons in gst_omx_state_to_string() case to actually make sense
2535 2014-05-19 08:45:10 +0200 Sebastian Dröge <sebastian@centricular.com>
2538 omx: Make sure to compare the error codes as unsigned integers so that comparisons >2**31 actually work
2541 2014-05-19 08:40:23 +0200 Sebastian Dröge <sebastian@centricular.com>
2544 omx: Fix comparisons in gst_omx_command_to_string() default cause to actually work
2547 2014-05-15 13:22:56 +0200 Sebastian Dröge <sebastian@centricular.com>
2549 * omx/gstomxaudioenc.c:
2550 omxaudioenc: Implement hack for not disabling the output port after set_format until the output format is known
2551 Needed on some OMX implementations, e.g. the one from Atmel. It does
2552 not send the settings-changed event on the output port if it is
2555 2014-05-15 13:21:07 +0200 Sebastian Dröge <sebastian@centricular.com>
2557 * omx/gstomxvideoenc.c:
2558 omxvideoenc: Implement hack for not disabling the output port after set_format until the output format is known
2559 Needed on some OMX implementations, e.g. the one from Atmel. It does
2560 not send the settings-changed event on the output port if it is
2563 2014-05-15 10:58:34 +0200 Sebastian Dröge <sebastian@centricular.com>
2567 * omx/gstomxvideodec.c:
2568 omx: Add a hack for not disabling the output port after set_format until the output format is known
2569 Needed on some OMX implementations, e.g. the one from Atmel. It does
2570 not send the settings-changed event on the output port if it is
2573 2014-05-12 12:33:32 +0200 Josep Torra <n770galaxy@gmail.com>
2575 * omx/gstomxaudiosink.c:
2576 omxaudiosink: implement _delay only in the RaspberryPI
2577 Make code implementation conditionally built for RaspberryPI because
2578 OMX_IndexConfigAudioRenderingLatency seems to be a Broadcom extension.
2579 On other targets the query position might not be accurate without
2580 implementing _delay appropriatelly.
2582 2014-05-12 08:56:15 +0200 Sebastian Dröge <sebastian@centricular.com>
2584 * omx/gstomxaudioenc.c:
2585 omxaudioenc: Correctly scale nTickCount by OMX_TICKS_PER_SECOND
2587 2014-05-10 22:48:23 +0200 Sebastian Dröge <sebastian@centricular.com>
2589 * omx/gstomxaudioenc.c:
2590 omxaudioenc: Drain encoder on NULL buffer and don't drain on flushing
2592 2014-05-10 22:47:56 +0200 Sebastian Dröge <sebastian@centricular.com>
2594 * omx/gstomxvideodec.c:
2595 omxvideodec: Set nTickCount based on the buffer's duration instead of something wrong
2597 2014-05-10 22:47:21 +0200 Sebastian Dröge <sebastian@centricular.com>
2599 * omx/gstomxvideoenc.c:
2600 omxvideoenc: Set nTickCount to the whole duration of the buffer instead of a wrong calculation
2602 2014-05-10 22:46:51 +0200 Sebastian Dröge <sebastian@centricular.com>
2604 * omx/gstomxaudiosink.c:
2605 omxaudiosink: Fix format string compiler warnings
2607 2014-04-04 14:11:58 +0200 Josep Torra <n770galaxy@gmail.com>
2609 * config/rpi/gstomx.conf:
2612 * omx/gstomxanalogaudiosink.c:
2613 * omx/gstomxanalogaudiosink.h:
2614 * omx/gstomxaudiosink.c:
2615 * omx/gstomxaudiosink.h:
2616 * omx/gstomxhdmiaudiosink.c:
2617 * omx/gstomxhdmiaudiosink.h:
2618 omxaudiosink: Implements OpenMAX based audio sinks
2619 Provides omxanalogaudiosink and omxhdmiaudiosink elements on
2621 - omxanalogaudiosink is capable to render raw mono or stereo audio
2622 through the jack output.
2623 - omxhdmiaudiosink is capable to render raw audio up to 8 channels
2624 and transmit ac3/dts(IEC 61937) through the HDMI output.
2625 - sinks provide a clock derived from rendered samples
2626 - sinks support the GstStreamVolume interface by implementing
2627 the volume and mute properties.
2628 https://bugzilla.gnome.org/show_bug.cgi?id=728962
2630 2014-05-03 10:17:35 +0200 Sebastian Dröge <sebastian@centricular.com>
2633 Automatic update of common submodule
2634 From bcb1518 to 211fa5f
2636 2014-04-29 15:16:16 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
2638 * omx/gstomxvideodec.c:
2639 omxvideodec: can negotiate caps with memory:EGLImage feature when using EGLImage allocator
2640 Previously when using gst EGLImage allocator the caps was
2641 video/x-raw, format=RGBA instead of
2642 video/x-raw(memory:EGLImage), format=RGBA
2643 Kepp previous behavior in case negotiation fails with caps feature.
2644 It means it will still have a chance to use EGLImage even if the
2645 feature is not in the caps.
2646 https://bugzilla.gnome.org/show_bug.cgi?id=729196
2648 2014-04-23 09:57:48 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
2650 * omx/gstomxvp8dec.h:
2651 omxvp8dec: fix typo in GST_TYPE_OMX_VP8_DEC define
2652 https://bugzilla.gnome.org/show_bug.cgi?id=728774
2654 2014-04-16 11:00:55 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
2656 * omx/gstomxvideodec.c:
2657 omxvideodec: don't unref caps before logging field from it
2658 https://bugzilla.gnome.org/show_bug.cgi?id=728322
2660 2014-04-15 17:30:13 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
2664 example: disable testegl since libgstegl has been removed
2665 As decided in bug #703343
2666 Not compatible with the new libgstgl API.
2667 A portage has been started, attachment 272800.
2668 https://bugzilla.gnome.org/show_bug.cgi?id=703343
2670 2014-04-15 17:11:08 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
2672 * omx/gstomxvideodec.c:
2673 omxvideodec: use new libgstgl API since libgstegl has been removed
2674 There is no point to retrieve a ref/unref type
2675 instead of an EGLDisplay directly. It's like for EGLImage.
2676 https://bugzilla.gnome.org/show_bug.cgi?id=703343
2678 2014-04-15 17:06:38 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
2681 * examples/Makefile.am:
2683 * omx/gstomxvideodec.c:
2684 configure.ac: check for libgstgl since libgstegl has been removed
2685 https://bugzilla.gnome.org/show_bug.cgi?id=703343
2687 2014-04-09 18:52:16 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
2689 * omx/gstomxbufferpool.c:
2690 * omx/gstomxvideodec.c:
2691 omxvideodec: add support of more color format
2692 Add support for ABGR, ARGB, RGB16, BGR16, YUY2, UYVY, YVYU, GRAY8 and
2695 2014-04-09 18:51:57 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
2697 * omx/gstomxvideodec.c:
2698 omxvideodec: simplify color format conversion in fill_buffer function
2700 2014-04-09 18:51:41 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
2702 * omx/gstomxbufferpool.c:
2703 omxbufferpool: make video stride and offset calculation easier
2704 It will be easier to support more color format.
2706 2014-04-09 18:51:12 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
2708 * omx/gstomxvideo.c:
2709 * omx/gstomxvideo.h:
2710 * omx/gstomxvideodec.c:
2711 omx: add an helper to convert OMX color format to GStreamer color format
2713 2014-03-10 17:43:50 +0100 Josep Torra <n770galaxy@gmail.com>
2715 * examples/egl/testegl.c:
2716 * omx/gstomxvideodec.c:
2717 omxvideodec: Implement pipeline draining to support adaptive scenarios
2718 When draining due a format change also drain
2719 the pipeline to reclaim back all buffers.
2720 https://bugzilla.gnome.org/show_bug.cgi?id=726107
2722 2014-03-27 13:57:32 +0100 Josep Torra <n770galaxy@gmail.com>
2724 * examples/egl/testegl.c:
2725 examples: fix several memory leaks in the testegl example
2726 Ensure to call to image_data_free in order to release GPU resources.
2727 Also ensure to destroy EGLImage and GLTexture from proper
2729 https://bugzilla.gnome.org/show_bug.cgi?id=726107
2731 2014-03-25 17:16:31 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
2733 * examples/egl/testegl.c:
2734 examples: keep a ref on the buffer instead of the memory
2736 https://bugzilla.gnome.org/show_bug.cgi?id=726107
2738 2014-03-07 20:08:05 +0100 Josep Torra <n770galaxy@gmail.com>
2740 * omx/gstomxvideodec.c:
2741 omxvideodec: fixes race condition during seeks
2742 Acording 6.1.3 Seek Event Sequence in the OpenMAX IL 1.1.2 spec
2743 document in order to flush the component it needs to be in
2745 https://bugzilla.gnome.org/show_bug.cgi?id=726038
2747 2014-01-29 18:31:26 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
2749 * omx/gstomxvideodec.c:
2750 omxvideodec: use flush because reset is deprecated
2751 https://bugzilla.gnome.org/show_bug.cgi?id=726038
2753 2014-01-27 17:03:50 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
2755 * omx/gstomxvideodec.c:
2756 omxvideodec: populate the most downstream output port on reset
2757 Make seeking work when using egl_render component
2758 https://bugzilla.gnome.org/show_bug.cgi?id=726038
2760 2014-03-24 17:49:59 +0100 Josep Torra <n770galaxy@gmail.com>
2762 * omx/gstomxbufferpool.c:
2763 omxbufferpool: return buffers to the pool instead of freeing them
2764 We have to return the buffers back to the pool in when stopping to
2765 not mess with the GstBufferPool accounting.
2766 The OMX buffers will be freed when those won't be in charge of the
2767 pool in the chained up call to 'stop'.
2768 Fixes segfaults on finalize and pool not being properly deactivated.
2769 https://bugzilla.gnome.org/show_bug.cgi?id=726337
2771 2014-03-19 12:12:49 +0100 Christian König <christian.koenig@amd.com>
2773 * omx/gstomxvideodec.c:
2774 omxvideodec: add missing unlock in the error path
2775 Signed-off-by: Christian König <christian.koenig@amd.com>
2776 https://bugzilla.gnome.org/show_bug.cgi?id=726958
2778 2014-03-18 23:36:59 +0100 Michal Lazo <xlazom00@gmail.com>
2780 * omx/gstomxh264enc.c:
2781 * omx/gstomxh264enc.h:
2784 2014-03-17 09:57:11 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
2786 * omx/gstomxbufferpool.c:
2787 omxbufferpool: fix memory leak if used on output port
2788 When using GstOMXBufferPool on an output port, it internally uses
2789 a GPtrArray to manage the GstBuffers instead of the default queue
2790 from the GstBufferPool base class.
2791 In this case GstBufferPool::default_free_buffer is not called when
2792 the pool is stopped. Because the queue is empty. So explicitely
2793 call gst_omx_buffer_pool_free_buffer on each buffer contained in
2795 https://bugzilla.gnome.org/show_bug.cgi?id=726337
2797 2014-03-16 17:32:05 +0100 Sebastian Dröge <sebastian@centricular.com>
2799 * omx/gstomxh264enc.c:
2800 omxh264enc: Fix compiler warnings
2802 2014-03-16 17:19:08 +0100 Michal Lazo <xlazom00@gmail.com>
2804 * omx/gstomxh264enc.c:
2805 * omx/gstomxh264enc.h:
2806 omxh264enc: IDR interval, SPS and PPS headers for rpi
2807 https://bugzilla.gnome.org/show_bug.cgi?id=720031
2809 2014-03-13 14:26:58 +0100 Christian König <christian.koenig@amd.com>
2813 * omx/gstomxvideo.c:
2814 omxvideo: fix debug category initialisation
2815 https://bugzilla.gnome.org/show_bug.cgi?id=726024
2817 2014-03-13 19:04:47 +0100 Christian König <christian.koenig@amd.com>
2819 * omx/gstomxbufferpool.h:
2820 omxbufferpool: add proper type definitions
2821 https://bugzilla.gnome.org/show_bug.cgi?id=726325
2823 2014-03-02 10:30:04 +0100 Christian König <christian.koenig@amd.com>
2826 omx: consolidate message waiting code
2827 Add a wait_message helper function and remove all those duplicated code.
2828 https://bugzilla.gnome.org/show_bug.cgi?id=725493
2830 2014-03-12 12:48:12 +0100 Sebastian Dröge <sebastian@centricular.com>
2832 * omx/gstomxvideo.c:
2833 omx: Copy old copyright notice into the new file
2835 2014-03-12 12:47:34 +0100 Sebastian Dröge <sebastian@centricular.com>
2837 * omx/gstomxvideo.c:
2838 * omx/gstomxvideo.h:
2839 * omx/gstomxvideodec.c:
2840 * omx/gstomxvideoenc.c:
2841 omx: Rename function from _4_ to _for_ for clarity
2843 2014-03-03 16:15:24 +0100 Christian König <christian.koenig@amd.com>
2846 * omx/gstomxvideo.c:
2847 * omx/gstomxvideo.h:
2848 * omx/gstomxvideodec.c:
2849 * omx/gstomxvideoenc.c:
2850 omxvideo: start sharing more code between video decoder and encoder
2851 Identical functionality spread of two different components.
2852 We can't use a common base class because of different inheritance,
2853 but let's try to share the code anyway.
2854 https://bugzilla.gnome.org/show_bug.cgi?id=726024
2856 2014-03-12 12:43:49 +0100 Sebastian Dröge <sebastian@centricular.com>
2858 * examples/egl/Makefile.am:
2859 examples: Only build RPi EGL example if RPi was chosen as target
2861 2014-03-12 12:42:23 +0100 Sebastian Dröge <sebastian@centricular.com>
2863 * omx/gstomxbufferpool.h:
2864 omxbufferpool: Fix header include guard
2866 2014-03-05 11:41:02 +0100 Christian König <christian.koenig@amd.com>
2869 * omx/gstomxbufferpool.c:
2870 * omx/gstomxbufferpool.h:
2871 * omx/gstomxvideodec.c:
2872 omxvideodec: separate the buffer pool from the decoder
2873 https://bugzilla.gnome.org/show_bug.cgi?id=726025
2875 2014-03-04 17:41:20 +0100 Christian König <christian.koenig@amd.com>
2879 * omx/gstomxvideodec.c:
2880 omx: simplify tunnel functions
2881 Specifying the component is error prone and unnecessary.
2882 https://bugzilla.gnome.org/show_bug.cgi?id=726021
2884 2014-03-07 17:12:24 +0100 Christian König <christian.koenig@amd.com>
2886 * omx/gstomxvideodec.c:
2887 omxvideodec: fix memory leak in gst_omx_video_dec_allocate_output_buffers
2888 https://bugzilla.gnome.org/show_bug.cgi?id=725907
2890 2014-03-07 13:18:49 +0100 Christian König <christian.koenig@amd.com>
2892 * omx/gstomxvideodec.c:
2893 omxvideodec: fix memory leak gst_omx_video_dec_negotiate
2894 https://bugzilla.gnome.org/show_bug.cgi?id=725907
2896 2014-03-05 18:54:05 +0100 Christian König <christian.koenig@amd.com>
2898 * omx/gstomxvideoenc.c:
2899 omxvideoenc: fix a memory leak in gst_omx_video_enc_getcaps
2900 https://bugzilla.gnome.org/show_bug.cgi?id=725826
2902 2014-03-05 17:43:33 +0100 Josep Torra <n770galaxy@gmail.com>
2905 Makefile.am: build examples
2906 There's no reason to not build the examples now that are ported to 1.x.
2908 2014-03-05 17:25:09 +0100 Josep Torra <n770galaxy@gmail.com>
2910 * examples/egl/testegl.c:
2911 examples: avoid a clashing name with the recently added GstEGLImagePool
2912 Fixes build with current master.
2914 2013-09-05 03:41:10 -0600 Christian König <christian.koenig@amd.com>
2916 * omx/gstomxvideoenc.c:
2917 omxvideoenc: simplify _find_nearest_frame
2918 Just the same as we did with the decoder. Also give the
2919 function a gst_omx_video_enc prefix to distinct it from
2920 the decoder function.
2921 https://bugzilla.gnome.org/show_bug.cgi?id=724236
2923 2013-09-05 02:23:39 -0600 Christian König <christian.koenig@amd.com>
2925 * omx/gstomxvideodec.c:
2926 omxvideodec: simplify _find_nearest_frame
2927 No need to make it more complicated and error prone than
2928 necessary. Also give the function a gst_omx_video_dec prefix
2929 to distinct it from the encoder function.
2930 https://bugzilla.gnome.org/show_bug.cgi?id=724236
2932 2013-09-05 02:05:52 -0600 Christian König <christian.koenig@amd.com>
2934 * omx/gstomxvideodec.c:
2935 omxvideodec: remove dead code
2936 This code doesn't seems to be used for quite a while,
2937 remove it before it starts to rot.
2938 https://bugzilla.gnome.org/show_bug.cgi?id=724236
2940 2014-03-01 22:28:24 +0100 Christian König <christian.koenig@amd.com>
2943 omx: fix two serious message handling bugs
2944 Waiting for the next message if we already got one
2945 is nonsense and can lead to lockups.
2946 https://bugzilla.gnome.org/show_bug.cgi?id=725468
2948 2014-03-01 18:49:41 +0100 Christian König <christian.koenig@amd.com>
2950 * omx/gstomxvideoenc.c:
2951 omxvideoenc: fix startup race condition
2952 The reset function shouldn't start the src pad
2953 loop if it wasn't started before.
2954 Signed-off-by: Christian König <christian.koenig@amd.com>
2956 2014-03-01 18:48:17 +0100 Christian König <christian.koenig@amd.com>
2958 * omx/gstomxvideodec.c:
2959 omxvideodec: fix startup race condition
2960 The reset function shouldn't start the src pad
2961 loop if it wasn't started before.
2962 Signed-off-by: Christian König <christian.koenig@amd.com>
2964 2014-02-28 09:36:13 +0100 Sebastian Dröge <sebastian@centricular.com>
2967 Automatic update of common submodule
2968 From fe1672e to bcb1518
2970 2014-02-26 22:15:00 +0100 Stefan Sauer <ensonic@users.sf.net>
2973 Automatic update of common submodule
2974 From 1a07da9 to fe1672e
2976 2014-01-30 10:45:18 +0100 Edward Hervey <bilboed@bilboed.com>
2979 Automatic update of common submodule
2980 From d48bed3 to 1a07da9
2982 2014-01-25 17:44:14 +0100 Sebastian Dröge <sebastian@centricular.com>
2984 * omx/gstomxaudioenc.c:
2985 * omx/gstomxvideodec.c:
2986 * omx/gstomxvideoenc.c:
2987 omx: Don't handle FLUSHING and NOT_LINKED as errors
2988 Also don't stop the task on NOT_LINKED. We're not a demuxer.
2990 2013-12-22 22:35:31 +0000 Tim-Philipp Müller <tim@centricular.com>
2993 Automatic update of common submodule
2994 From dbedaa0 to d48bed3
2996 2013-11-05 11:22:02 +0000 Tim-Philipp Müller <tim@centricular.com>
2999 Automatic update of common submodule
3000 From 865aa20 to dbedaa0
3002 2013-09-28 13:32:37 +0200 Josep Torra <n770galaxy@gmail.com>
3004 * examples/egl/testegl.c:
3005 examples: simplify the thread synchronization code
3006 Make everithing more simple and fix the races conditions remaining in
3007 the previous approaches.
3009 2013-09-25 19:17:17 +0200 Sebastian Dröge <slomo@circular-chaos.org>
3011 * config/rpi/gstomx.conf:
3012 rpi: The WMV/VC1 decoder can only do WMV9 and VC1, no older versions
3014 2013-09-24 18:34:42 +0100 Tim-Philipp Müller <tim@centricular.net>
3017 Automatic update of common submodule
3018 From 6b03ba7 to 865aa20
3020 2013-09-24 18:48:24 +0200 Josep Torra <n770galaxy@gmail.com>
3022 * examples/egl/testegl.c:
3023 examples: fix another race condition
3024 Fix a race condition that caused randome deadlocks on EOS.
3026 2013-09-20 17:19:53 +0200 Josep Torra <n770galaxy@gmail.com>
3028 * config/rpi/gstomx.conf:
3029 rpi: fix a copy paste error in the config file
3031 2013-09-20 17:09:52 +0200 Josep Torra <n770galaxy@gmail.com>
3033 * examples/egl/testegl.c:
3034 examples: fix a race condition when seeking
3035 Fixes a race condition that caused pipeline deadlock during seeks.
3037 2013-09-20 10:38:12 +0200 Josep Torra <n770galaxy@gmail.com>
3039 * examples/egl/testegl.c:
3040 examples: display QoS statistics
3042 2013-09-20 09:34:37 +0200 Josep Torra <n770galaxy@gmail.com>
3044 * examples/egl/testegl.c:
3045 examples: use dedicated thread for rendering the scene
3046 Produces smother animation and prevents dropping frames due busy
3049 2013-09-20 08:25:21 +0200 Josep Torra <n770galaxy@gmail.com>
3051 * examples/egl/testegl.c:
3052 examples: don't force an specific audio sink
3053 Let playbin2 choose the audiosink available in the system.
3055 2013-09-20 08:19:48 +0200 Josep Torra <n770galaxy@gmail.com>
3057 * examples/egl/Makefile.am:
3058 examples: drop remnants of initial appsink attempt
3060 2013-09-20 16:18:18 +0200 Edward Hervey <edward@collabora.com>
3063 Automatic update of common submodule
3064 From b613661 to 6b03ba7
3066 2013-09-19 18:45:36 +0100 Tim-Philipp Müller <tim@centricular.net>
3069 Automatic update of common submodule
3070 From 74a6857 to b613661
3072 2013-09-19 17:38:30 +0100 Tim-Philipp Müller <tim@centricular.net>
3075 Automatic update of common submodule
3076 From 01a7a46 to 74a6857
3078 2013-08-20 16:00:07 +0100 Tim-Philipp Müller <tim@centricular.net>
3081 * omx/gstomxvideodec.c:
3082 omx: don't use the 'z' modifier to print size_t
3083 gcc will warn in some cases even if the size of the type
3084 is exactly that of size_t on the platform.
3085 https://bugzilla.gnome.org/show_bug.cgi?id=699008
3087 2013-07-01 15:48:47 +0200 Roman Arutyunyan <arutyunyan.roman@gmail.com>
3089 * omx/gstomxvideoenc.c:
3090 gstomxvideoenc: Set bitrate in setcaps
3091 Otherwise it gets lost whenever we configure new caps
3092 https://bugzilla.gnome.org/show_bug.cgi?id=698049
3094 2013-06-30 18:17:05 +0700 Ilya Smelykh <ilya@videoexpertsgroup.com>
3096 * examples/egl/testegl.c:
3097 examples: enable audio in testegl example
3099 2013-06-12 09:38:22 +0200 Sebastian Dröge <slomo@circular-chaos.org>
3102 configure: Allow build without gstreamer-egl
3104 2013-06-07 12:39:18 +0700 Ilya Smelykh <ilya@videoexpertsgroup.com>
3106 * examples/egl/Makefile.am:
3107 * examples/egl/testegl.c:
3108 examples: testegl example port to 1.x
3109 https://bugzilla.gnome.org/show_bug.cgi?id=701706
3111 2013-06-05 15:17:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3114 Automatic update of common submodule
3115 From 098c0d7 to 01a7a46
3117 2013-05-20 12:06:34 +0200 Josep Torra <n770galaxy@gmail.com>
3119 * omx/gstomxaudioenc.c:
3120 * omx/gstomxvideodec.c:
3121 * omx/gstomxvideoenc.c:
3122 omx: Take lock on EOS to update the flow return value
3123 Fixes "GThread-ERROR **: file gthread-posix.c: line 171
3124 (g_mutex_free_posix_impl): error 'Device or resource busy' during
3125 'pthread_mutex_destroy ((pthread_mutex_t *) mutex)'" in _finalize.
3127 2013-05-15 10:54:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3130 Automatic update of common submodule
3131 From 5edcd85 to 098c0d7
3133 2013-04-11 17:35:19 +0200 Josep Torra <n770galaxy@gmail.com>
3137 * examples/Makefile.am:
3138 * examples/egl/Makefile.am:
3139 * examples/egl/cube_texture_and_coords.h:
3140 * examples/egl/testegl.c:
3141 examples: add an example aplication based OpenGL ES + EGL
3142 Application that shows how to integrate playbin with an OpenGL ES
3143 scene through EGL. Renders a video on the surfaces of an animated cube.
3144 The code is not ported to 1.x so it's not built by default.
3146 2013-05-10 12:25:07 +0200 Josep Torra <n770galaxy@gmail.com>
3148 * omx/gstomxvideodec.c:
3149 omxvideodec: Redesign video size change reconfiguration code
3150 Ensure stop the decoder before clossing the tunnel.
3152 2013-05-06 16:25:27 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3155 Makefile.am: Add -I common/m4
3156 This allows autoreconf to work correctly and automatic regeneration
3157 of autotools files if something changed.
3159 2013-05-06 19:03:59 +0530 jitendra <jvarshney20@gmail.com>
3163 * omx/gstomxaudioenc.c:
3164 * omx/gstomxvideodec.c:
3165 * omx/gstomxvideoenc.c:
3166 omx: Add pads based on element type
3167 This allows to later add sources and sink that only have a srcpad
3169 https://bugzilla.gnome.org/show_bug.cgi?id=699754
3171 2013-04-27 02:50:25 +0200 Carlos Rafael Giani <dv@pseudoterminal.org>
3174 omx: fixed type error in printf call
3176 https://bugzilla.gnome.org/show_bug.cgi?id=699008
3178 2013-04-08 17:26:16 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
3182 * omx/gstomxvideodec.c:
3183 Check for gstreamer-egl
3184 And don't use if not available.
3185 https://bugzilla.gnome.org/show_bug.cgi?id=697574
3187 2013-04-23 09:53:18 +0100 Tim-Philipp Müller <tim@centricular.net>
3190 configure: error out if no OMX target has been set explicitly with --with-omx-target=x
3191 Avoids people building for e.g. the Raspberry Pi and then wondering
3192 why things don't work as expected (since structs are packed differently
3195 2013-04-22 23:55:03 +0100 Tim-Philipp Müller <tim@centricular.net>
3198 Automatic update of common submodule
3199 From 3cb3d3c to 5edcd85
3201 2013-04-18 22:07:28 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
3204 * omx/gstomxaudioenc.c:
3205 * omx/gstomxh263enc.c:
3206 * omx/gstomxh264enc.c:
3207 * omx/gstomxmpeg4videoenc.c:
3208 * omx/gstomxvideodec.c:
3209 * omx/gstomxvideoenc.c:
3210 omx: more printf format fixes
3211 Fix printf formats again, so that gst-omx compiles warning-
3212 free on the Raspberry Pi as well. Unfortunately OMX_UINT32
3213 maybe be typedefed to uint32_t or unsigned long, which
3214 doesn't work well with our debugging printf format strings,
3215 so just use %u for those and cast to guint.
3217 2013-04-18 16:40:06 +0200 Josep Torra <n770galaxy@gmail.com>
3220 omx: fixes unused variable 'comp' when GStreamer is built without debug
3222 2013-04-18 16:03:56 +0200 Josep Torra <n770galaxy@gmail.com>
3224 * omx/gstomxvideodec.c:
3225 omxvideodec: don't use 'self->dec_out_port' anymore and use just 'port'
3226 Fixes some criticals.
3228 2013-04-18 15:21:32 +0200 Josep Torra <n770galaxy@gmail.com>
3230 * omx/gstomxvideodec.c:
3231 omxvideodec: fixes 'port' may be used uninitialized in this function
3233 2013-04-18 12:03:31 +0200 Josep Torra <n770galaxy@gmail.com>
3235 * omx/gstomxvideodec.c:
3236 omxvideodec: silence warnings building for RPI related to 'vcos_*'
3238 2013-04-18 11:19:52 +0200 Josep Torra <n770galaxy@gmail.com>
3240 * omx/gstomxvideodec.c:
3241 omxvideodec: Use new type from libgstvideo
3243 2013-04-16 14:50:49 +0530 jitendra <jvarshney20@gmail.com>
3245 * omx/gstomxaudioenc.c:
3246 * omx/gstomxvideodec.c:
3247 * omx/gstomxvideoenc.c:
3248 omx: Disable output port before transition to idle state
3249 https://bugzilla.gnome.org/show_bug.cgi?id=698109
3251 2012-10-24 12:19:41 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3254 gst: Add better support for static plugins
3256 2013-04-14 17:57:34 +0100 Tim-Philipp Müller <tim@centricular.net>
3259 Automatic update of common submodule
3260 From aed87ae to 3cb3d3c
3262 2013-04-12 17:58:30 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
3265 configure: add --disable-fatal-warnings for disabling -Werror
3267 2013-04-09 21:02:09 +0200 Stefan Sauer <ensonic@users.sf.net>
3270 Automatic update of common submodule
3271 From 04c7a1e to aed87ae
3273 2013-04-08 17:02:32 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
3276 * omx/gstomxaudioenc.c:
3277 * omx/gstomxh263enc.c:
3278 * omx/gstomxh264enc.c:
3279 * omx/gstomxmpeg4videoenc.c:
3280 * omx/gstomxvideodec.c:
3281 * omx/gstomxvideoenc.c:
3282 omx: fix printf formats in debug messages
3283 OMX_U32 is typedefed to an unsigned long,
3284 OMX_TICKS to a 64-bit integer.
3286 2013-04-08 16:52:19 +0200 Josep Torra <n770galaxy@gmail.com>
3288 * omx/gstomxvideodec.c:
3289 omxvideodec: use the correct printf format in a debug message
3291 2013-04-08 16:31:33 +0200 Josep Torra <n770galaxy@gmail.com>
3293 * omx/gstomxvideodec.c:
3294 omxvideodec: use the correct OMX_IndexParam value
3295 Fixes playback is not smooth in the EGL path.
3297 2013-04-05 13:45:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3299 * omx/gstomxvideodec.c:
3300 omxvideodec: Don't use API that is not in master yet
3301 It's not really needed here yet, will be needed in future versions
3303 2013-02-25 11:55:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3309 * omx/gstomxvideodec.c:
3310 * omx/gstomxvideodec.h:
3311 omxvideodec: Add support for egl_render on RPi
3313 2013-03-22 19:26:54 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
3318 2013-03-22 19:23:14 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
3320 * omx/gstomxh263enc.c:
3321 * omx/gstomxh264enc.c:
3322 * omx/gstomxmpeg4videoenc.c:
3323 omx: fix compiler warnings when compiling with -DG_DISABLE_ASSERT
3324 As we do for releases. Fixes 'variable may be used uninitialized'
3327 === release 1.0.0 ===
3329 2013-03-22 17:16:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3340 2013-03-19 16:40:09 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
3342 * omx/gstomxtheoradec.h:
3343 * omx/gstomxvp8dec.h:
3344 omx: fix typo in copyright headers
3346 2013-03-19 13:46:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3348 * config/rpi/gstomx.conf:
3349 rpi: Fix commit that added the VC1 decoder
3351 2013-03-19 13:27:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3353 * config/rpi/gstomx.conf:
3354 * omx/gstomxh263dec.c:
3355 * omx/gstomxh264dec.c:
3356 * omx/gstomxmjpegdec.c:
3357 * omx/gstomxmpeg2videodec.c:
3358 * omx/gstomxmpeg4videodec.c:
3359 * omx/gstomxtheoradec.c:
3360 * omx/gstomxvideodec.c:
3361 * omx/gstomxvp8dec.c:
3362 * omx/gstomxwmvdec.c:
3363 omx: Add more constraints to the default sink template caps
3365 2013-03-19 13:10:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3367 * config/rpi/gstomx.conf:
3368 rpi: Add VC1/WMV3 decoder
3369 WMV2 and WMV1 (aka WMV 1-8) are not supported by RPi.
3371 2013-03-19 12:59:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3373 * config/rpi/gstomx.conf:
3374 rpi: Add MJPEG decoder
3376 2013-03-19 12:56:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3378 * config/rpi/gstomx.conf:
3379 rpi: Add VP8 decoder
3381 2013-03-19 12:55:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3383 * omx/gstomxvideodec.c:
3384 omxvideodec: Set ENDOFFRAME flag for the end of frames
3386 2013-03-19 12:28:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3388 * config/rpi/gstomx.conf:
3389 rpi: Add Theora decoder to the config
3391 2013-03-19 09:36:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3396 * omx/gstomxtheoradec.c:
3397 * omx/gstomxtheoradec.h:
3398 omx: Add Theora decoder
3400 2013-03-18 16:43:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3403 omx: Remove additional comma
3405 2013-03-18 16:34:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3407 * config/rpi/gstomx.conf:
3410 * omx/gstomxmpeg2dec.h:
3411 * omx/gstomxmpeg2videodec.c:
3412 * omx/gstomxmpeg2videodec.h:
3413 omx: Rename MPEG2 decoder for consistency everywhere
3415 2013-03-18 16:30:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3419 * omx/gstomxmjpegdec.c:
3420 * omx/gstomxmjpegdec.h:
3421 omx: Add MJPEG decoder support
3423 2013-03-18 16:06:54 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3428 * omx/gstomxvp8dec.c:
3429 * omx/gstomxvp8dec.h:
3430 omx: Add VP8 decoder support
3432 2013-03-18 15:44:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3434 * config/rpi/gstomx.conf:
3435 rpi: Add h263 decoder and rename MPEG2 decoder for consistency
3437 2013-03-16 13:20:27 +0000 Tim-Philipp Müller <tim@centricular.net>
3439 * omx/gstomxmpeg2dec.c:
3440 omxmpeg2dec: mpeg-2 decoder should be able to handle mpeg-1 too
3441 https://bugzilla.gnome.org/show_bug.cgi?id=695879
3443 2013-03-16 10:13:06 +0100 Josep Torra <n770galaxy@gmail.com>
3446 omx: minor stylistic change for consistency with other similar code
3448 2013-03-16 10:00:24 +0100 Josep Torra <n770galaxy@gmail.com>
3450 * omx/gstomxaudioenc.c:
3451 * omx/gstomxvideodec.c:
3452 * omx/gstomxvideoenc.c:
3453 omx: Clarify that loop task is also paused in EOS
3455 2013-03-16 09:59:01 +0100 Josep Torra <n770galaxy@gmail.com>
3457 * omx/gstomxvideoenc.c:
3458 omxvideoenec: Don't forget propagate flow return value upstream
3460 2013-03-15 13:16:39 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
3463 omx: improve debug logging some more
3465 2013-03-15 14:09:45 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3467 * omx/gstomxvideodec.c:
3468 omxvideodec: Make sure that the first frame we pass to OpenMAX is a sync frame
3470 2013-03-15 11:46:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3472 * omx/gstomxaudioenc.c:
3473 * omx/gstomxvideodec.c:
3474 * omx/gstomxvideoenc.c:
3475 omx: Stop output port task after draining
3477 2013-03-15 10:58:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3480 omx: Reset EOS flag in more places
3482 2013-03-15 10:38:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3484 * omx/gstomxvideodec.c:
3485 omxvideodec: Deallocate output buffers with the right function
3487 2013-03-15 01:06:05 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
3491 omx: log commands as strings
3492 Makes logs easier to read.
3494 2013-03-15 00:47:47 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
3498 omx: log states as strings
3500 2013-03-15 00:28:02 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
3504 omx: log component name in debug messages
3505 Useful when we have more different components
3506 active at the same time.
3508 2013-03-15 09:51:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3510 * omx/gstomxvideodec.c:
3511 omxvideodec: Don't interpolate timestamps
3512 We will get exactly one frame per input buffer and assigning
3513 timestamps between frames if more than one OMX buffer is required
3514 per frame easily confuses timestamp tracking in OMX.
3516 2013-03-15 09:32:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3518 * omx/gstomxvideodec.c:
3519 omxvideodec: Give the codec_data the timestamp of the first frame and no duration
3521 2013-03-14 17:31:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3523 * config/rpi/gstomx.conf:
3524 omx: The MPEG4 encoder is not available on RPi and probably never will
3526 2013-03-14 17:26:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3529 omx: Reset some more buffer fields as required
3531 2013-03-14 17:01:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3533 * config/rpi/gstomx.conf:
3535 omx: The hack to disable usage of EOS buffers is not necessary anymore on RPi
3537 2013-03-14 17:00:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3540 omx: Reset the flags for output ports when releasing a buffer, not for input ports
3542 2013-03-14 15:03:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3544 * omx/gstomxh263enc.c:
3545 * omx/gstomxh264enc.c:
3546 * omx/gstomxmpeg4videoenc.c:
3547 omx: Only unref caps after usage of its fields
3549 2013-03-14 14:51:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3551 * omx/gstomxvideodec.c:
3552 omxvideodec: Simplify bufferpool implementation
3554 2013-03-13 13:23:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3556 * omx/gstomxvideodec.c:
3557 omxvideodec: Improve min/max buffer counts handling
3559 2013-03-14 12:49:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3563 * omx/gstomxaudioenc.c:
3564 * omx/gstomxvideodec.c:
3565 * omx/gstomxvideoenc.c:
3566 omx: Handle the OMX_EventBufferFlag to detect EOS too
3568 2013-03-13 10:29:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3572 omx: Mark OpenMAX buffers as EGLImage if they contain one
3573 Needs special handling in some places, e.g. because nFilledLen
3576 2013-03-13 10:21:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3578 * omx/gstomxvideoenc.c:
3579 omxvideoenc: Properly check the nVersion field
3581 2013-03-13 09:34:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3583 * omx/gstomxvideoenc.c:
3584 omxvideoenc: RPi returns garbage for OMX_IndexParamVideoBitrate, work around that
3586 2013-03-12 20:02:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3588 * omx/gstomxvideodec.c:
3589 omxvideodec: Make sure to always get the right buffer
3591 2013-03-12 19:35:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3593 * omx/gstomxvideodec.c:
3594 omxvideodec: Make sure the buffer is released to the pool if it's not the one we wanted
3596 2013-03-12 19:17:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3598 * omx/gstomxvideodec.c:
3599 omxvideodec: Drop too late frames instead of finishing them
3601 2013-03-12 19:16:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3603 * omx/gstomxvideodec.c:
3604 omx: Release buffers to the correct port
3606 2013-03-13 09:37:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3609 omx: Always load the OpenMAX IL cores with G_MODULE_BIND_LOCAL
3611 2013-03-12 18:20:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3614 omx: Lazy-load symbols of libbcm_host.so
3615 It exports eglIntOpenMAXILDoneMarker(), which is also
3616 exported by libopenmaxil.so... but we need the version
3617 from libopenmaxil.so as the other one is just a stub.
3619 2013-03-11 13:59:15 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3621 * omx/gstomxaacenc.c:
3622 * omx/gstomxh263enc.c:
3623 * omx/gstomxmpeg4videoenc.c:
3624 omx: Don't set profile/level in other encoders if downstream caps don't specify any
3626 2013-03-11 13:49:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3628 * omx/gstomxh264enc.c:
3629 omxh264enc: If caps specify no profile/level use the component's defaults
3631 2013-03-11 13:45:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3633 * omx/gstomxvideoenc.c:
3634 omxvideoenc: Always allocate output buffers from the loop function
3636 2013-03-11 13:12:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3638 * omx/gstomxh264enc.c:
3639 omxh264enc: The h264 encoders are supposed to output byte-stream/au
3641 2013-03-11 11:47:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3643 * omx/gstomxvideoenc.c:
3644 omxvideoenc: Wait until the Executing state is reached before passing buffers to the component
3646 2013-03-11 10:39:25 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3648 * omx/gstomxvideodec.c:
3649 omxvideodec: Don't provide buffers to downstream
3650 This only works reliable if we have a way to tell downstream to
3651 release all our buffers for reconfiguration.
3653 2013-03-11 10:29:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3655 * omx/gstomxaudioenc.c:
3656 omxaudioenc: Disable output port when setting a new format
3658 2013-03-11 10:29:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3660 * omx/gstomxvideoenc.c:
3661 omxvideoenc: Disable output port when setting a new format
3663 2013-03-11 10:22:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3665 * omx/gstomxvideodec.c:
3666 omxvideodec: Disable output port when setting a new format
3667 Based on a patch by Josep Torra <n770galaxy@gmail.com>
3669 2013-03-11 10:04:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3671 * omx/gstomxaudioenc.c:
3672 * omx/gstomxvideodec.c:
3673 * omx/gstomxvideoenc.c:
3674 omx: Catch errors when releasing buffers to a port and handle them
3676 2013-03-10 12:09:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3678 * omx/gstomxvideoenc.c:
3679 omxvideoenc: Use the correct video codec state when filling an input buffer
3681 2013-03-10 12:05:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3683 * omx/gstomxvideoenc.c:
3684 omxvideoenc: Store correct input state
3686 2013-03-10 11:27:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3688 * omx/gstomxvideoenc.c:
3689 omxvideoenc: Allocate output buffers as early as possible
3691 2013-03-10 11:01:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3694 omx: Log unknown events
3696 2013-03-09 14:14:40 +0100 Josep Torra <n770galaxy@gmail.com>
3698 * omx/gstomxaudioenc.c:
3699 * omx/gstomxvideodec.c:
3700 * omx/gstomxvideoenc.c:
3701 omx: Fix deadlock in encoders and add explainatory comments.
3703 2013-03-09 13:27:08 +0100 Josep Torra <n770galaxy@gmail.com>
3705 * omx/gstomxvideodec.c:
3706 omxvideodec: fix printf format identifier
3708 2013-03-09 13:07:59 +0100 Josep Torra <n770galaxy@gmail.com>
3710 * omx/gstomxvideodec.c:
3711 omx: Minor changes on debuging info
3713 2013-03-09 13:00:33 +0100 Josep Torra <n770galaxy@gmail.com>
3715 * omx/gstomxvideodec.c:
3716 omxvideodec: avoid a deadlock
3718 2013-03-08 15:56:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3720 * omx/gstomxvideodec.c:
3721 omxvideodec: Don't forget to populate output port
3723 2013-03-08 15:11:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3725 * omx/gstomxaudioenc.c:
3726 * omx/gstomxvideodec.c:
3727 * omx/gstomxvideoenc.c:
3728 omx: Flush and stop srcpad when configuring new caps
3730 2013-03-07 17:40:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3732 * config/rpi/gstomx.conf:
3734 Revert "omx: use no-component-reconfigure hack on the Raspberry PI"
3735 This reverts commit e123b2089f69a413241f30a2428ea6edd8f231e7.
3736 It's not required anymore after the fix from the last commit.
3738 2013-03-07 17:38:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3740 * omx/gstomxvideodec.c:
3741 omxvideodec: Only negotiate a color format with downstream on the initial caps
3743 2013-03-07 17:29:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3745 * omx/gstomxvideodec.c:
3746 omxvideodec: Make sure the output port is disabled while we allocate buffers
3748 2013-03-07 17:27:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3751 omx: Also wait for disabled output ports to be reconfigured
3753 2013-03-07 14:10:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3755 * omx/gstomxvideodec.c:
3756 * omx/gstomxvideodec.h:
3757 omxvideodec: Add buffer pool for sharing OpenMAX memory with downstream
3759 2013-03-07 11:11:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3763 * omx/gstomxaudioenc.c:
3764 * omx/gstomxvideodec.c:
3765 * omx/gstomxvideoenc.c:
3766 omx: Add timeout to the flush operation and move buffer populating to a separate function
3768 2013-03-06 17:33:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3770 * config/rpi/gstomx.conf:
3773 omx: Remove min buffer count hack for RPi again
3774 It's not necessary anymore
3776 2013-03-06 17:05:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3780 * omx/gstomxaudioenc.c:
3781 * omx/gstomxvideodec.c:
3782 * omx/gstomxvideoenc.c:
3783 omx: Do number of buffers configuration explicitely
3785 2013-03-07 11:24:54 +0100 Josep Torra <n770galaxy@gmail.com>
3787 * omx/gstomxvideodec.c:
3788 omxvideodec: fixes reconfiguration
3789 Avoid having fixed fields from previous caps on reconfiguration.
3791 2013-03-07 11:02:39 +0100 Josep Torra <n770galaxy@gmail.com>
3793 * config/rpi/gstomx.conf:
3795 omx: use no-component-reconfigure hack on the Raspberry PI
3797 2013-03-07 00:03:28 +0000 Tim-Philipp Müller <tim@centricular.net>
3800 Automatic update of common submodule
3801 From 2de221c to 04c7a1e
3803 2013-03-01 15:32:47 +0100 Josep Torra <n770galaxy@gmail.com>
3805 * omx/gstomxvideoenc.h:
3806 omxvideoenc: drop unused data member
3808 2013-03-01 12:23:54 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3810 * omx/gstomxh263enc.c:
3811 * omx/gstomxh264enc.c:
3812 * omx/gstomxmpeg4videoenc.c:
3813 omxvideoenc: And set it actually on the right port
3815 2013-03-01 12:18:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3817 * omx/gstomxh263enc.c:
3818 * omx/gstomxh264enc.c:
3819 * omx/gstomxmpeg4videoenc.c:
3820 omxvideoenc: Set the coding type in the subclasses to the specific codec
3822 2013-03-01 11:49:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3824 * omx/gstomxvideoenc.c:
3825 omxvideoenc: gst_omx_port_update_port_definition() returns a OMX_ERRORTYPE, not a gboolean
3827 2013-03-01 11:44:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3829 * omx/gstomxvideodec.c:
3830 * omx/gstomxvideoenc.c:
3831 omxvideo{dec,enc}: Don't use the input state if it wasn't set yet
3833 2013-03-01 11:25:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3835 * omx/gstomxaudioenc.c:
3836 omxaudioenc: Only enable the output port after we know the output format
3838 2013-03-01 11:24:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3840 * omx/gstomxvideoenc.c:
3841 omxvideoenc: Only enable the output port after we know the output format
3843 2013-02-28 17:02:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3845 * omx/gstomxvideodec.c:
3846 omxvideodec: Only enable the output port after we know the output format
3848 2013-03-01 11:18:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3852 omx: Handle errors more gracefully
3854 2013-02-28 15:48:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3858 * omx/gstomxaudioenc.c:
3859 * omx/gstomxh263dec.c:
3860 * omx/gstomxh264dec.c:
3861 * omx/gstomxmpeg2dec.c:
3862 * omx/gstomxmpeg4videodec.c:
3863 * omx/gstomxvideodec.c:
3864 * omx/gstomxwmvdec.c:
3865 omx: Return the OMX_ERRORTYPE from gst_omx_port_update_port_definition
3867 2013-02-28 15:37:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3870 omx: Return port definition update errors
3872 2013-02-28 13:57:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3874 * config/rpi/gstomx.conf:
3877 omx: Add hack for RPi for the minimum number of buffers required for a port
3878 The value in the port definition is invalid and the initial actual
3879 buffer count should be used.
3881 2013-02-28 13:26:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3884 omx: Always tell the component about the right number of buffers that we're going to allocate
3886 2013-02-28 13:07:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3889 omx: Invert assertion to let it express what was intended
3891 2013-02-28 11:19:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3895 * omx/gstomxaudioenc.c:
3896 * omx/gstomxvideodec.c:
3897 * omx/gstomxvideoenc.c:
3898 omx: Add API for allocating a specific number of buffers and using EGLImages or buffers allocated elsewhere
3900 2013-02-27 16:55:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3902 * omx/gstomxaudioenc.c:
3903 * omx/gstomxvideodec.c:
3904 * omx/gstomxvideoenc.c:
3905 omx: Refactor code flow a bit if output port settings have changed
3907 2013-02-27 15:49:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3911 * omx/gstomxaudioenc.c:
3912 * omx/gstomxvideodec.c:
3913 * omx/gstomxvideoenc.c:
3914 omx: Clean up port settings change handling
3916 2013-02-27 11:30:14 +0100 Josep Torra <n770galaxy@gmail.com>
3918 * omx/gstomxvideodec.c:
3919 omxvideodec: initialize param structure before using it
3921 2013-02-27 10:21:39 +0100 Josep Torra <n770galaxy@gmail.com>
3923 * omx/gstomxvideoenc.c:
3924 omxvideoenc: prevent a NULL pointer access
3926 2013-02-26 17:25:49 +0100 Josep Torra <n770galaxy@gmail.com>
3928 * omx/gstomxvideodec.c:
3929 omxvideodec: prevent a NULL pointer access
3931 2013-02-25 13:11:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3934 omx: Fix deadlock during reconfiguration
3936 2013-02-25 12:38:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3939 * omx/gstomxaudioenc.c:
3940 * omx/gstomxvideodec.c:
3941 * omx/gstomxvideoenc.c:
3942 omx: Auto-detect the port indizes if possible
3944 2013-02-25 11:42:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3946 * omx/gstomxvideodec.c:
3947 * omx/gstomxvideoenc.c:
3948 omx: Refactor querying of component supported caps into its own function
3950 2013-02-25 10:41:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3954 * omx/gstomxaudioenc.c:
3955 * omx/gstomxvideodec.c:
3956 * omx/gstomxvideoenc.c:
3957 omx: Refactor waiting for buffers to be released by the component to a separate function
3959 2013-01-11 17:44:13 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3963 omx: Add methods to set up and close a tunnel between components
3965 2013-02-25 09:15:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3967 * omx/gstomxaacenc.c:
3968 * omx/gstomxaudioenc.c:
3969 * omx/gstomxaudioenc.h:
3970 omxaudioenc: Rename component variable
3972 2013-02-25 09:15:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3974 * omx/gstomxh263enc.c:
3975 * omx/gstomxh264enc.c:
3976 * omx/gstomxmpeg4videoenc.c:
3977 * omx/gstomxvideoenc.c:
3978 * omx/gstomxvideoenc.h:
3979 omxvideoenc: Rename component variable
3981 2013-02-25 09:12:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3983 * omx/gstomxvideodec.c:
3984 * omx/gstomxvideodec.h:
3985 omxvideodec: Rename component variable
3987 2013-02-22 16:27:33 +0100 Josep Torra <n770galaxy@gmail.com>
3989 * omx/gstomxvideoenc.c:
3990 omxvideoenc: remove duplicated line
3992 2013-02-22 10:42:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3995 Retry loading libbcm_host.so without an absolute path if that failed
3997 2013-02-21 20:32:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3999 * config/bellagio/Makefile.am:
4000 Add missing file from last commit
4002 2013-02-21 11:01:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4004 * config/Makefile.am:
4005 * config/bellagio/gstomx.conf:
4008 Add OpenMAX IL target for Bellagio
4009 Not tested since a very long time though.
4011 2013-02-21 10:59:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4015 Allow using external OpenMAX IL headers
4017 2013-02-21 10:14:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4022 2013-02-21 10:13:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4024 * config/Makefile.am:
4025 * config/rpi/Makefile.am:
4026 * config/rpi/gstomx.conf:
4028 Install the RPI config when the RPI target is selected
4030 2013-02-21 10:08:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4033 Set default hacks for the RPI target and always initialize bcm_host
4035 2013-02-21 10:05:37 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4038 Add configure parameter for setting the OpenMAX IL target
4040 2013-02-12 11:55:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4043 omx: Add FIXME for the future
4045 2013-02-12 11:49:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4049 * omx/gstomxaudioenc.c:
4050 * omx/gstomxaudioenc.h:
4051 * omx/gstomxvideodec.c:
4052 * omx/gstomxvideodec.h:
4053 * omx/gstomxvideoenc.c:
4054 * omx/gstomxvideoenc.h:
4055 omx: Some minor refactoring and cleanup
4057 2013-02-12 11:45:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4060 omx: Don't access the port's buffers array if it wasn't allocated yet
4062 2013-02-12 11:44:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4065 omx: Mark an array as const
4067 2013-02-12 11:41:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4071 * omx/gstomxaudioenc.c:
4072 * omx/gstomxvideodec.c:
4073 * omx/gstomxvideoenc.c:
4074 omx: Split enabling/disabling of port into sending the command and waiting for it
4075 This allows to do anything necessary after sending the command to actually let it finish
4077 2013-02-12 11:37:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4080 omx: Flushing is also allowed in Paused state
4082 2013-02-12 11:28:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4084 * omx/gstomxvideoenc.c:
4085 omxvideoenc: Set stride, slice height and buffer size
4087 2013-02-12 11:09:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4089 * config/raspberry-pi.conf:
4090 config: Add h264 and mpeg2 encoders to the raspberry pi config
4091 Not completely working yet though.
4093 2013-02-12 11:03:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4095 * omx/gstomxvideoenc.c:
4096 omxvideoenc: Properly negotiate OMX color format with the component
4098 2013-02-12 10:53:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4100 * omx/gstomxvideoenc.c:
4101 omxvideoenc: Implement getcaps() vfunc
4103 2013-01-29 21:32:53 +0000 Tim-Philipp Müller <tim@centricular.net>
4106 configure: use 1.0 gstconfig.h to detect disabled subsystems
4107 Update unused configure check for GStreamer core subsystem
4108 features from 0.10 to 1.0.
4110 2013-01-28 20:44:41 +0100 Stefan Sauer <ensonic@users.sf.net>
4113 Automatic update of common submodule
4114 From a942293 to 2de221c
4116 2013-01-24 14:02:36 +0100 Julian Scheel <julian@jusst.de>
4118 * config/raspberry-pi.conf:
4121 * omx/gstomxmpeg2dec.c:
4122 * omx/gstomxmpeg2dec.h:
4123 omx: add mpeg2 video decoder
4124 This adds a decoder class for mpeg2, as well as an extended
4125 configuration for raspberry pi.
4126 https://bugzilla.gnome.org/show_bug.cgi?id=692446
4127 Signed-off-by: Julian Scheel <julian@jusst.de>
4129 2013-01-18 16:47:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4132 omx: Minimize the time when the messages lock is held
4133 Fixes a deadlock if any OMX functions are called when the
4134 messages are handled.
4135 Thanks to Nicolas Dufresne for noticing.
4137 2013-01-18 15:28:20 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4140 omx: improve debug message when we can't find the config file
4141 Mention where we looked for the config file.
4143 2013-01-18 12:34:38 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4146 build: fix autogen.sh with automake 1.13
4147 AM_CONFIG_HEADER -> AC_CONFIG_HEADERS
4149 2013-01-17 18:07:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4152 * omx/gstomxaudioenc.h:
4153 * omx/gstomxvideodec.h:
4154 * omx/gstomxvideoenc.h:
4155 omx: Fix includes to properly work with the 1.0 releases
4157 2013-01-15 15:08:28 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4160 Automatic update of common submodule
4161 From a72faea to a942293
4163 2013-01-15 14:34:45 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4166 omx: Update port definition when changing some port setting
4168 2013-01-14 11:41:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4172 omx: Rename from libgstopenmax.so to ligstomx.so for consistency
4174 2013-01-11 15:32:22 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
4177 omx: Add a method to send message
4179 2013-01-11 15:44:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4183 omx: Atomic ops are not required anymore for the reconfiguration
4185 2013-01-11 12:52:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4187 * omx/gstomxaudioenc.c:
4188 * omx/gstomxvideodec.c:
4189 * omx/gstomxvideoenc.c:
4190 omx: Fix some memory leaks and suboptimal locking
4192 2013-01-11 12:34:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4194 * omx/gstomxvideoenc.c:
4195 omxvideoenc: Don't forget to unmap frame in error cases
4197 2013-01-11 12:29:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4199 * omx/gstomxvideoenc.c:
4200 omxvideoenc: Fix copying of the video frames to the OMX buffers
4202 2013-01-11 12:24:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4204 * omx/gstomxvideodec.c:
4205 omxvideodec: Fix copying of the video frames from the OMX buffers
4207 2013-01-10 14:44:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4212 * omx/gstomxaudioenc.c:
4213 * omx/gstomxrecmutex.c:
4214 * omx/gstomxrecmutex.h:
4215 omx: Implement new approach for locking that should solve all deadlocks on RPi
4216 No mutex is locked while calling any OpenMAX functions anymore
4217 and everything from the OpenMAX callbacks is inserted into a message
4218 queue and handled from outside the callbacks.
4219 Also there's only a single mutex and condition variable per component
4220 now for handling anything from OpenMAX callbacks and a single mutex
4221 for keeping our component/port state sane.
4223 2012-12-20 19:30:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4225 * omx/gstomxvideodec.c:
4226 omxvideodec: Set the OMX buffer nFilledLength field properly
4228 2012-12-20 18:48:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4230 * omx/gstomxrecmutex.c:
4231 * omx/gstomxrecmutex.h:
4232 omxrecmutex: Fix another race condition when two threads are trying to lock for recursion at the same time
4234 2012-12-20 18:16:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4236 * omx/gstomxrecmutex.c:
4237 * omx/gstomxrecmutex.h:
4238 omxrecmutex: Fix yet another race condition that resulted in deadlocks
4240 2012-12-20 17:46:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4243 * omx/gstomxrecmutex.c:
4244 * omx/gstomxrecmutex.h:
4245 omx: Fix another race condition in the recursive mutex
4246 Between lock() and begin_recursion() it was possible for another thread to
4247 try to do a recursive_lock(). This would block because the mutex was already
4248 locked(), but not ready for recursive locking yet. unlock() would never
4249 happen in the original thread because it was waiting for the other thread
4251 Happened on the Raspberry Pi.
4253 2012-12-20 14:45:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4255 * omx/gstomxrecmutex.c:
4256 * omx/gstomxrecmutex.h:
4257 omxrecmutex: Fix a small race condition when unlocking a non-recursive lock
4259 2012-12-20 12:30:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4261 * omx/gstomxaudioenc.c:
4262 * omx/gstomxvideodec.c:
4263 * omx/gstomxvideoenc.c:
4264 omx: Fix ununsed variable compiler warning
4266 2012-12-20 12:27:47 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4268 * omx/gstomxaudioenc.c:
4269 * omx/gstomxvideodec.c:
4270 * omx/gstomxvideoenc.c:
4271 omx: No need to start the srcpad task in ::start() already
4272 It will be started properly after the caps are set.
4274 2012-12-20 12:23:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4276 * omx/gstomxvideodec.c:
4277 omxvideodec: OMX_ErrorNoMore is no error and just means we ended iteration
4279 2012-12-20 12:20:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4281 * omx/gstomxaudioenc.c:
4282 * omx/gstomxvideodec.c:
4283 * omx/gstomxvideoenc.c:
4284 omx: Improve debug output
4286 2012-12-20 12:02:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4288 * omx/gstomxvideodec.c:
4289 omxvideodec: Don't forget to free a GList
4291 2012-12-20 11:56:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4293 * omx/gstomxvideodec.c:
4294 omxvideodec: Map OMX_COLOR_FormatYUV420PackedPlanar to I420 too
4295 This is used on the Raspberry Pi.
4297 2012-12-20 11:55:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4299 * omx/gstomxvideodec.c:
4300 omxvideodec: During negotiation of the output format make sure we use the correct OpenMAX format
4302 2012-12-20 11:42:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4304 * omx/gstomxvideodec.c:
4305 omxvideodec: If negotiation fails this could also mean that the component can't do it at this point yet
4307 2012-12-20 11:40:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4309 * omx/gstomxvideodec.c:
4310 omxvideodec: Improve format negotiation a bit
4311 Don't leak caps and make sure to fixate caps.
4313 2012-12-19 13:05:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4316 omx: Also initialize nStep field of the OMX structures
4318 2012-12-19 13:03:37 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4321 omx: Initialize struct version with the OMX version we compiled with
4323 2012-12-19 12:44:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4325 * omx/gstomxvideodec.c:
4326 omxvideodec: Extract data from the input buffer, not the codec data
4328 2012-12-19 12:19:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4331 * tools/listcomponents.c:
4332 omx: Use has_suffix() instead of has_prefix() for the Broadcom hack
4334 2012-12-19 12:08:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4338 * tools/Makefile.am:
4339 * tools/listcomponents.c:
4340 tools: Add tool to list all components and their roles
4342 2012-12-19 11:31:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4345 omx: Add hack to load and initialize libbcm_host.so
4346 Needed on the Raspberry Pi. Patch based on a patch by
4347 George Kiagiadakis <george.kiagiadakis@collabora.com>
4349 2012-12-19 11:22:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4353 configure: Add configure option to pack OpenMAX structures
4354 This is required to set to 4 for the Raspberry Pi for example.
4356 2012-12-19 11:07:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4359 configure: Require GStreamer 1.0.0
4361 2012-04-20 17:13:52 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
4364 omx: Initialize structures to version 1.1.2
4366 2012-12-19 09:51:22 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4369 * config/Makefile.am:
4370 * config/raspberry-pi.conf:
4372 config: Add raspberry-pi configuration in a different directory
4374 2012-05-20 20:11:59 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
4376 * omx/gstomx-raspberry.conf:
4377 raspberry: Add a gstomx.conf for the Raspberry Pi
4379 2012-12-12 17:45:39 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4382 * omx/gstomxvideoenc.h:
4383 omx: Fix some compilation errors caused by circular includes
4385 2012-11-19 11:29:44 +0000 Tim-Philipp Müller <tim@centricular.net>
4388 Automatic update of common submodule
4389 From 6bb6951 to a72faea
4391 2012-11-12 15:14:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4393 * omx/gstomxvideodec.c:
4394 * omx/gstomxvideoenc.c:
4395 omx: Fix refcount problem with frames being dropped because of decoder bugs
4397 2012-11-12 11:29:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4401 * omx/gstomxaudioenc.c:
4402 * omx/gstomxaudioenc.h:
4403 * omx/gstomxrecmutex.c:
4404 * omx/gstomxrecmutex.h:
4405 * omx/gstomxvideodec.c:
4406 * omx/gstomxvideodec.h:
4407 * omx/gstomxvideoenc.c:
4408 * omx/gstomxvideoenc.h:
4409 omx: Update to new GLib thread API
4411 2012-10-22 14:34:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4413 * omx/gstomxvideodec.c:
4414 * omx/gstomxvideoenc.c:
4415 omx: Use open/close vfuncs
4417 2012-10-22 14:28:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4419 * omx/gstomxvideodec.c:
4420 * omx/gstomxvideoenc.c:
4421 omx: Handle video meta correctly
4423 2012-06-20 13:11:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4426 * omx/gstbasevideocodec.c:
4427 * omx/gstbasevideocodec.h:
4428 * omx/gstbasevideodecoder.c:
4429 * omx/gstbasevideodecoder.h:
4430 * omx/gstbasevideoencoder.c:
4431 * omx/gstbasevideoencoder.h:
4432 * omx/gstbasevideoutils.c:
4433 * omx/gstbasevideoutils.h:
4434 * omx/gstomxh263dec.c:
4435 * omx/gstomxh263enc.c:
4436 * omx/gstomxh264dec.c:
4437 * omx/gstomxh264enc.c:
4438 * omx/gstomxmpeg4videodec.c:
4439 * omx/gstomxmpeg4videoenc.c:
4440 * omx/gstomxvideodec.c:
4441 * omx/gstomxvideodec.h:
4442 * omx/gstomxvideoenc.c:
4443 * omx/gstomxvideoenc.h:
4444 * omx/gstomxwmvdec.c:
4445 omx: Port to video base classes from -base
4447 2012-10-17 17:57:43 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4449 * omx/gstomxaacenc.c:
4450 * omx/gstomxh263dec.c:
4451 * omx/gstomxh263enc.c:
4452 * omx/gstomxh264dec.c:
4453 * omx/gstomxh264enc.c:
4454 * omx/gstomxmpeg4videodec.c:
4455 * omx/gstomxmpeg4videoenc.c:
4456 * omx/gstomxwmvdec.c:
4457 omx: gst_element_class_set_details_simple() -> set_static_metadata()
4459 2012-10-06 15:01:11 +0100 Tim-Philipp Müller <tim@centricular.net>
4462 Automatic update of common submodule
4463 From 6c0b52c to 6bb6951
4465 2012-09-22 16:10:38 +0100 Tim-Philipp Müller <tim@centricular.net>
4468 Automatic update of common submodule
4469 From 4f962f7 to 6c0b52c
4471 2012-06-21 20:22:13 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
4474 omx: fix debug statement
4476 2012-06-21 20:21:03 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
4479 omx: use recursive_lock inside set_last_error(), since this function may be called from an event handler
4481 2012-08-22 13:31:59 +0200 Stefan Sauer <ensonic@users.sf.net>
4484 Automatic update of common submodule
4485 From 668acee to 4f962f7
4487 2012-08-05 16:42:43 +0100 Tim-Philipp Müller <tim@centricular.net>
4490 Automatic update of common submodule
4491 From 94ccf4c to 668acee
4493 2012-08-03 19:32:13 +0100 Tim-Philipp Müller <tim@centricular.net>
4496 omx: fix plugin name for new GST_PLUGIN_DEFINE API
4498 2012-07-23 08:47:32 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4501 Automatic update of common submodule
4502 From 98e386f to 94ccf4c
4504 2012-07-10 09:57:09 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4506 * omx/gstbasevideodecoder.c:
4507 omx: Update for allocation query API changes
4509 2012-06-20 11:09:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4511 * omx/gstomxaudioenc.c:
4512 * omx/gstomxvideodec.c:
4513 * omx/gstomxvideoenc.c:
4514 omx: Fix compilation after gst_pad_start_task() API changes
4516 2012-06-08 15:06:35 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
4519 Automatic update of common submodule
4520 From 03a0e57 to 98e386f
4522 2012-06-06 18:20:18 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
4525 Automatic update of common submodule
4526 From 1fab359 to 03a0e57
4528 2012-06-01 10:30:27 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
4531 Automatic update of common submodule
4532 From f1b5a96 to 1fab359
4534 2012-05-31 13:10:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4537 Automatic update of common submodule
4538 From 92b7266 to f1b5a96
4540 2012-05-30 12:47:59 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4543 Automatic update of common submodule
4544 From ec1c4a8 to 92b7266
4546 2012-05-30 11:26:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4549 Automatic update of common submodule
4550 From 3429ba6 to ec1c4a8
4552 2012-05-13 15:58:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4555 Automatic update of common submodule
4556 From dc70203 to 3429ba6
4558 2012-05-08 16:13:32 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
4561 omx: Fix spelling mistake found by lintian: s/Seperate/Separate/
4563 2012-04-30 23:58:43 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
4568 * omx/gstomxaudioenc.c:
4569 * omx/gstomxrecmutex.c:
4570 * omx/gstomxrecmutex.h:
4571 * omx/gstomxvideodec.c:
4572 * omx/gstomxvideoenc.c:
4573 Implement a new custom recursive mutex type and fix locking in callbacks so that in-context calls are allowed.
4574 According to the OMX specification, implementations are allowed to call
4575 callbacks in the context of their function calls. However, our callbacks
4576 take locks and this causes deadlocks if the unerlying OMX implementation
4577 uses this kind of in-context calls.
4578 A solution to the problem would be a recursive mutex. However, a normal
4579 recursive mutex does not fix the problem because it is not guaranteed
4580 that the callbacks are called from the same thread. What we see in Broadcom's
4581 implementation for example is:
4583 - OMX_Foo waits on a condition
4584 - A callback is executed in a different thread
4585 - When the callback returns, its calling function
4586 signals the condition that OMX_Foo waits on
4587 - OMX_Foo wakes up and returns
4588 The solution I came up with here is to take a second lock inside the callback,
4589 but only if recursion is expected to happen. Therefore, all calls to OMX
4590 functions are guarded by calls to gst_omx_rec_mutex_begin_recursion() / _end_recursion(),
4591 which effectively tells the mutex that at this point we want to allow calls
4592 to _recursive_lock() to succeed, although we are still holding the master lock.
4594 2012-04-20 14:51:34 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
4598 omx: Add hack to disable setting roles to components.
4602 2012-04-30 23:20:24 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
4605 * omx/gstomxvideodec.c:
4606 omxvideodec: Implement no-empty-eos-buffer hack, as in omxvideoenc.
4608 omx/gstomxvideodec.c
4610 2012-04-30 23:19:55 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
4612 * omx/gstomxvideodec.c:
4613 omxvideodec: Fix coding style in the drain-may-not-return hack code
4615 2012-04-25 19:03:48 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
4618 omx: Fix trivial debug print bug
4620 2012-04-25 19:01:32 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
4624 * omx/gstomxvideodec.c:
4625 omxvideodec: Add hack for Ducati components not returning from drain
4626 This happens on the Galaxy Nexus, and causes the pipeline to hang waiting
4627 endlessly for a drain. The hack replaces the wait with a wait + 500ms timeout.
4629 2012-04-25 16:35:40 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
4632 omx: Fix deadlock between ending a flush and the event handler
4633 gst_omx_port_set_flushing() calls OMX_FillThisBuffer at the end of a flush
4634 without releasing the port lock, and this can cause a deadlock with the
4635 EventHandler. This patches fixes this by dropping the lock for the duration of
4636 the fill buffer call.
4638 2012-04-24 15:41:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4640 * omx/gstbasevideodecoder.c:
4641 * omx/gstbasevideoencoder.c:
4642 omx: Update video encoder/decoder base classes from gst-plugins-bad
4644 2012-04-16 09:16:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4647 configure: Modernize autotools setup a bit
4648 Also we now only create tar.bz2 and tar.xz tarballs.
4650 2012-04-16 09:12:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4653 Automatic update of common submodule
4655 2012-04-16 08:34:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4657 * omx/gstomxaudioenc.c:
4658 omxaudioenc: Use gst_buffer_extract() to copy the input buffer data to the OpenMAX buffer
4660 2012-04-13 17:16:42 -0400 Alessandro Decina <alessandro.decina@collabora.com>
4663 Fix relative/absolute path glitch
4664 Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
4666 2012-04-12 15:57:32 -0400 Olivier Crête <olivier.crete@collabora.com>
4671 * omx/gstbasevideocodec.c:
4672 * omx/gstbasevideocodec.h:
4673 * omx/gstbasevideodecoder.c:
4674 * omx/gstbasevideodecoder.h:
4675 * omx/gstbasevideoencoder.c:
4676 * omx/gstbasevideoencoder.h:
4679 * omx/gstomxaacenc.c:
4680 * omx/gstomxaudioenc.c:
4681 * omx/gstomxaudioenc.h:
4682 * omx/gstomxh263dec.c:
4683 * omx/gstomxh263enc.c:
4684 * omx/gstomxh264dec.c:
4685 * omx/gstomxh264enc.c:
4686 * omx/gstomxmpeg4videodec.c:
4687 * omx/gstomxmpeg4videoenc.c:
4688 * omx/gstomxvideodec.c:
4689 * omx/gstomxvideodec.h:
4690 * omx/gstomxvideoenc.c:
4691 * omx/gstomxvideoenc.h:
4692 * omx/gstomxwmvdec.c:
4695 2012-01-18 16:53:16 -0300 Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
4699 Enable building with Android's buildsystem
4700 This change adds prelimary buildsystem hooks to
4701 build gst-omx with the Android buildsystem. Like
4702 the rest of GStreamer's Android hooks, the process
4703 relies on the availability of androgenizer. A tool
4704 developed by Collabora to automatically generate
4705 Android.mk files from within the auto* setup.
4706 Androgenizer is currently available at:
4707 http://cgit.collabora.com/git/user/derek/androgenizer.git/
4709 2011-12-13 10:17:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4711 * omx/gstbasevideocodec.c:
4712 basevideocodec: Don't use G_TYPE_REGISTER_BOXED() yet
4713 This would require GLib 2.26.
4715 2011-12-14 10:09:34 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
4717 * omx/gstomxaudioenc.c:
4718 omxaudioenc: Add hack for encoder components that don't allow empty EOS buffers
4720 2011-12-14 10:07:29 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
4722 * omx/gstomxvideoenc.c:
4723 omxvideoenc: Fix deadlock when using the EOS hack
4725 2011-12-12 14:26:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4727 * omx/gstomxvideoenc.c:
4728 omxvideoenc: Remove workaround for basevideocodec bug
4730 2011-12-12 14:26:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4732 * omx/gstomxvideodec.c:
4733 omxvideodec: Remove workaround for basevideocodec bug
4735 2011-12-05 17:57:01 +0000 Matej Knopp <matej.knopp@gmail.com>
4737 * omx/gstbasevideocodec.c:
4738 * omx/gstbasevideocodec.h:
4739 * omx/gstbasevideodecoder.c:
4740 * omx/gstbasevideoencoder.c:
4741 basevideo: Make GstVideoFrame a reference counted boxed object
4742 ...and also clear all existing frames when resetting the decoder or encoder.
4744 2011-12-09 12:17:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4748 * omx/gstomxvideoenc.c:
4749 omx: Add hack for encoder components that don't allow empty EOS buffers
4751 2011-12-09 10:21:47 +0100 Dake Gu <Dake.Gu@palm.com>
4753 * omx/gstomxaacenc.c:
4754 omxaacenc: Generate and set codec_data on the caps for raw AAC
4756 2011-10-31 11:36:06 +0100 Alessandro Decina <alessandro.decina@collabora.co.uk>
4758 * omx/gstbasevideoencoder.c:
4759 basevideoencoder: handle failures in start() and stop()
4761 2011-08-26 10:50:38 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
4763 * omx/gstbasevideoencoder.c:
4764 basevideoenc: do not try to calculate latency from an unknown framerate
4765 It'll divide by zero, and latency is unknown for an unknown framerate.
4766 Fixes an assert in the schroenc test.
4767 https://bugzilla.gnome.org/show_bug.cgi?id=657419
4769 2011-12-08 11:50:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4771 * omx/gstbasevideoencoder.c:
4772 basevideoencoder: Only make the header buffer metadata writable, not the buffer
4774 2011-12-08 10:18:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4776 * omx/gstbasevideoencoder.c:
4777 basevideoencoder: Fix handling of force-keyunit events
4779 2011-12-06 13:28:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4781 * omx/gstomxaudioenc.c:
4782 omxaudioenc: Don't forward EOS events immediately but let all other events be handled by the base class
4783 Previously this logic was inversed, which did not make any sense at all.
4785 2011-12-06 12:47:25 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4787 * omx/gstomxaudioenc.c:
4788 * omx/gstomxaudioenc.h:
4789 omxaudioenc: Use correct timestamp, duration and filled length for the EOS buffers
4791 2011-12-06 12:47:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4793 * omx/gstomxvideodec.c:
4794 * omx/gstomxvideodec.h:
4795 omxvideodec: Use correct timestamp, duration and filled length for the EOS buffers
4797 2011-12-06 12:46:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4799 * omx/gstomxvideoenc.c:
4800 * omx/gstomxvideoenc.h:
4801 omxvideoenc: Use correct timestamp, duration and filled length for the EOS buffers
4803 2011-12-05 13:18:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4806 omx: Improve debugging of buffer handling
4808 2011-12-05 08:12:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4810 * omx/gstomxvideoenc.c:
4811 omxvideoenc: Drop EOS events in ::finish()
4812 The event will be forwarded downstream from the srcpad
4813 loop function after the last buffer was generated by the
4814 component. Forwarding it after ::finish() will use the
4815 sinkpad streaming thread and does not guarantee that
4816 the encoder is completely drained.
4818 2011-12-01 16:20:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4820 * omx/gstomxvideodec.c:
4821 omxvideodec: Properly drop frames due to QoS
4822 Instead of finishing them they should be passed to drop(), which
4823 will then send QoS messages.
4825 2011-11-29 12:21:32 +0100 Jonas Larsson <jonas@hallerud.se>
4827 * omx/gstomxh264enc.c:
4828 omxh264enc: Add support for resending headers after a forced-keyframe
4830 2011-11-29 12:12:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4832 * omx/gstbasevideocodec.h:
4833 * omx/gstbasevideoencoder.c:
4834 basevideoencoder: Pass the all-headers field of the force-key-unit event to the subclass
4836 2011-11-29 12:12:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4838 * omx/gstbasevideoencoder.c:
4839 * omx/gstbasevideoencoder.h:
4840 basevideoencoder: Implement full support for the new force-key-unit event
4841 Including support for the running-time and count fields.
4843 2011-11-29 09:31:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4845 * omx/gstbasevideoencoder.c:
4846 basevideoencoder: Use new force-keyunit event API from gst-plugins-base
4848 2011-11-29 09:18:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4850 * omx/gstbasevideoencoder.c:
4851 * omx/gstbasevideoencoder.h:
4852 basevideoencoder: Adjusting padding is not required for -bad libraries
4854 2011-11-28 19:48:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4856 * omx/gstbasevideoencoder.h:
4857 basevideoencoder: Move some fields to the private part of the instance struct
4859 2011-11-28 19:36:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4861 * omx/gstbasevideoencoder.c:
4862 basevideoencoder: Make headers metadata writable before pushing downstream
4863 The timestamp, duration, etc of the headers has to be changed.
4865 2011-11-28 19:35:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4867 * omx/gstbasevideoencoder.c:
4868 * omx/gstbasevideoencoder.h:
4869 basevideoencoder: Push the downstream force-keyframe event after the next keyframe
4870 Even if the corresponding GstVideoFrame doesn't have the is_sync_point
4873 2011-11-28 19:29:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4875 * omx/gstbasevideoencoder.c:
4876 * omx/gstbasevideoencoder.h:
4877 basevideoencoder: Don't push an upstream force-keyunit event downstream
4879 2011-11-25 11:48:08 +0100 Jonas Larsson <jonas@hallerud.se>
4881 * omx/gstbasevideoencoder.c:
4882 * omx/gstbasevideoencoder.h:
4883 basevideoencoder: Add initial support for the all-headers field of the force-keyframe event
4886 2011-11-25 11:37:39 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4888 * omx/gstbasevideodecoder.c:
4889 basevideodecoder: some more debug logging
4891 2011-11-23 20:03:32 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4893 * omx/gstbasevideodecoder.c:
4894 * omx/gstbasevideodecoder.h:
4895 basevideodecoder: add API to drop a frame and post a QoS message on the bus
4896 https://bugzilla.gnome.org/show_bug.cgi?id=640017
4897 API: gst_base_video_decoder_drop_frame()
4899 2011-11-22 23:04:49 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4901 * omx/gstbasevideodecoder.c:
4902 docs: fix comment in gst_base_video_decoder_get_max_decode_time() docs
4904 2011-11-22 19:57:07 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4906 * omx/gstbasevideodecoder.c:
4907 basevideodecoder: fix weird event list handling
4908 Get rid of weird code that copies a list manually, taking
4909 ownership of the elements and then frees the old list. Instead,
4910 just take over the old list entirely. (If the intent was to
4911 reverse the list, one could use g_list_reverse() instead).
4912 Then, push events in the list out from last to first (since they
4913 were prepended as they came in) instead of just pushing out the
4914 last in the list and leaking the others.
4916 2011-11-25 11:31:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4920 * omx/gstbaseaudiodecoder.c:
4921 * omx/gstbaseaudiodecoder.h:
4922 * omx/gstbaseaudioencoder.c:
4923 * omx/gstbaseaudioencoder.h:
4924 * omx/gstbaseaudioutils.c:
4925 * omx/gstbaseaudioutils.h:
4926 * omx/gstomxaacenc.c:
4927 * omx/gstomxaudioenc.c:
4928 * omx/gstomxaudioenc.h:
4929 omxaudioenc: Use audio base classes from gst-plugins-base instead of having our own copies
4931 2011-11-18 10:00:31 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4933 * omx/gstomxaudioenc.c:
4934 omxaudioenc: First set ports to flushing before waiting for the srcpad streaming thread to finish
4936 2011-11-18 09:59:43 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4938 * omx/gstomxvideoenc.c:
4939 omxvideoenc: First set ports to flushing before waiting for the srcpad streaming thread to finish
4941 2011-11-18 09:58:58 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4943 * omx/gstomxvideodec.c:
4944 omxvideodec: First set ports to flushing before waiting for the srcpad streaming thread to finish
4946 2011-11-17 14:38:54 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4949 omx: Only disabling of a port is like flushing, enabling is like unflushing
4951 2011-11-17 13:33:35 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4954 omx: Enabling/disabling a port is also like flushing
4955 The component returns all buffers to us and shouldn't get any
4956 new buffers passed anymore.
4958 2011-11-17 11:26:33 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4960 * omx/gstomxaudioenc.c:
4961 omxaudioenc: Signal the drain GCond even if downstream returned an error
4963 2011-11-17 11:26:20 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4965 * omx/gstomxvideoenc.c:
4966 omxvideoenc: Signal the drain GCond even if downstream returned an error
4968 2011-11-17 11:25:52 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4970 * omx/gstomxvideodec.c:
4971 omxvideodec: Signal the drain GCond even if downstream returned an error
4973 2011-11-17 10:34:19 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4975 * omx/gstbasevideoencoder.c:
4976 basevideoencoder: Only call ::reset once in READY->PAUSED
4978 2011-11-17 10:19:35 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4980 * omx/gstomxaudioenc.c:
4981 omxaudioenc: Shutdown component in PAUSED->READY and deallocate buffers
4983 2011-11-17 10:19:30 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4985 * omx/gstomxvideoenc.c:
4986 omxvideoenc: Shutdown component in PAUSED->READY and deallocate buffers
4988 2011-11-17 10:19:10 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4990 * omx/gstomxvideodec.c:
4991 omxvideodec: Shutdown component in PAUSED->READY and deallocate buffers
4993 2011-11-16 12:02:08 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4995 * omx/gstomxvideoenc.c:
4996 omxvideoenc: Set force_keyframe to FALSE after handling it
4997 There's no reason why the base class should forward the event
4998 further downstream if we already handled it and will insert a
5001 2011-11-16 11:21:25 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5003 * omx/gstomxvideodec.c:
5004 omxvideodec: Always push buffers downstream, even if we didn't find a corresponding GstVideoFrame
5006 2011-11-15 09:47:55 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5009 omx: Fix debug level for flushing in wrong state from ERROR to DEBUG
5010 It's not really an error and doesn't matter at all if flush is called
5011 when the component is not running.
5013 2011-11-15 08:40:07 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5015 * omx/gstomxh264enc.c:
5016 omxh264enc: Detect bytestream stream format and don't put SPS/PPS into the caps for this format
5018 2011-11-15 08:28:32 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5020 * omx/gstomxvideoenc.c:
5021 * omx/gstomxvideoenc.h:
5022 omxvideoenc: Add vfunc for handling the output frames
5023 This can be used by subclasses to override the buffer flags
5024 or to handle some frames differently than the default behaviour.
5026 2011-11-14 12:50:26 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5028 * omx/gstomxvideodec.c:
5029 omxvideodec: Don't release buffers twice if dropping because of QoS
5031 2011-11-14 09:13:06 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5034 omx: Add XXX to the nOffset reset hack comment for QCOM
5036 2011-11-10 15:18:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5038 * omx/gstomxaudioenc.c:
5039 omxaudioenc: Make srcpad caps setting threadsafe
5041 2011-11-10 15:17:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5043 * omx/gstomxvideoenc.c:
5044 omxvideoenc: Make srcpad caps setting threadsafe
5046 2011-11-10 15:17:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5048 * omx/gstomxvideodec.c:
5049 omxvideodec: Make srcpad caps setting threadsafe
5051 2011-11-10 15:10:14 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5053 * omx/gstomxaudioenc.c:
5054 omxaudioenc: Make the srcpad task and the sinkpad streaming thread handling threadsafe
5056 2011-11-10 15:03:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5058 * omx/gstomxaudioenc.c:
5059 omxaudioenc: Always flush the ports and make sure no processing is happening in ::flush
5060 This fixes a race condition that happened when seeking
5061 very often in a short period of time.
5063 2011-11-10 15:02:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5065 * omx/gstomxvideoenc.c:
5066 omxvideoenc: Always flush the ports and make sure no processing is happening in ::reset
5067 This fixes a race condition that happened when seeking
5068 very often in a short period of time.
5070 2011-11-10 15:01:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5072 * omx/gstomxvideoenc.c:
5073 omxvideoenc: Fix minor race condition when draining after upstream signalled EOS
5075 2011-11-10 14:56:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5077 * omx/gstomxaudioenc.c:
5078 omxaudioenc: Improve EOS handling
5079 If downstream return UNEXPECTED we should still signal the
5080 drain cond because nothing will trigger this again later.
5082 2011-11-10 14:56:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5084 * omx/gstomxvideoenc.c:
5085 omxvideoenc: 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-10 14:54:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5091 * omx/gstomxaudioenc.c:
5092 omxaudioenc: Improve debugging of EOS and draining
5094 2011-11-10 14:54:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5096 * omx/gstomxvideoenc.c:
5097 omxvideoenc: Improve debugging of EOS and draining
5099 2011-11-10 14:51:06 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5101 * omx/gstomxvideodec.c:
5102 omxvideodec: Log if acquiring buffer for EOS failed
5104 2011-11-10 14:42:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5106 * omx/gstomxvideodec.c:
5107 omxvideodec: The component is not started in READY
5109 2011-11-10 14:39:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5111 * omx/gstomxaudioenc.c:
5112 omxaudioenc: No need to signal the drain cond when going from READY to PAUSED
5113 Also the component is not started in READY
5115 2011-11-10 14:40:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5117 * omx/gstomxvideoenc.c:
5118 omxvideoenc: No need to signal the drain cond when going from READY to PAUSED
5119 Also the component is not started in READY.
5121 2011-11-09 15:46:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5123 * omx/gstomxvideodec.c:
5124 omxvideodec: Always flush the ports and make sure no processing is happening in ::reset
5125 This fixes a race condition that happened when seeking
5126 very often in a short period of time.
5128 2011-11-09 15:45:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5130 * omx/gstomxvideodec.c:
5131 omxvideodec: Fix minor race condition when draining after upstream signalled EOS
5133 2011-11-09 15:44:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5135 * omx/gstomxvideodec.c:
5136 omxvideodec: Improve EOS handling
5137 If downstream return UNEXPECTED we should still signal the
5138 drain cond because nothing will trigger this again later.
5140 2011-11-09 15:43:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5142 * omx/gstomxvideodec.c:
5143 omxvideodec: Improve debugging of EOS and draining
5145 2011-11-09 15:42:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5147 * omx/gstomxvideodec.c:
5148 omxvideodec: The component is not started already when going from READY to PAUSED
5150 2011-11-09 15:42:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5152 * omx/gstomxvideodec.c:
5153 omxvideodec: No need to signal the drain cond when going from READY to PAUSED
5155 2011-11-09 15:41:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5158 omx: Always reset buffer flags for output ports, even in flushing/error state
5160 2011-11-09 09:00:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5162 * omx/gstomxvideodec.c:
5163 omxvideodec: Improve debugging in case of QoS-related frame drops
5165 2011-11-08 12:46:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5167 * omx/gstomxvideoenc.c:
5168 omxvideoenc: Release the video codec stream lock before acquiring an input buffer
5169 Otherwise the srcpad task might block on this lock and
5170 no buffers ever become available again.
5172 2011-11-08 12:45:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5174 * omx/gstomxaudioenc.c:
5175 omxaudioenc: Release the audio encoder stream lock before acquiring an input buffer
5176 Otherwise the srcpad task might block on this lock and
5177 no buffers ever become available again.
5179 2011-11-08 12:42:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5181 * omx/gstomxvideodec.c:
5182 omxvideodec: Release the video codec stream lock before acquiring an input buffer
5183 Otherwise the srcpad task might block on this lock and
5184 no buffers ever become available again.
5186 2011-11-08 11:07:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5188 * omx/gstomxaudioenc.c:
5189 * omx/gstomxaudioenc.h:
5190 omxaudioenc: Don't try to drain the component after EOS
5191 And don't send EOS twice in any case. This most likely
5192 will cause the component to not output it again and
5193 is not necessary anyway.
5195 2011-11-08 11:03:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5197 * omx/gstomxvideoenc.c:
5198 * omx/gstomxvideoenc.h:
5199 omxvideoenc: Don't try to drain the component after EOS
5200 And don't send EOS twice in any case. This most likely
5201 will cause the component to not output it again and
5202 is not necessary anyway.
5204 2011-11-08 10:46:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5206 * omx/gstomxvideodec.c:
5207 * omx/gstomxvideodec.h:
5208 omxvideodec: Don't try to drain the component after EOS
5209 And don't send EOS twice in any case. This most likely
5210 will cause the component to not output it again and
5211 is not necessary anyway.
5213 2011-11-08 09:09:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5215 * omx/gstomxvideodec.c:
5216 omxvideodec: Implement dropping of too late frames via QoS
5218 2011-11-08 08:31:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5220 * omx/gstomxaudioenc.c:
5221 omxaudioenc: Minor code refactoring
5223 2011-11-08 08:31:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5225 * omx/gstomxvideoenc.c:
5226 omxvideoenc: Minor code refactoring
5228 2011-11-08 08:31:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5230 * omx/gstomxvideodec.c:
5231 omxvideodec: Make sure to always release buffers back to OMX
5233 2011-11-08 08:24:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5236 omx: Also properly release buffers when in error state
5238 2011-11-08 08:22:08 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
5241 omx: Properly release buffers during flushing
5242 We can't pass them back to OMX_FillThisBuffer() or OMX_EmptyThisBuffer()
5243 but instead of doing nothing we have to put them back into our queue.
5244 Otherwise the buffer is leaked and we will have too few buffers in
5247 2011-11-07 14:00:47 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5249 * omx/gstomxvideodec.c:
5250 omxvideodec: Free pending frames after draining component
5252 2011-11-07 14:00:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5254 * omx/gstomxvideoenc.c:
5255 omxvideoenc: Free pending frames after draining the component
5257 2011-11-07 11:07:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5259 * omx/gstomxvideoenc.c:
5260 omxvideoenc: Make handling and usage of the base video codec frames threadsafe
5262 2011-11-07 11:05:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5264 * omx/gstomxvideoenc.c:
5265 omxvideoenc: Fix deadlock between srcpad stream lock and ::reset()
5267 2011-11-07 11:04:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5269 * omx/gstomxvideodec.c:
5270 omxvideoenc: Make handling and usage of the base video codec frames threadsafe
5272 2011-11-07 10:58:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5274 * omx/gstomxvideoenc.c:
5275 omxvideoenc: Free all pending frames after draining the component
5277 2011-11-07 10:58:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5279 * omx/gstomxvideodec.c:
5280 omxvideodec: Always free all pending frames when caps changes require reconfiguration
5282 2011-11-04 09:43:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5284 * omx/gstomxaudioenc.c:
5285 omxaudioenc: Only drain the component a single time and only after processing started
5287 2011-11-04 09:43:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5289 * omx/gstomxvideodec.c:
5290 omxvideodec: Only drain the component a single time and only after processing started
5292 2011-11-04 09:43:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5294 * omx/gstomxvideoenc.c:
5295 omxvideoenc: Only drain the component a single time and only after processing started
5297 2011-11-04 09:04:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5300 omx: Reset buffer flags to 0 after it was consumed by the component or the element
5301 Some implementations don't reset the flags and the standard is not
5302 really clear on the expected behaviour. Let's just always reset the
5303 flags as they're not valid at this point anymore.
5305 2011-11-02 13:50:14 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5307 * omx/gstomxvideoenc.c:
5308 * omx/gstomxvideoenc.h:
5309 omxvideoenc: Better handling of encoder parameters
5310 Only set them if necessary and allow to use the component
5313 2011-11-02 13:22:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5315 * omx/gstomxvideoenc.c:
5316 omxvideoenc: Make unsupported bitrate/quantizer settings less fatal
5318 2011-11-02 10:39:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5320 * omx/gstomxvideodec.c:
5321 omxvideodec: If no stride was set for the OMX output port assume GStreamer stride
5322 This is not really correct but there's nothing else we could do.
5324 2011-11-02 10:39:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5326 * omx/gstomxvideoenc.c:
5327 omxvideoenc: If no stride was set for the OMX input port assume GStreamer stride
5328 This is not really correct but there's nothing else we could do.
5330 2011-11-01 16:46:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5332 * omx/gstomxaudioenc.c:
5333 * omx/gstomxaudioenc.h:
5334 omxaudioenc: Implement draining of the component and use it
5335 This makes sure that all buffers are encoded and pushed downstream
5336 before flushing the ports and losing some buffers.
5338 2011-11-01 16:41:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5340 * omx/gstomxvideoenc.c:
5341 * omx/gstomxvideoenc.h:
5342 omxvideoenc: Implement draining of the component and use it
5343 This makes sure that all buffers are encoded and pushed downstream
5344 before flushing the ports and losing some buffers.
5346 2011-11-01 16:08:59 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5348 * omx/gstomxvideodec.c:
5349 * omx/gstomxvideodec.h:
5350 omxvideodec: Implement draining of the component and use it
5351 This makes sure that all buffers are decoded and pushed downstream
5352 before flushing the ports and losing some buffers.
5354 2011-10-20 14:32:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5356 * omx/gstomxvideodec.c:
5357 omxvideodec: Fix deadlock if ::reset is called before finding the corresponding frame of a decoded buffer
5359 2011-11-01 15:10:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5361 * omx/gstomxaudioenc.c:
5362 * omx/gstomxaudioenc.h:
5363 * omx/gstomxvideoenc.h:
5364 omxaudioenc: Forward downstream flow returns to upstream
5366 2011-11-01 15:10:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5368 * omx/gstomxvideoenc.c:
5369 omxvideoenc: Forward downstream flow returns to upstream
5371 2011-11-01 13:58:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5373 * omx/gstomxvideodec.c:
5374 * omx/gstomxvideodec.h:
5375 omxvideodec: Forward downstream flow returns to upstream
5377 2011-10-25 14:23:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5380 omx: Add minimal README file
5382 2011-10-20 15:21:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5384 * omx/gstomxvideodec.c:
5385 omxvideodec: Fix deadlock caused by calling reset while the loop function does something with the base video codec stream lock
5387 2011-10-20 15:20:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5389 * omx/gstomxvideoenc.c:
5390 omxvideoenc: Fix deadlock caused by calling reset while the loop function does something with the base video codec stream lock
5392 2011-10-20 14:30:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5394 * omx/gstomxvideodec.c:
5395 omxvideodec: Move locking at the correct place
5397 2011-10-14 10:27:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5401 omx: Remove QCOM hack to reset nOffset in EmptyBufferDone
5402 This is now done in a generic way that does not require any
5403 hacks because it will work without any side effects on any
5406 2011-10-14 10:26:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5409 omx: Reset nOffset to 0 in EmptyBufferDone if nFilledLen is 0
5410 Some OMX implementations don't reset nOffset when the complete
5411 buffer is emptied but instead only reset nFilledLen. We reset
5412 nOffset to 0 if nFilledLen == 0, which is safe to do because
5413 the offset *must* be 0 if the buffer is not filled at all.
5414 Seen in QCOM's OMX implementation.
5416 2011-10-04 10:56:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5418 * omx/gstomxvideoenc.c:
5419 omxvideoenc: If one parameter/configuration is not supported don't skip the next
5421 2011-10-03 09:12:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5423 * omx/gstomxh264dec.c:
5424 omxh264dec: Require stream-format=byte-stream
5425 Other stream-formats are unlikely to be supported by OMX components.
5427 2011-09-29 10:37:32 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5429 * omx/gstomxvideodec.c:
5430 * omx/gstomxvideodec.h:
5431 omxvideodec: Add API for subclasses to prepare/convert frames
5433 2011-09-27 15:08:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5435 * omx/gstomxaudioenc.c:
5436 omxaudioenc: Switch to Idle first and wait before switching to Loaded and deallocating buffers
5437 Allocating buffers before the Idle state is reached can lead to crashes.
5439 2011-09-27 15:08:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5441 * omx/gstomxvideoenc.c:
5442 omxvideoenc: Switch to Idle first and wait before switching to Loaded and deallocating buffers
5443 Allocating buffers before the Idle state is reached can lead to crashes.
5445 2011-09-27 15:05:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5447 * omx/gstomxvideodec.c:
5448 omxvideodec: Switch to Idle first and wait before switching to Loaded and deallocating buffers
5449 Allocating buffers before the Idle state is reached can lead to crashes.
5451 2011-09-27 14:15:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5455 * omx/gstomxvideodec.c:
5456 omxvideodec: New hack for QCOM to recreate the component instead of reconfiguring it on caps changes
5458 2011-09-27 12:13:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5461 omx: Change a g_assert() into a GST_WARNING_OBJECT()
5463 2011-09-26 13:04:18 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5467 omx: Add hack for Qualcomm's OMX implementation to manually reset nOffset in EmptyBufferDone
5469 2011-09-23 17:02:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5471 * omx/gstomxaudioenc.c:
5472 omxaudioenc: Add a check to prevent a zero-sized OMX buffer
5474 2011-09-23 17:02:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5476 * omx/gstomxvideoenc.c:
5477 omxvideoenc: Add some more checks for correct OMX buffer sizes
5479 2011-09-23 15:53:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5481 * omx/gstomxvideodec.c:
5482 omxvideodec: Add some more checks for OMX buffer sizes
5484 2011-09-14 10:15:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5488 * omx/gstomxaudioenc.c:
5489 * omx/gstomxvideodec.c:
5490 * omx/gstomxvideoenc.c:
5491 omx: Wait until the Executing state is reached before calling OMX_FillThisBuffer()
5492 This correctly works around the QCOM race condition that happens when calling
5493 FTB after setting the new state and before reaching it.
5495 2011-09-02 14:43:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5497 * omx/gstomxvideodec.c:
5498 omxvideodec: Negotiate video format with downstream and what the component claims to support
5500 2011-08-25 19:56:58 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
5502 * omx/gstbasevideoencoder.c:
5503 basevideoencoder: fix element leak
5504 and this concludes an hour of yelling at the bloody test failing,
5505 only to track down the problem not being in the test.
5506 https://bugzilla.gnome.org/show_bug.cgi?id=657368
5508 2011-08-19 09:20:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5510 * omx/gstomxvideoenc.c:
5511 omxvideoenc: Release basevideocodec stream lock while waiting for a buffer
5512 This prevents deadlocks if no empty input buffers are available and
5513 releasing input buffers requires the loop function to handle some
5514 output buffers first.
5516 2011-08-19 09:19:22 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5518 * omx/gstomxvideodec.c:
5519 omxvideodec: Release basevideocodec stream lock while waiting for a buffer
5520 This prevents deadlocks if no empty input buffers are available and
5521 releasing input buffers requires the loop function to handle some
5522 output buffers first.
5524 2011-08-18 10:24:26 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5526 * omx/gstbasevideodecoder.c:
5527 basevideodecoder: Fix deadlock
5529 2011-08-18 10:03:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5531 * omx/gstbaseaudiodecoder.c:
5532 baseaudiodecoder: Don't take the stream lock in the seek handler
5533 This will lead to deadlocks
5535 2011-08-18 10:02:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5537 * omx/gstbasevideocodec.c:
5538 * omx/gstbasevideocodec.h:
5539 * omx/gstbasevideodecoder.c:
5540 * omx/gstbasevideoencoder.c:
5541 basevideo: Fix locking, especially if both pads have different streaming threads
5543 2011-08-18 09:42:02 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5545 * omx/gstbasevideodecoder.c:
5546 * omx/gstbasevideoencoder.c:
5547 basevideo: Don't call g_type_class_peek_parent() in class_init
5548 This is already done by the GObject boilerplate macro
5550 2011-08-18 09:40:46 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5552 * omx/gstbaseaudiodecoder.c:
5553 baseaudiodecoder: Don't call g_type_class_peek_parent() in class_init
5554 This is already done by the boilerplate macro
5556 2011-08-18 09:34:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5558 * omx/gstbaseaudiodecoder.c:
5559 * omx/gstbaseaudiodecoder.h:
5560 baseaudiodecoder: Fix thread safety issues if both pads have different streaming threads
5562 2011-08-18 09:17:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5564 * omx/gstbaseaudiodecoder.c:
5565 baseaudiodecoder: Delay sending of serialized events to finish_frame()
5567 2011-08-17 14:33:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5569 * omx/gstomxaudioenc.c:
5570 omxaudioenc: Always require at least OMX_MIN_PCMPAYLOAD_MSEC per input buffer
5572 2011-08-17 14:28:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5574 * omx/gstbaseaudioencoder.c:
5575 * omx/gstbaseaudioencoder.h:
5576 baseaudioencoder: Add support for requesting a minimum and maximum number of samples per frame
5577 This extends the special case of a fixed number of samples per frame
5578 that was supported before already.
5580 2011-08-17 14:17:18 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5582 * omx/gstomxaudioenc.c:
5583 omxaudioenc: Handle inbuf==NULL properly in ::handle_frame()
5585 2011-08-17 13:04:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5587 * omx/gstomxaacenc.c:
5588 omxaacenc: Implement ::get_num_samples() vfunc
5590 2011-08-17 13:03:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5592 * omx/gstomxaudioenc.c:
5593 * omx/gstomxaudioenc.h:
5594 omxaudioenc: Add vfunc to get the number of samples inside a buffer
5596 2011-08-17 11:34:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5598 * omx/gstomxaudioenc.c:
5599 omxaudioenc: Release baseaudioencoder stream lock while waiting for a buffer in ::handle_frame()
5600 This prevents deadlocks if no empty input buffers are available and
5601 releasing input buffers requires the loop function to handle some
5602 output buffers first.
5604 2011-08-17 11:34:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5606 * omx/gstbaseaudioencoder.c:
5607 * omx/gstbaseaudioencoder.h:
5608 baseaudioencoder: Fix thread safety issues if both pads have different streaming threads
5610 2011-08-17 09:58:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5612 * omx/gstbaseaudioencoder.c:
5613 baseaudioencoder: Taking the OBJECT lock in reset() is not needed
5615 2011-08-16 11:03:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5617 * omx/gstomxaudioenc.c:
5618 omxaudioenc: Remove hack that only applies to the video encoder class
5620 2011-08-16 10:49:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5625 * omx/gstomxaacenc.c:
5626 * omx/gstomxaacenc.h:
5627 omxaacenc: Add initial version of OpenMAX AAC encoder element
5629 2011-08-15 15:10:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5632 * omx/gstomxaudioenc.c:
5633 * omx/gstomxaudioenc.h:
5634 omxaudioenc: Add initial version of audio encoder base class
5636 2011-08-15 14:14:11 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5638 * omx/gstbaseaudioencoder.c:
5639 baseaudioencoder: Delay sending of serialized events to finish_frame()
5641 2011-08-15 13:06:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5644 * omx/gstbaseaudiodecoder.c:
5645 * omx/gstbaseaudiodecoder.h:
5646 * omx/gstbaseaudioencoder.c:
5647 * omx/gstbaseaudioencoder.h:
5648 audio: Integrate audio base classes into the build system and fixup
5650 2011-08-15 12:56:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5652 * omx/gstbaseaudiodecoder.c:
5653 * omx/gstbaseaudiodecoder.h:
5654 * omx/gstbaseaudioencoder.c:
5655 * omx/gstbaseaudioencoder.h:
5656 * omx/gstbaseaudioutils.c:
5657 * omx/gstbaseaudioutils.h:
5658 audio: Add audio decoder/encoder base classes
5659 Taken from http://cgit.collabora.com/git/user/manauw/gst-plugins-bad.git/log/?h=baseaudio
5661 2011-08-12 12:25:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5663 * omx/gstbasevideoencoder.c:
5664 basevideoencoder: Proxy the width/height/framerate/PAR constraints of downstream caps to upstream
5665 This allows to specify constraints on the compressed downstream caps
5666 by muxers or capsfilters, which will then be forwarded to upstream
5667 and allows video converters to fulfill the constraints.
5668 Code based on Mark Nauwelaerts audio encoder base class.
5670 2011-08-12 12:13:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5672 * omx/gstbasevideoencoder.h:
5673 basevideoencoder: Remove old ::getcaps() comment
5675 2011-08-12 12:06:23 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5677 * omx/gstbasevideoencoder.c:
5678 * omx/gstbasevideoencoder.h:
5679 basevideoencoder: Remove ::get_caps() vfunc
5680 Subclasses can set the caps more efficiently and this only
5681 caused additional indirections.
5683 2011-08-10 10:24:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5685 * omx/gstomxh263enc.c:
5686 * omx/gstomxh264enc.c:
5687 * omx/gstomxmpeg4videoenc.c:
5688 * omx/gstomxvideoenc.c:
5689 omxvideoenc: Use "video/x-raw-yuv" as sink template caps instead of strict I420 caps
5691 2011-08-10 10:23:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5693 * omx/gstomxmpeg4videodec.c:
5694 omxmpeg4videodec: Don't require width/height on sink pad caps
5696 2011-08-10 10:11:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5698 * omx/gstomxh263dec.c:
5699 * omx/gstomxh264dec.c:
5700 * omx/gstomxmpeg4videodec.c:
5701 * omx/gstomxvideodec.c:
5702 * omx/gstomxwmvdec.c:
5703 omxvideodec: Use "video/x-raw-yuv" as src template caps instead of strict I420 caps
5705 2011-08-10 09:56:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5707 * omx/gstomxvideoenc.c:
5708 omxvideoenc: Set the state back to StateLoaded even if an error happened
5710 2011-08-10 09:49:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5713 omx: Don't hold any locks while calling OMX_SendCommand()
5714 It might call into one of the callbacks and lead to deadlocks, e.g.
5715 with the Qualcomm OMX implementation.
5717 2011-08-10 09:32:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5722 2011-08-10 09:23:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5725 omx: Reset pending reconfigure output ports when changing the state from Executing to any lower state
5727 2011-08-10 09:08:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5730 omx: Fix crash when setting last error after the ports were freed
5732 2011-08-10 09:03:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5735 omx: Free component structure
5737 2011-08-10 09:02:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5740 omx: Make component destruction safer
5742 2011-08-10 08:53:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5745 omx: Set pAppPrivate of buffers to NULL when deallocating buffers
5746 This prevents usage of freed memory later if the OMX component
5747 has weird behaviour.
5749 2011-08-10 08:52:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5751 * omx/gstomxvideodec.c:
5752 omxvideodec: Set the state back to StateLoaded even if an error happened
5754 2011-08-10 08:51:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5757 omx: Add some assertions to check if the buffer pAppPrivate is still correct
5759 2011-08-08 13:04:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5762 omx: Add parenthesis at correct places in the struct init macro
5764 2011-08-08 12:12:58 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5767 omx: Only prevent setting a higher state if the component is in an error state
5769 2011-08-03 16:02:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5771 * omx/gstbasevideodecoder.c:
5772 basevideodecoder: Use the cached video frame size instead of recalculating it
5774 2011-08-03 15:35:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5777 omx: Improve debugging in param/config getter/setter wrappers
5779 2011-08-03 13:10:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5781 * omx/gstomxvideodec.c:
5782 omxvideodec: Don't abort if the color format is not supported but give a useful error message
5784 2011-08-02 15:14:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5786 * omx/gstomxh263enc.c:
5787 * omx/gstomxh264enc.c:
5788 * omx/gstomxmpeg4videoenc.c:
5789 * omx/gstomxvideoenc.c:
5790 omxvideoenc: Don't fail if setting the bitrate or profile is not supported by the component
5791 Also always set/get the profile, even if there are no peer caps.
5793 2011-08-02 15:14:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5795 * omx/gstbasevideoencoder.c:
5796 basevideoencoder: Make access to the list of frames threadsafe
5798 2011-08-01 13:22:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5802 omx: Add a hacks flag for the Qualcomm 7x30 OMX_FillThisBuffer() race and make it optional
5804 2011-07-29 13:56:59 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5807 omx: Add workaround for QCOM 7x30 race condition
5809 2011-07-29 12:06:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5813 * omx/gstomxh263enc.c:
5814 * omx/gstomxh263enc.h:
5815 omxh263enc: Add H.263 encoder element
5817 2011-07-29 11:26:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5819 * omx/gstomxmpeg4videoenc.c:
5820 omxmpeg4videoenc: Add support for setting profile/level via caps
5822 2011-07-28 14:14:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5824 * omx/gstomxh264enc.c:
5825 omxh264enc: Add support for setting profile/level via caps
5827 2011-07-28 12:58:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5829 * omx/gstomxvideoenc.c:
5830 omxvideoenc: Add support for forcing the next frame to be a keyframe
5832 2011-07-28 11:54:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5834 * omx/gstomxvideoenc.c:
5835 * omx/gstomxvideoenc.h:
5836 omxvideoenc: Add support for setting bitrate/quantization related parameters
5838 2011-07-28 10:23:08 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5842 omx: Add wrapper functions for OMX_[GS]et{Config,Parameter}
5844 2011-07-28 09:54:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5848 omx: Add macro to initialize OpenMAX structures
5850 2011-07-28 09:08:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5852 * omx/gstomxvideoenc.c:
5853 omxvideoenc: Don't output 0-byte buffers
5855 2011-07-25 15:05:08 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5858 omx: Ensure that the pAppPrivate pointer in OMX buffers is set correctly
5860 2011-07-25 13:19:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5862 * omx/gstomxvideodec.c:
5863 * omx/gstomxvideoenc.c:
5864 omxvideo{enc,dec}: Only set/unset flushing state on ports if they were created already
5866 2011-07-25 12:01:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5870 * omx/gstomxwmvdec.c:
5871 * omx/gstomxwmvdec.h:
5872 omxwmvdec: Add WMV video decoder element
5874 2011-07-25 11:44:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5878 * omx/gstomxh263dec.c:
5879 * omx/gstomxh263dec.h:
5880 omxh263dec: Add H.263 decoder element
5882 2011-07-25 11:32:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5886 * omx/gstomxh264enc.c:
5887 * omx/gstomxh264enc.h:
5888 omxh264enc: Add H.264 encoder element
5890 2011-07-25 10:48:58 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5892 * omx/gstomxvideodec.c:
5893 omxvideodec: Try harder to deallocate the buffers after errors happened
5895 2011-07-25 10:47:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5897 * omx/gstomxvideoenc.c:
5898 omxvideoenc: Try harder to deallocate the buffers after errors happened
5900 2011-07-25 10:46:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5903 omx: Deallocate port buffers before freeing the component
5904 They should be deallocated by the caller before reaching the
5905 Loaded state but to be on the safe side we will make sure
5906 they're really deallocated here.
5908 2011-07-21 11:15:14 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5910 * omx/gstomxvideoenc.c:
5911 omxvideoenc: Add initial support for stride conversion
5913 2011-07-21 10:38:26 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5915 * omx/gstomxh264dec.c:
5916 * omx/gstomxmpeg4videodec.c:
5917 * omx/gstomxmpeg4videoenc.c:
5918 omx: Set default roles for the components if none were set from the config file
5920 2011-07-21 10:36:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5923 omx: Failure to set the component role is fatal
5925 2011-07-21 07:53:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5927 * omx/gstomxvideoenc.c:
5928 omxvideoenc: Add support for setting codec_data on the srcpad caps
5930 2011-07-21 07:44:34 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5932 * omx/gstomxvideoenc.c:
5933 omxvideoenc: Free/drop GstVideoFrames that resulted in an empty buffer
5935 2011-07-21 07:44:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5937 * omx/gstbasevideoencoder.c:
5938 basevideoencoder: Allow finishing of frames with no src_buffer to drop/free the GstVideoFrame
5940 2011-07-21 07:31:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5942 * omx/gstomxvideoenc.c:
5943 omxvideoenc: Remove obsolete TODO comment
5945 2011-07-20 11:09:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5949 omx: Use libgstopenmax.so for the plugin filename and openmax for the plugin name
5950 Resolves conflicts with gst-openmax.
5952 2011-07-20 08:34:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5958 * omx/gstomxmpeg4videoenc.c:
5959 * omx/gstomxmpeg4videoenc.h:
5960 * omx/gstomxvideoenc.c:
5961 * omx/gstomxvideoenc.h:
5962 omxvideoenc: Add video encoder base class and MPEG4 video encoder
5963 Unfortunately requires lots of hacks again to work properly with
5966 2011-07-20 10:39:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5968 * omx/gstbasevideoencoder.c:
5969 basevideoencoder: Only get caps from the subclass if they were not set yet by the subclass
5971 2011-07-20 09:25:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5973 * omx/gstbasevideoencoder.c:
5974 * omx/gstbasevideoencoder.h:
5975 basevideoencoder: Delay sending of serialized sink events until finish_frame()
5977 2011-07-20 09:09:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5979 * omx/gstbasevideoencoder.c:
5980 * omx/gstbasevideoencoder.h:
5981 basevideoencoder: Add ::reset vfunc and handle ::reset/::finish the same way as in the decoder
5983 2011-07-19 12:50:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5985 * omx/gstbasevideoencoder.c:
5986 basevideoencoder: Use a temporary GstVideoState until the subclass accepted the caps
5987 Also store the caps in the GstVideoState and assume a PAR of 1/1 instead
5988 of 0/1 if no PAR is specified in the caps.
5990 2011-07-19 12:29:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5993 * omx/gstomxvideodec.c:
5994 omx: Improve debug output a bit
5996 2011-07-19 10:33:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6000 * omx/gstomxvideodec.c:
6001 omx: Rework port reconfiguration again and only use the Bellagio specific hacks with Bellagio
6002 We only reconfigure ports that need to be reconfigured now instead of
6005 2011-07-19 10:33:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6010 * omx/gstomxvideodec.c:
6011 * omx/gstomxvideodec.h:
6012 omx: Add infrastructure to enable special hacks for broken OpenMAX implementations
6014 2011-07-18 13:10:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6017 omx: When acquiring a buffer from an input port always wait until all output ports are reconfigured
6019 2011-07-18 08:41:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6021 * omx/gstomxvideodec.c:
6022 omxvideodec: Add support for converting between omx and gst rowstrides
6024 2011-07-14 10:34:09 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6027 omx: Provide all buffers to output ports after enabling them
6029 2011-07-14 08:29:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6031 * omx/gstomxvideodec.c:
6032 omxvideodec: Add support for NV12 / OMX_COLOR_FormatYUV420SemiPlanar
6034 2011-07-14 07:58:41 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6036 * omx/gstomxvideodec.c:
6037 * omx/gstomxvideodec.h:
6038 omxvideodec: Only flush the component ports after we passed input to them
6040 2011-07-13 21:19:34 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6042 * omx/gstomxvideodec.c:
6043 omxvideodec: Only change states downwards if an upper state was reached
6045 2011-07-13 20:37:02 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6049 * omx/gstomxvideodec.c:
6050 * omx/gstomxvideodec.h:
6051 omx: Add support for setting the component-role
6053 2011-07-13 20:22:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6057 * omx/gstomxvideodec.c:
6058 omx: Improve error reporting by formatting the error codes better and also providing their string representation
6060 2011-07-13 14:36:14 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6063 build: Dist autogen.sh
6065 2011-07-13 14:35:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6069 build: Only require GStreamer >= 0.10.29 and GLib >= 2.16
6071 2011-07-13 14:04:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6074 build: Dist gstomx.conf
6076 2011-07-13 14:04:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6079 build: Clean _stdint.h on "make distclean"
6081 2011-07-13 14:02:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6083 * omx/gstomxvideodec.c:
6084 omxvideodec: Fix typo
6086 2011-07-13 13:59:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6091 2011-07-13 12:46:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6093 * omx/gstomxvideodec.c:
6094 omxvideodec: Set SYNCFRAME flag on the OMX buffers for non-delta units
6096 2011-07-13 12:37:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6098 * omx/gstomxvideodec.c:
6099 omxvideodec: Free all pending frames when resetting the decoder
6100 Workaround for https://bugzilla.gnome.org/show_bug.cgi?id=654529
6102 2011-07-13 09:59:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6104 * omx/gstomxvideodec.c:
6105 omxvideodec: Handle output buffers without a corresponding GstVideoFrame more gracefully
6106 This can happen on EOS in some cases and when the input is not
6109 2011-07-13 09:31:22 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6111 * omx/gstomxvideodec.c:
6112 omxvideodec: Fix deadlock when finishing old frames that are left over by the decoder
6114 2011-07-12 11:37:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6116 * omx/gstomxh264dec.c:
6117 omxh264dec: It's called H.264, not H264
6119 2011-07-12 11:36:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6121 * omx/gstomxh264dec.c:
6122 * omx/gstomxmpeg4videodec.c:
6123 * omx/gstomxvideodec.c:
6124 * omx/gstomxvideodec.h:
6125 omxvideodec: Make sink/src pad template caps configurable
6127 2011-07-12 11:13:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6130 omx: Allow to set a preferred configuration directory with the GST_OMX_CONFIG_DIR environment variable
6132 2011-07-12 10:55:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6134 * omx/gstomxh264dec.c:
6135 * omx/gstomxmpeg4videodec.c:
6136 * omx/gstomxvideodec.c:
6137 omxvideodec: Make core/component-name and in/outport index configurable
6139 2011-07-12 10:05:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6144 omx: Add initial version of configuration system
6145 This now only registers elements that are specified in the
6147 The configuration file is a keyfile in the first XDG configuration
6148 directory with the name gstomx.conf.
6150 2011-07-12 08:53:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6154 * omx/gstomxh264dec.c:
6155 * omx/gstomxh264dec.h:
6156 * omx/gstomxh264videodec.h:
6157 omxh264dec: Rename from omxh264videodec to omxh264dec
6159 2011-07-12 08:40:48 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6161 * omx/gstomxh264videodec.c:
6162 omxh264videodec: Require alignment=au and stream-format={avc,bytestream}
6164 2011-07-11 12:59:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6166 * omx/gstbasevideodecoder.c:
6167 basevideodecoder: First inform subclass about resetting before resetting/freeing all internal state
6168 The subclass might want to access the old state.
6170 2011-07-11 12:36:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6172 * omx/gstbasevideodecoder.c:
6173 basevideodecoder: Track present position on discont before resetting it
6175 2011-07-11 11:52:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6177 * omx/gstbasevideodecoder.c:
6178 basevideodecoder: Also protect the list of pending frames from concurrent access when pushing all pendings events
6180 2011-07-11 11:28:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6182 * omx/gstbasevideocodec.c:
6183 * omx/gstbasevideocodec.h:
6184 * omx/gstbasevideodecoder.c:
6185 basevideocodec: Protect access to the list of pending frames with the object lock
6186 This is required if ::finish_frame() and all buffer output happens
6187 on a different thread than the sinkpad streaming thread.
6189 2011-07-11 09:35:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6191 * omx/gstbasevideodecoder.c:
6192 basevideodecoder: Set the correct lists to NULL after freeing
6194 2011-07-11 08:54:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6196 * omx/gstbasevideodecoder.c:
6197 basevideodecoder: Work with a copy of the GstVideoState in setcaps until the caps are accepted
6198 Also fix a refcount problem with the codec_data.
6200 2011-07-12 08:34:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6204 * omx/gstomxh264videodec.c:
6205 * omx/gstomxh264videodec.h:
6206 omxh264videodec: Add h.264 video decoder
6208 2011-07-12 08:29:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6210 * omx/gstomxmpeg4videodec.c:
6211 omxmpeg4videodec: Fix debug category name
6213 2011-07-09 11:41:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6216 * omx/gstbasevideocodec.h:
6217 * omx/gstbasevideodecoder.c:
6218 * omx/gstbasevideoencoder.c:
6219 * omx/gstbasevideoutils.c:
6220 * omx/gstbasevideoutils.h:
6221 basevideo: Move the utils from the codec header to its own header
6223 2011-07-09 11:32:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6225 * omx/gstbasevideocodec.c:
6226 * omx/gstbasevideodecoder.c:
6227 basevideo: Use GSlice for allocating GstVideoFrame and don't duplicate code in the decoder base class
6229 2011-07-09 11:05:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6231 * omx/gstomxvideodec.c:
6232 omxvideodec: Use the destroy notify to free the coder_hook
6234 2011-07-09 10:57:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6236 * omx/gstbasevideocodec.c:
6237 * omx/gstbasevideocodec.h:
6238 * omx/gstbasevideodecoder.c:
6239 basevideo: Add destroy notify for the coder_hook to prevent memory leaks
6242 2011-07-09 10:44:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6245 basevideo: Fix GType names to not conflict with the public video base classes
6246 It's still not possible to include headers of both in the same file
6247 or compile/link both into the same plugin but that shouldn't be
6250 2011-07-08 15:42:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6252 * omx/gstomxvideodec.c:
6253 omxvideodec: Fix some minor memory leaks
6255 2011-07-08 15:25:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6259 * omx/gstomxvideodec.c:
6260 omx: Rework port reconfiguration
6261 We always reconfigure all ports now if the settings of one
6262 port changes to prevent lots of race conditions, dropped
6263 frames and similar issues.
6265 2011-07-08 13:16:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6267 * omx/gstomxvideodec.c:
6268 * omx/gstomxvideodec.h:
6269 omxvideodec: Use the frames storage of the base class instead of implementing our own
6270 They could get out of sync and we could store already destroyed frames.
6272 2011-07-07 12:51:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6275 omx: Clarify GQueue/GPtrArray element types
6277 2011-07-07 12:23:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6281 * omx/gstomxvideodec.c:
6282 omx: Add more checks to acquire_buffer() and return the current state additional to the buffer
6283 Also refactor the code flow in the video decoder for this. This makes
6284 the usage of acquire_buffer() easier and more atomic.
6286 2011-07-07 12:22:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6288 * omx/gstomxvideodec.c:
6289 omxvideodec: Also flush/unflush the input port when changing the state PAUSED<->READY
6291 2011-07-07 12:21:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6294 omx: Don't broadcast port->port_cond after allocating buffers successfully
6295 Allocating buffers must happen while no thread is waiting for the
6296 cond and especially must happen from the thread that would acquire
6297 buffers from the port.
6299 2011-07-07 11:27:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6301 * omx/gstomxvideodec.c:
6302 omxvideodec: Don't leak the codec_data after sending it
6304 2011-07-07 10:27:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6307 omx: Always check if the component is in an error state before waiting for a condition variable to be signalled
6308 Otherwise we might wait forever because nothing is going to signal
6309 the condition variable anymore.
6311 2011-07-07 10:22:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6314 omx: Always hold port->port_lock before signalling port->port_cond when notifying about errors
6315 Otherwise a port might be in the critical section, has checked the error state
6316 already but waits after port->port_cond is signalled, which will lead
6319 2011-07-07 10:07:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6321 * omx/gstomxvideodec.c:
6322 omxvideodec: Remove reconfiguration test hack
6324 2011-07-06 13:27:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6327 omx: Improve debug output a bit
6329 2011-07-06 13:26:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6332 omx: Always try to deallocate buffers, even if there's a component error
6334 2011-07-06 13:26:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6337 omx: Use G_USEC_PER_SEC for clarity instead of 1000000
6339 2011-07-06 13:19:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6341 * omx/gstomxvideodec.c:
6342 omxvideodec: Error out if the GStreamer allocated buffer is smaller than the OpenMAX output buffer
6343 Usually this must never happen but currently it happens during reconfigurations
6344 because of a race condition. Still it's better than crashing.
6346 2011-07-06 10:40:13 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6350 omx: Don't use port_def.bEnabled to check if the Enable/Disable command is finished
6351 bEnabled should be set immediately after sending the command, it's only
6352 Bellagio that waits until the command is finished before setting it.
6354 2011-07-06 10:30:11 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6356 * omx/gstomxvideodec.c:
6357 omxvideodec: Remove obsolete FIXME comment
6359 2011-07-06 10:29:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6363 omx: Improve error handling and reporting
6365 2011-07-06 08:48:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6367 * omx/gstomxmpeg4videodec.c:
6368 * omx/gstomxvideodec.c:
6369 * omx/gstomxvideodec.h:
6370 omxvideodec: Make the inport and outport index configurable by the subclass
6372 2011-06-28 08:51:23 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6377 * omx/gstomxmpeg4videodec.c:
6378 * omx/gstomxmpeg4videodec.h:
6379 * omx/gstomxvideodec.c:
6380 * omx/gstomxvideodec.h:
6381 omx: Add initial version of OpenMAX framework, video decoder base class and MPEG4 video decoder
6382 This currently hardcodes a lot of stuff but works at least.
6383 Also adds a generic framework for handling OpenMAX cores, components
6386 2011-06-28 11:47:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6388 * omx/gstbasevideocodec.c:
6389 * omx/gstbasevideocodec.h:
6390 * omx/gstbasevideodecoder.c:
6391 * omx/gstbasevideodecoder.h:
6392 basevideodecoder: Don't reorder serialized src events
6393 And allow to drop EOS by the subclass if ::finish returns
6397 2011-06-27 09:41:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6399 * omx/gstbasevideocodec.c:
6400 * omx/gstbasevideocodec.h:
6401 * omx/gstbasevideodecoder.c:
6402 basevideo: Add the caps to the GstVideoState and clean up caps/codec_data properly
6404 2011-06-27 09:37:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6406 * omx/gstbasevideocodec.c:
6407 * omx/gstbasevideocodec.h:
6408 * omx/gstbasevideodecoder.c:
6409 * omx/gstbasevideodecoder.h:
6410 * omx/gstbasevideoencoder.c:
6411 * omx/gstbasevideoencoder.h:
6412 * omx/gstbasevideoutils.c:
6413 basevideo: Add video encoder/decoder base classes from gst-plugins-bad
6415 2011-06-21 11:17:35 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6417 * omx/openmax/OMX_Audio.h:
6418 * omx/openmax/OMX_Component.h:
6419 * omx/openmax/OMX_ComponentExt.h:
6420 * omx/openmax/OMX_ContentPipe.h:
6421 * omx/openmax/OMX_Core.h:
6422 * omx/openmax/OMX_CoreExt.h:
6423 * omx/openmax/OMX_IVCommon.h:
6424 * omx/openmax/OMX_Image.h:
6425 * omx/openmax/OMX_Index.h:
6426 * omx/openmax/OMX_IndexExt.h:
6427 * omx/openmax/OMX_Other.h:
6428 * omx/openmax/OMX_Types.h:
6429 * omx/openmax/OMX_Video.h:
6430 * omx/openmax/OMX_VideoExt.h:
6431 openmax: Add OpenMAX IL 1.1.2 headers