1 2022-01-05 02:07:59 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
4 meson: Add explicit check: kwarg to all run_command() calls
5 This is required since Meson 0.61.0, and causes a warning to be
7 https://github.com/mesonbuild/meson/commit/2c079d855ed87488bdcc6c5c06f59abdb9b85b6c
8 https://github.com/mesonbuild/meson/issues/9300
9 This exposed a bunch of places where we had broken run_command()
10 calls, unnecessary run_command() calls, and places where check: true
12 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1507>
14 2021-11-03 18:44:03 +0000 Tim-Philipp Müller <tim@centricular.com>
19 === release 1.19.3 ===
21 2021-11-03 15:43:36 +0000 Tim-Philipp Müller <tim@centricular.com>
30 2021-11-03 15:43:32 +0000 Tim-Philipp Müller <tim@centricular.com>
33 Update ChangeLogs for 1.19.3
35 2021-10-18 15:47:00 +0100 Tim-Philipp Müller <tim@centricular.com>
37 * tests/check/meson.build:
38 meson: update for meson.build_root() and .build_source() deprecation
39 -> use meson.project_build_root() or .global_build_root() instead.
40 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1183>
42 2021-10-18 00:40:14 +0100 Tim-Philipp Müller <tim@centricular.com>
46 * tests/check/meson.build:
47 meson: update for dep.get_pkgconfig_variable() deprecation
48 ... in favour of dep.get_variable('foo', ..) which in some
49 cases allows for further cleanups in future since we can
50 extract variables from pkg-config dependencies as well as
51 internal dependencies using this mechanism.
52 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1183>
54 2021-10-14 18:38:26 +0100 Tim-Philipp Müller <tim@centricular.com>
57 meson: bump meson requirement to >= 0.59
58 For monorepo build and ugly/bad, for advanced feature
59 option API like get_option('xyz').required(..) which
60 we use in combination with the 'gpl' option.
61 For rest of modules for consistency (people will likely
62 use newer features based on the top-level requirement).
63 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1084>
65 2021-09-28 10:11:15 +1000 Brad Hards <bradh@frogmouth.net>
68 doc: update IRC links to OFTC
69 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/945>
71 2021-09-26 01:07:02 +0100 Tim-Philipp Müller <tim@centricular.com>
75 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/925>
77 === release 1.19.2 ===
79 2021-09-23 01:36:02 +0100 Tim-Philipp Müller <tim@centricular.com>
88 2021-07-09 15:14:15 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
90 * omx/gstomxvideodec.c:
91 omxvideodec: fix OMX flags on header buffer
92 The header (SPS/PPS) buffer should have the CODECONFIG flag
93 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/49>
95 2021-07-09 14:52:59 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
97 * omx/gstomxvideodec.c:
98 omxvideodec: allow to start decoder on HEADER buffer
99 If the headers are sent in their own buffer
100 it won't have the SYNC_FRAME flag but we still
101 do want to start decoding rather than dropping it.
102 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/49>
104 2018-09-06 21:56:57 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
107 * omx/gstomxh264dec.c:
108 * omx/gstomxh265dec.c:
109 * omx/gstomxvideodec.c:
110 omxh26xdec: videodecoder support subframe
111 Use of subframe API from videodecoder base class.
112 This subframe allows to decode subframe instead of
113 waiting for a whole frame.
114 The subframe uses the same frame over the whole
115 subframe passing process and will wait
116 for a signal to know the last subframe.
117 In this implementation it will use
118 GST_VIDEO_BUFFER_FLAG_MARKER as the
119 end of batch of subframes.
120 This implement subframe mode negotation for the Zynq based on caps
121 negotation. This mode can be combined with low-latency mode, in order to
122 reach the lowest possible latency (assuming the stream is within the
123 low-latency constraints for the HW).
124 ... ! video/x-h264,alignment=nal ! omxh264dec ! ...
125 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/49>
127 2021-06-01 15:29:18 +0100 Tim-Philipp Müller <tim@centricular.com>
132 === release 1.19.1 ===
134 2021-06-01 00:16:41 +0100 Tim-Philipp Müller <tim@centricular.com>
143 2020-11-04 18:48:13 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
146 meson: Enable some MSVC warnings for parity with GCC/Clang
147 This makes it easier to do development with MSVC by making it warn
148 on common issues that GCC/Clang error out for in our CI configuration.
149 Continuation from https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/223
150 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/75>
152 2020-10-16 12:45:09 +0200 Stéphane Cerveau <scerveau@collabora.com>
154 * examples/egl/testegl.c:
156 meson: update glib minimum version to 2.56
157 In order to support the symbol g_enum_to_string in various
158 project using GStreamer ( gst-validate etc.), the glib minimum
159 version should be 2.56.0.
160 Remove compat code as glib requirement
162 Version used by Ubuntu 18.04 LTS
163 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/74>
165 2020-10-05 12:32:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
167 * omx/gstomxvideodec.c:
168 omxvideodec: support interlace-mode=interleaved input
169 interlace-mode=alternate is a special case of interlace-mode=interleaved
170 where the fields are split using two different buffers.
171 The Zynq decoder always produces alternate content and we
172 used to assume that upstream will set interlace-mode=alternate in its
174 This is no longer the case as h265parse is now setting
175 alternate-mode=interleaved on alternate content to not break compat with
176 elements not supporting alternate.
177 As a result the decoder now accept both 'interleaved' and 'alternate' on
178 its input and ensures that its ouput has interlace-mode=alternate.
179 Needed to fix https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/825
180 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/72>
182 2020-09-08 17:31:06 +0100 Tim-Philipp Müller <tim@centricular.com>
185 ci: include template from gst-ci master branch again
187 2020-09-08 16:59:09 +0100 Tim-Philipp Müller <tim@centricular.com>
192 === release 1.18.0 ===
194 2020-09-08 00:10:02 +0100 Tim-Philipp Müller <tim@centricular.com>
204 2020-08-27 17:19:44 +0100 Tim-Philipp Müller <tim@centricular.com>
206 * config/tizonia/meson.build:
207 meson: fix Tizonia build
208 Was failing for release versions with
209 meson.build:414:10: ERROR: Can not set values on configuration object that has been used.
210 Caused by !69, but CI didn't notice at the time because it was set to a git version.
212 === release 1.17.90 ===
214 2020-08-20 16:16:35 +0100 Tim-Philipp Müller <tim@centricular.com>
223 2020-07-08 17:39:20 +0100 Tim-Philipp Müller <tim@centricular.com>
227 * scripts/extract-release-date-from-doap-file.py:
228 meson: set release date from .doap file for releases
229 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/69>
231 2020-07-03 02:04:16 +0100 Tim-Philipp Müller <tim@centricular.com>
236 === release 1.17.2 ===
238 2020-07-03 00:37:06 +0100 Tim-Philipp Müller <tim@centricular.com>
247 2020-06-20 00:28:37 +0100 Tim-Philipp Müller <tim@centricular.com>
252 === release 1.17.1 ===
254 2020-06-19 19:27:38 +0100 Tim-Philipp Müller <tim@centricular.com>
263 2020-06-16 01:20:27 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
265 * docs/gst_plugins_cache.json:
266 docs: Update plugin cache json
267 https://gitlab.freedesktop.org/alatiera/gst-ci/-/jobs/3109574
268 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/68>
270 2020-06-03 22:24:09 -0400 Thibault Saunier <tsaunier@igalia.com>
272 * docs/gst_plugins_cache.json:
273 docs: Update documentation cache
275 2019-12-23 18:23:55 -0800 Dylan Yip <dylan.yip@xilinx.com>
278 omx: Add latest OMX_ALG_Index's to omx_index_type_to_str
279 Add following indexes to omx_index_type_to_str:
280 OMX_ALG_IndexParamVideoAccessUnitDelimiter
281 OMX_ALG_IndexParamVideoBufferingPeriodSEI
282 OMX_ALG_IndexParamVideoPictureTimingSEI
283 OMX_ALG_IndexParamVideoRecoveryPointSEI
284 OMX_ALG_IndexParamVideoMasteringDisplayColourVolumeSEI
285 OMX_ALG_IndexParamVideoContentLightLevelSEI
286 OMX_ALG_IndexConfigVideoRegionOfInterestByValue
287 OMX_ALG_IndexConfigVideoColorPrimaries
289 2020-05-20 17:05:33 +0200 Stéphane Cerveau <scerveau@collabora.com>
292 zynq: change API to use public 2020.01 from vcu-omx-il
293 This new release 2020.01 fixes an API typo
294 Change to OMX_ALG_IndexConfigVideoHighDynamicRangeSEI
295 instead of OMX_ALG_IndexConfigVideoHighDynamicRangeSEIs
298 2017-12-27 17:18:54 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
300 * omx/gstomxvideoenc.c:
301 omxvideoenc: factor out gst_omx_video_enc_allocate_out_buffers()
303 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/66>
305 2020-04-10 11:47:03 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
307 * omx/gstomxh265enc.c:
310 * omx/gstomxvideodec.c:
311 * omx/gstomxvideoenc.c:
312 omxvideoenc: remove unsupported formats from caps template
313 Our encoder implementation actually supports a small subset of the
314 formats supported by the decoder. Those are the formats for which we
315 have a copy path in gst_omx_video_enc_fill_buffer() and which are not
316 filtered out in filter_supported_formats().
318 2020-04-10 09:59:02 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
321 video: remove BGR from supported format
322 It's not supported by either decoder or encoder and is even not listed in
323 gst_omx_video_get_format_from_omx() so it can't work.
325 2020-04-10 10:21:16 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
327 * omx/gstomxvideoenc.c:
328 omxvideoenc: add GRAY8 support
329 It's supported by Zynq encoder and was already in the sink caps
332 2020-04-10 11:18:49 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
334 * omx/gstomxvideoenc.c:
335 omxvideoenc: factor out gst_omx_video_enc_copy_plane()
336 No semantic change, I'm going to use it to copy GRAY8 buffers which is
337 actually a single plane 8-bits format.
339 2020-04-10 10:58:34 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
341 * omx/gstomxvideoenc.c:
342 omxvideoenc: use gst_video_meta_get_plane_height() to compute slice height
343 This new API saves us from doing manual computation and actually work
344 with single planar formats, such as GRAY8.
346 2020-04-07 19:59:12 +0200 Stéphane Cerveau <scerveau@collabora.com>
348 * omx/gstomxh264enc.c:
349 * omx/gstomxh265enc.c:
351 * omx/gstomxvideoenc.c:
352 omxh26xenc: fix coverity with frame test
353 Coverity was complaining with:
354 Null pointer dereferences (REVERSE_INULL) Null-checking "frame"
355 suggests that it may be null, but it has already been
356 dereferenced on all paths leading to the check.
357 The frame == NULL has been removed as 'frame' is actively used
358 in the code above without any change of dereferencing and setting
359 its value to NULL before the test.
362 2020-03-19 16:23:41 +0100 Stéphane Cerveau <scerveau@collabora.com>
364 * omx/gstomxvideoenc.c:
365 gstomxvideoenc: fix subframe output_buffer
366 Using more than 1 subframes was failing with
367 frame->output_buffer = NULL
369 2020-02-06 10:21:49 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
371 * omx/gstomxvideodec.c:
372 omxvideodec: add support of alternate interlace mode on zynq
374 2020-02-06 10:11:13 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
376 * omx/gstomxh265enc.c:
377 * omx/gstomxvideoenc.c:
378 omxvideoenc: add support of alternate interlace mode on zynq
379 It's only supported by the Zynq HEVC encoder for now.
381 2020-02-06 10:12:50 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
384 omx: add alternate flags to buffer_flags_map
385 Zynq specific flags used to tag top/bottom fields in alternate mode.
387 2020-02-06 09:57:48 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
390 * omx/gstomxvideoenc.c:
391 omxvideo(enc): use GST_VIDEO_INFO_FIELD_RATE_N()
392 Does not change anything for now but will be needed when we'll support
393 interlace-mode=alternate as the field rate will be twice the frame rate.
394 Made the code safe from division by 0 while I was on it.
396 2020-02-06 09:36:20 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
398 * omx/gstomxvideodec.c:
399 * omx/gstomxvideoenc.c:
400 omxvideo{enc,dec}: use GST_VIDEO_INFO_FIELD_HEIGHT()
401 Does not change anything for now but will be needed when we'll support
402 interlace-mode=alternate as the fields will have half the frame height.
404 2020-02-25 10:45:47 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
407 omx: don't log error when failing to load conf file with generic target
408 The generic target is meant to only test building gst-omx. It doesn't
409 provide any configuration file and so is not supposed to register any
411 I'm not aware of any user building gst-omx with this target and
412 providing their own conf file to actually register elements. But best to
413 not break this use case anyway so let's just downgrade the log message.
414 Fix GST_ERROR in the 'check fedora' CI job.
416 2020-01-27 11:56:53 +0100 Stéphane Cerveau <scerveau@collabora.com>
419 meson: add glib project fallback
420 Add a fallback from glib project to provide glib, gio and
421 gmodule dependencies.
423 2020-01-15 11:06:12 +0000 Stéphane Cerveau <scerveau@collabora.com>
425 * omx/gstomxvideoenc.c:
426 omxvideoenc: fix warning
427 Fix warning test when OMX_BUFFERFLAG_ENDOFFRAME
430 2018-08-28 13:03:14 -0700 Varunkumar Allagadapa <varunkum@xilinx.com>
432 * omx/gstomxvideoenc.c:
433 * omx/gstomxvideoenc.h:
434 omxvideoenc: Add look-ahead property to ZYNQ_USCALE_PLUS encoder
435 This patch adds look-ahead property to encoder
436 The value indicates look ahead size in frames,
437 the number of frames processed ahead of second pass encoding.
438 Dual pass encoding is disabled if look-ahead
439 value is less than 2.
441 2018-08-06 13:02:41 -0700 Varunkumar Allagadapa <varunkum@xilinx.com>
443 * omx/gstomxvideoenc.c:
444 * omx/gstomxvideoenc.h:
445 omxvideoenc: Add long-term-ref support to ZYNQ_USCALE_PLUS encoder
446 Custom API that upstream elements can use to notify encoders about
447 marking longterm ref. pictures or using longterm ref. pictures in
449 This patch adds below properties:
450 long-term-ref: Enable/Disable dynamically marking long-term
451 reference pictures in encoding process
452 long-term-freq: Periodicity of long-term reference picture
453 marking in encoding process.
454 If a picture is marked as long-term reference picture then it remains
455 in the DPB list for ever unless it overrides with new long-term pitcure with
456 same index. Encoder can use this long-term picture as refence for
458 This feature is mostly useful to avoid visual artifacts propagation in streaming use cases
459 when packet loss happens. Instead of requesting for IDR, client can request for use long-term
460 reference picture for encoding.
462 2020-01-07 10:24:19 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
465 meson: display OMX target when configuring
466 I'm adding more gst-omx CI (
467 https://gitlab.freedesktop.org/gstreamer/gst-ci/issues/20 ) having the
468 OMX targets displayed in the logs makes things clearer.
470 2019-08-30 10:27:32 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
473 omx: remove useless double negations
474 flush and port->flushing are both gboolean.
476 2019-12-20 22:19:06 -0800 Julien Isorce <jisorce@oblong.com>
479 meson: fix tizonia build
480 meson.build was both using path to gst-omx/openmax/OMX*
481 headers and path to OMX headers provided by tizilheaders.pc
482 so this patch makes sure we only use the later.
483 Also bump tizonia minimum version to 0.19.0 which
484 is the latest release.
486 2019-05-16 10:50:18 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
488 * omx/gstomxh265enc.c:
489 * omx/gstomxh265enc.h:
490 omxh265enc: handle CODECCONFIG buffers
491 Exact same code as omxh264enc.
493 2019-05-16 10:38:49 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
495 * omx/gstomxh264enc.c:
496 omxh264enc: send codec data downstream
497 We are operating in stream-format=byte-stream so the codec data buffer
498 is meant to be part of the buffer flow.
499 The base class will push it when a key frame is requested (as we stored
500 it with gst_video_encoder_set_headers()) but we still have to push it
501 right away as part of the normal buffer flow.
502 Also set the HEADER flag on this buffer.
504 2019-05-16 10:38:49 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
506 * omx/gstomxh264enc.c:
507 omxh264enc: no need to check if codeconfig has startcode
508 We currently only support stream-format=byte-stream so there is no point
509 re-checking for it when handling CODECCONFIG buffer.
511 2018-09-04 20:12:17 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
513 * omx/gstomxh264enc.c:
514 * omx/gstomxh265enc.c:
515 omxh26xenc: Negotiate subframe mode
516 We now negotiate subframe mode through the caps. To enabled subframe
517 mode, the caps need to specify alignment=nal:
518 ... ! omxh264enc ! video/x-h264,alignment=nal ! ...
519 ... ! omxh265enc ! video/x-h265,alignment=nal ! ...
521 2018-08-31 12:24:34 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
523 * omx/gstomxvideoenc.c:
524 omxvideoenc: use subframe base class API
525 Use subframe base class support.
527 2018-09-04 19:34:59 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
531 omx: Add helper to enable/disable/read subframe mode
533 2019-12-19 13:51:17 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
536 zynq: add mapping for latest custom indexes
537 Fix warning when building using version 2019.2 of OMX headers.
539 2019-09-12 16:29:59 -0700 Varunkumar Allagadapa <varunkumar.allagadapa@xilinx.com>
541 * omx/gstomxvideoenc.c:
542 omxvideoenc: update qp-mode settings
543 Adds load-qp-absolute and load-qp-relative qp-modes
545 2019-12-10 18:34:25 +0900 Shinya Saito <ssaito@igel.co.jp>
547 * omx/gstomxvideoenc.c:
548 omxvideoenc: Add stride check for input buffer extraction
549 Stride of input buffer may be different from
550 that of omx input port even if both sizes are the same.
552 2019-05-15 14:04:47 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
554 * omx/gstomxvideoenc.c:
555 omxvideoenc: pass padding requirements to ALLOCATION query
556 By passing the expected video buffer layout, the upstream producer
557 may be able to produce buffers fitting those requierements allowing
558 gst-omx to use dynamic buffer mode rather than having to copy each input
560 This is particularly useful with v4l2src as it can request the capture
561 driver to produce buffers with the required paddings.
563 2019-07-09 13:07:32 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
565 * omx/gstomxbufferpool.c:
568 omxbufferpool: use gst_video_meta_set_alignment()
569 Tell buffer consumer about our paddings.
570 v4l2src can now uses these paddings information when trying to import
571 buffers to configure the v4l2 driver accordingly.
573 2019-05-30 11:11:34 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
575 * omx/gstomxvideoenc.c:
576 omxvideoenc: fix buffer size in debug log
577 Use the actual OMX buffer size rather than the info.size as OMX
578 may require larger buffer if the port requires some padding.
580 2019-10-14 00:48:32 +0100 Tim-Philipp Müller <tim@centricular.com>
587 * config/Makefile.am:
588 * config/bellagio/Makefile.am:
589 * config/rpi/Makefile.am:
590 * config/tizonia/Makefile.am:
591 * config/zynqultrascaleplus/Makefile.am:
593 * examples/Makefile.am:
594 * examples/egl/Makefile.am:
598 * tests/check/.gitignore:
599 * tests/check/Makefile.am:
600 * tests/check/generic/.gitignore:
602 Remove autotools build
604 2019-10-07 16:59:10 +0000 Stéphane Cerveau <scerveau@collabora.com>
606 * omx/gstomxallocator.c:
607 omxallocator: fix leak with a proper chaining finalize
609 2019-09-20 15:02:24 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
611 * omx/gstomxvideoenc.c:
612 omxvideoenc: revert draining on ALLOCATION and DRAIN query
613 My latest patch introduces some regressions which I have no time to
614 debug properly at the moment so just revert it for now.
616 2019-09-17 13:02:54 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
618 * omx/gstomxvideoenc.c:
619 omxvideoenc: let encoder base class handle ALLOCATION query
620 Fixing a regression introduced in my previous patch
621 (7c40a91c31aa4bcbb191f7c6a5d222edf9dfd9d1).
622 The ALLOCATION query needs to be handled by GstVideoEncoder (to call
623 propose_allocation()) so chain up the query handling rather than early
626 2019-08-29 12:20:56 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
628 * omx/gstomxvideoenc.c:
629 omxvideoenc: drain encoder on ALLOCATION and DRAIN queries
630 Ensure that the encoder releases all its input buffers when requested by
631 upstream. Encoder input buffers may be shared with downstreaming (when
632 using dmabuf), upstream may then request the encoder to
633 drain when reconfiguring before destroying its buffers.
634 Also drain on ALLOCATION query as we already do in kmssink as that
635 notify of a format change.
636 Fix "decoder ! encoder" pipeline when decoding a file with different
639 2019-08-28 15:52:41 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
642 omx: log the number of pending buffers when port is EOS
644 2019-08-28 15:49:00 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
647 omx: log when an output port is eos
649 2019-08-27 15:47:28 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
651 * omx/gstomxvideoenc.c:
652 omxvideoenc: log the full input format
653 Make it easier to debug dynamic format changes.
655 2019-08-21 12:25:40 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
657 * omx/gstomxvideodec.c:
658 omxvideodec: fix dmabuf import
659 When importing dmabuf, UseBuffer() has to be called with the fd as
660 pBuffer rather than the mapped address of the buffer.
662 2019-08-21 12:48:25 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
664 * omx/gstomxbufferpool.c:
665 omxbufferpool: fix dmabuf import
666 When importing dmabuf from downstream, we want the allocator to be in
667 OTHER_POOL mode despite output_mode being DMABUF.
668 So check first if other_pool is set before checking for pool's
671 2019-08-22 17:55:54 +0900 Shinya Saito <ssaito@igel.co.jp>
673 * omx/gstomxvideoenc.c:
674 omxvideoenc: Remove unnecessary gst_video_frame_unmap()
676 2019-07-25 16:30:13 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
678 * omx/gstomxvideodec.c:
679 omxvideodec: log supported caps by the decoder
680 Can be useful when debugging to check the caps supported by the decoder
683 2019-07-11 12:03:46 +0900 Shinya Saito <ssaito@igel.co.jp>
685 * omx/gstomxvideoenc.c:
686 omxvideoenc: Unref frame of codec config buffer
687 After handling codec config, codec frame should be unreffed.
689 2019-06-14 16:27:37 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
692 omxvideo: check difference between frame and requested ts
693 This has proven to be very useful when debugging to detect bugs where we
694 match the wrong gst frame with an output OMX buffer.
696 2019-06-14 10:57:29 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
700 * omx/gstomxvideodec.c:
701 * omx/gstomxvideoenc.c:
702 omxvideo: add debug infos to find_nearest_frame()
703 Those debug infos have proved to be very helpful when debugging
704 timestamp issues. They are often linked to gst-omx picking the wrong
705 frame when trying to map from OMX.
707 2019-03-05 16:57:40 +0900 Shinya Saito <ssaito@igel.co.jp>
709 * omx/gstomxvideodec.c:
710 omxvideodec: Deactivate negotiated pool when output own buffer
711 If decoder outputs internal buffer and not use OMX_UseBuffer,
712 downstream bufferpool should be stopped.
714 2019-06-03 12:21:05 +0900 Shinya Saito <ssaito@igel.co.jp>
716 * omx/gstomxh264enc.c:
717 * omx/gstomxh264enc.h:
718 omxh264enc: Add 'ref-frames' property
719 Add a property to control the number of frames for reference.
720 Min and max value is based on OpenMAX IL 1.2.0 Specification.
722 2019-06-03 07:57:02 +0200 Niels De Graef <niels.degraef@barco.com>
726 meson: Bump minimal GLib version to 2.44
727 This means we can use some newer features and get rid of some
728 boilerplate code using the G_DECLARE_* macros.
729 As discussed on IRC, 2.44 is old enough by now to start depending on it.
731 2019-04-19 12:38:54 -0400 Thibault Saunier <tsaunier@igalia.com>
733 * docs/gst_plugins_cache.json:
740 doc: Build documentation of hotdoc
742 2019-03-26 12:26:03 +0200 George Kiagiadakis <george.kiagiadakis@collabora.com>
746 gstomx: remove gst_omx_buffer_set_omx_buf/get_omx_buf
747 They are no longer used anywhere
749 2019-03-22 12:11:13 +0200 George Kiagiadakis <george.kiagiadakis@collabora.com>
752 * omx/gstomxallocator.c:
753 * omx/gstomxallocator.h:
754 * omx/gstomxbufferpool.c:
755 * omx/gstomxbufferpool.h:
756 * omx/gstomxvideoenc.c:
758 omxbufferpool: refactor to allow memory sharing
759 One big restriction of the OMX buffer pool has always been
760 that the GstMemory objects were flagged with NO_SHARE.
761 This was because the buffer pool needed to be sure that when
762 a buffer returned to the pool, it would be safe to release the
763 OMX buffer back to OpenMAX.
764 With this change, this is no longer a restriction. What this
765 commit introduces is a new allocator that allows us to track
766 the GstMemory objects independently. Now, when a buffer returns
767 to the pool, it is not necessary for the memory to be released
768 as well. We simply track the memory's ref count in the allocator
769 and we return the OMX buffer back when the memory's ref count
771 The reason for doing this is to allow implementing zero-copy
772 transfers in situations where we may need to copy or map a
773 certain region of the buffer. For instance, omxh264enc ! h264parse
774 should be possible to be zero-copy by using an OMX buffer pool
777 2019-04-23 15:13:23 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
779 * omx/gstomxbufferpool.c:
780 omxbufferpool: fix memory mapping with offset
781 gst_memory_map() is already adding the offset to the mapped pointer.
782 Doing it in the memory implementation was resulting in the offset being
784 It doesn't matter yet as we are only creating memory without offset for
785 now but it will once we'll start sharing OMX memories.
787 2019-04-19 10:43:58 +0100 Tim-Philipp Müller <tim@centricular.com>
794 === release 1.16.0 ===
796 2019-04-19 00:38:44 +0100 Tim-Philipp Müller <tim@centricular.com>
806 2019-04-16 12:23:10 -0700 Julien Isorce <jisorce@oblong.com>
809 Fixes build with omx >= 1.2.0
810 gstomx.c:1405:10: error: ‘OMX_IndexParamCustomContentPipe’ undeclared (first use in this function)
811 case OMX_IndexParamCustomContentPipe
812 Some enums have been deprecated in 1.2.0
813 https://gitlab.freedesktop.org/gstreamer/gst-omx/issues/27
815 2018-05-18 10:55:21 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
818 * examples/egl/Makefile.am:
819 * examples/egl/meson.build:
820 testegl: properly detect and use rpi specific libs
821 Use pkg-config to detect and configure rpi specific libs used in testegl
822 rather than hardcoding their flags.
824 2018-05-18 10:53:34 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
826 * examples/egl/testegl.c:
827 testelg: include eglext.h
828 Neded for the declaration of eglSaneChooseConfigBRCM().
830 2018-05-18 10:38:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
832 * examples/egl/testegl.c:
833 testegl: move up pi specific macros
834 We need to define __VCCOREVER__ and disable redundant-decls before
835 including the egl.h from the pi.
837 === release 1.15.90 ===
839 2019-04-11 00:40:52 +0100 Tim-Philipp Müller <tim@centricular.com>
849 2019-04-10 00:19:55 +0100 Tim-Philipp Müller <tim@centricular.com>
852 meson: add -Wundef as additional warning flag
854 2019-04-10 00:16:27 +0100 Tim-Philipp Müller <tim@centricular.com>
856 * omx/gstomxvideoenc.c:
857 omx: fix autotools build for generic target
858 gstomxvideoenc.c:2874:7: error: "USE_OMX_TARGET_ZYNQ_USCALE_PLUS" is not defined, evaluates to 0 [-Werror=undef]
859 #elif USE_OMX_TARGET_ZYNQ_USCALE_PLUS
860 Works on meson because it doesn't use -Wundef
862 2018-11-12 12:51:28 +0200 Jordan Petridis <jordan@centricular.com>
865 Add Gitlab CI configuration
866 This commit adds a .gitlab-ci.yml file, which uses a feature
867 to fetch the config from a centralized repository. The intent is
868 to have all the gstreamer modules use the same configuration.
869 The configuration is currently hosted at the gst-ci repository
870 under the gitlab/ci_template.yml path.
871 Part of https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/29
873 2019-03-25 16:30:11 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
876 omx: disable OMX_API_TRACE code if gst debug is disabled
877 No need to create debug structs which won't be used as DEBUG macros are
880 2018-10-11 10:55:04 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
883 omx: log Get/SetParameter/Config calls
884 Extend OMX_API_TRACE by logging component configuration calls.
886 2019-02-06 14:57:05 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
888 * omx/gstomxbufferpool.c:
889 omxbufferpool: don't use CAT_PERFORMANCE if pool will copy
890 This was the single place where this category was used in gst-omx so
891 most users, including me, are generally not turning it and were missing this
892 important information from logs.
893 The copying code uses gst_video_frame_copy() which is already logging
894 with CAT_PERFORMANCE so we can still have this information when using
895 only this debug category.
897 2019-02-06 14:50:44 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
899 * omx/gstomxvideodec.c:
900 omxvideodec: add debug if proposed pool can't provide enough buffers
901 We were silently ignoring the pool which was pretty confusing when
904 2019-03-26 12:17:26 +0000 Charlie Turner <cturner@igalia.com>
906 * omx/gstomxaacdec.c:
907 * omx/gstomxaacenc.c:
908 * omx/gstomxamrdec.c:
909 * omx/gstomxh263dec.c:
910 * omx/gstomxh263enc.c:
911 * omx/gstomxh264dec.c:
912 * omx/gstomxh264enc.c:
913 * omx/gstomxh265dec.c:
914 * omx/gstomxh265enc.c:
915 * omx/gstomxmjpegdec.c:
916 * omx/gstomxmp3dec.c:
917 * omx/gstomxmp3enc.c:
918 * omx/gstomxmpeg2videodec.c:
919 * omx/gstomxmpeg4videodec.c:
920 * omx/gstomxmpeg4videoenc.c:
921 * omx/gstomxtheoradec.c:
922 * omx/gstomxvp8dec.c:
923 * omx/gstomxwmvdec.c:
924 omx: Add hardware classifiers to encoders/decoders
926 2019-03-25 16:01:48 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
929 meson: sync warnings flags with -good
930 Add more warnings flags and disabled unused variable warnings if gst
931 debug system is disabled.
932 Copied from gst-plugins-good/meson.build
934 2019-03-04 09:16:40 +0000 Tim-Philipp Müller <tim@centricular.com>
942 === release 1.15.2 ===
944 2019-02-26 12:02:23 +0000 Tim-Philipp Müller <tim@centricular.com>
954 2019-02-14 23:57:09 +0000 Tim-Philipp Müller <tim@centricular.com>
958 meson: add options to disable examples, tests and tools and bump meson requirement
960 2019-01-04 10:11:38 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
964 * omx/gstomxvideodec.c:
965 * omx/gstomxvideoenc.c:
966 omxvideo: use GST_VIDEO_CAPS_MAKE() for template caps
967 Simplify the code and so we advertise the formats actually supported by
970 2018-06-04 12:20:03 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
972 * omx/gstomxvideoenc.c:
973 omxvideoenc: validate cpb-size and initial-delay
974 cpb-size cannot be smaller than initial-delay.
976 2018-10-02 10:47:06 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
978 * omx/gstomxvideodec.c:
979 omxvideodec: Remove duplicated QoS code
980 The 'finish' function do the exact same check / drop, there is no
981 need to duplicate this here.
983 2018-09-20 14:44:09 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
985 * omx/gstomxvideodec.c:
986 * omx/gstomxvideodec.h:
987 omxvideodec: Remove dead code
988 The omxvideodec base class have a totally unused prepare_frame() vritual
991 2018-07-11 17:38:22 -0700 Varunkumar Allagadapa <varunkum@xilinx.com>
993 * omx/gstomxvideoenc.c:
994 omxvideoenc: add adaptive gop-mode option
995 Added adaptive gop-mode option to ZYNQ_USCALE_PLUS encoder properties
997 2018-02-13 18:25:51 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
999 * omx/gstomxvideoenc.c:
1000 omxvideoenc: Add dynamic framerate support
1001 Instead of going through a full reset, try and change the framerate
1002 config on the encoder when only the framerate have change.
1004 === release 1.15.1 ===
1006 2019-01-17 02:38:28 +0000 Tim-Philipp Müller <tim@centricular.com>
1016 2018-02-20 10:57:42 -0800 Varunkumar Allagadapa <varunkum@xilinx.com>
1018 * omx/gstomxvideoenc.c:
1019 omxvideoenc: Add dynamic IDR insertion support on zynq
1020 As the pi, the zynq has its own API to request keyframe.
1022 2019-01-07 13:29:37 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
1026 * omx/gstomxbufferpool.c:
1027 omxbufferpool: fix race when releasing input buffers
1028 If buffers were released from the pool while
1029 gst_omx_video_enc_handle_frame() was waiting for new buffers,
1030 gst_omx_port_acquire_buffer() was never awaken as the buffers weren't
1031 released through OMX's messaging system.
1032 GQueue isn't thread safe so also protect it with the lock mutex.
1034 2018-11-15 11:17:59 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1036 * omx/gstomxbufferpool.c:
1037 * omx/gstomxbufferpool.h:
1038 * omx/gstomxvideodec.c:
1039 * omx/gstomxvideoenc.c:
1040 omxbufferpool: fix early input buffer release
1041 We used to track the 'allocating' status on the pool. It is used while
1042 allocating so output buffers aren't passed right away to OMX and input
1043 ones are not re-added to the pending queue.
1044 This was causing a bug when exporting buffers to v4l2src. On start
1045 v4l2src acquires a buffer, read its stride and release it right away.
1046 As no buffer was received by the encoder element at this point, 'allocating'
1047 was still on TRUE and so the the buffer wasn't put back to the pending
1048 queue and, as result, no longer available to the pool.
1049 Fix this by checking the active status of the pool instead of manually
1050 tracking it down. The pool is considered as active at the very end of
1051 the activation process so we're good when buffers are released during
1054 2018-12-05 17:24:48 -0300 Thibault Saunier <tsaunier@igalia.com>
1057 Automatic update of common submodule
1058 From ed78bee to 59cb678
1060 2018-11-23 12:57:15 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
1063 omx: fix OMX_EventBufferFlag OMX_API_TRACE struct
1064 The GType was missing from the second field of the struct.
1066 2018-11-05 05:43:43 +0000 Matthew Waters <matthew@centricular.com>
1070 Update git locations to gitlab
1072 2018-09-18 16:50:11 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1075 omx: rename OMX_PERFORMANCE debug cat to OMX_API_TRACE
1076 This debug category can now be used to track more OMX calls and events
1077 so best to rename it to something more generic.
1078 https://bugzilla.gnome.org/show_bug.cgi?id=797171
1080 2018-08-21 17:35:04 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1083 omx: log OMX commands with OMX_PERFORMANCE debug category
1084 It has been useful to have a clear raw and structured view of the gst
1085 <-> OMX exchanges when debugging.
1086 https://bugzilla.gnome.org/show_bug.cgi?id=797171
1088 2018-08-21 16:50:38 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1091 omx: factor out gst_omx_component_send_command()
1092 No semantic change. I'm going to add extra debug in this function.
1093 https://bugzilla.gnome.org/show_bug.cgi?id=797171
1095 2018-08-21 15:14:09 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1098 omx: log OMX events with OMX_PERFORMANCE debug category
1099 It has been useful to have a clear raw and structured view of the gst
1100 <-> OMX exchanges when debugging.
1101 https://bugzilla.gnome.org/show_bug.cgi?id=797171
1103 2018-08-22 12:51:30 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1106 omx: rename log_omx_performance() to log_omx_performance_buffer()
1107 I'm about to log more things under this category
1108 https://bugzilla.gnome.org/show_bug.cgi?id=797171
1110 2018-09-07 22:57:30 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1112 * omx/gstomxvideoenc.c:
1113 omxvideoenc: Remove spurious locking
1114 The method we call in the context of pushing a buffer are all thread
1115 safe. Holding a lock would prevent input buffers from being queued while
1117 https://bugzilla.gnome.org/show_bug.cgi?id=715192
1119 2018-09-07 23:09:29 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1121 * omx/gstomxvideoenc.c:
1122 omxvideoenc: Remove unneeded size check
1123 We only enter this branch if nFilledLen > 0, there is not need
1125 https://bugzilla.gnome.org/show_bug.cgi?id=715192
1127 2018-09-07 22:55:41 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1129 * omx/gstomxvideodec.c:
1130 omxvideodec: Remove spurious unlock in error case
1131 This was forgotton in previous patch. We no long hold the lock when goto
1132 invalid_buffer is called.
1133 https://bugzilla.gnome.org/show_bug.cgi?id=715192
1135 2018-08-31 17:28:03 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1137 * omx/gstomxvideodec.c:
1138 omxvideodec: don't hold the stream lock when trying to push a frame
1139 The base class methods will lock this properly when needed, there seems
1140 to be no need to lock it explicitly.
1141 This allows the patch in gstvideodec for unlocking the stream lock
1142 when pushing buffers out to work.
1143 https://bugzilla.gnome.org/show_bug.cgi?id=715192
1145 2018-07-31 13:22:31 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1147 * omx/gstomxvideodec.c:
1148 omxvideodec: don't import OMX buffers from downstream
1149 We already have code configuring the encoder stride and slice height
1150 when receiving the first buffer from upstream.
1151 We don't have an equivalent when the encoder is exporting its buffers to the
1153 There is no point adding it and making the code even more
1154 complex as we wouldn't gain anything by exporting from the encoder to
1155 the decoder. The dynamic buffer mode already ensures 0-copy between OMX
1157 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1159 2018-05-15 11:59:26 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1163 * omx/gstomxbufferpool.c:
1164 * omx/gstomxvideoenc.c:
1165 * omx/gstomxvideoenc.h:
1166 omxvideoenc: implement dmabuf export on input buffers
1167 Propose pool upstream so input buffers can be allocated by the port and
1169 The actual OMX buffers are allocated when the pool is activated, so we
1170 don't end up doing useless allocations if the pool isn't used.
1171 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1173 2018-08-13 15:10:37 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1177 * omx/gstomxaudiodec.c:
1178 * omx/gstomxaudioenc.c:
1179 * omx/gstomxaudiosink.c:
1180 * omx/gstomxvideodec.c:
1181 * omx/gstomxvideoenc.c:
1182 omx: allow gst_omx_port_acquire_buffer() to not wait for buffers
1183 Will be needed to implement GST_BUFFER_POOL_ACQUIRE_FLAG_DONTWAIT.
1184 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1186 2018-07-31 15:04:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1188 * omx/gstomxvideodec.c:
1189 omxvideodec: don't import non-dmabuf when dec is in dmabuf mode
1190 Fix 'omxh264dec ! videocrop' pipeline.
1191 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1193 2018-08-02 11:29:12 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1195 * omx/gstomxvideodec.c:
1196 omxvideodec: factor out gst_omx_try_importing_buffer()
1197 No semantic change, just make the code clearer and improve debug output.
1198 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1200 2018-07-26 16:30:08 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1202 * omx/gstomxvideodec.c:
1203 omxvideodec: fix gst_video_info_from_caps() caps assertion
1204 The "use buffers" code path uses gst_video_info_from_caps() which is
1205 asserting if caps is NULL (because pool was rejected).
1206 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1208 2018-07-26 16:22:50 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1210 * omx/gstomxvideodec.c:
1211 omxvideodec: fix pool caps reference stealing
1212 gst_buffer_pool_config_get_params() doesn't ref the returning caps;
1213 so gst_caps_replace() was unreffing the reference owned by the pool.
1214 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1216 2018-07-25 09:57:20 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1218 * omx/gstomxvideodec.c:
1219 omxvideodec: prevent timeout when shutting down because of pending out buffers
1220 The OMX transition state to Loaded won't be complete until all buffers
1221 have been freed. There is no point waiting, and timeout, if we know that
1222 output buffers haven't been freed yet.
1223 The typical scenario is output buffers being still used downstream
1224 and being freed later when released back to the pool.
1225 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1227 2018-07-24 15:14:31 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1229 * omx/gstomxbufferpool.c:
1230 omxbufferpool: reference the OMX component
1231 Now that the pool is responsible of freeing the OMX buffers, we need to
1232 ensure that the OMX component stay alive while the pool is as we rely on
1233 the component to free the buffers.
1234 The GstOMXPort is owned by the component so no need to ref this one.
1235 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1237 2018-07-24 15:06:01 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1241 * omx/gstomxaudiodec.c:
1242 * omx/gstomxaudioenc.c:
1243 * omx/gstomxaudiosink.c:
1244 * omx/gstomxvideodec.c:
1245 * omx/gstomxvideoenc.c:
1246 turn GstOMXComponent to a GstMiniObject
1247 Will use it for refcounting.
1248 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1250 2018-05-28 12:20:45 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1252 * omx/gstomxbufferpool.c:
1253 * omx/gstomxvideodec.c:
1254 omxbufferpool: deallocate OMX buffers when stopping
1255 The pool is stopped when all the buffers have been released. Deallocate
1256 when stopping so we are sure that the buffers aren't still used by
1258 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1260 2018-05-24 16:28:21 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1263 omx: call gst_omx_buffer_unmap() when handling BUFFER_DONE
1264 When using a input buffer pool, the buffer may be released to the pool when
1265 gst_omx_buffer_unmap() is called. We need to have buf->used unset at
1266 this point as the pool may use it to check the status of the pool.
1267 {Empty,Fill}BufferDone is called from OMX internal threads while
1268 messages are handled from gst elements' thread. Best to do all this
1269 when handling the message so we don't mess with OMX threads and keep
1270 the original thread/logic split.
1271 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1273 2018-05-25 14:44:16 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1275 * omx/gstomxvideodec.c:
1276 * omx/gstomxvideoenc.c:
1277 omxvideo{enc,dec}: stop calling shutdown() in change_state
1278 This is no longer needed since we implemented close() vfuncs as the
1279 encoder/decoder base class already take care of calling close() (which
1280 is calling shutdown()) in its own change_state implementation.
1281 We also move the shut down of the component from PAUSED_TO_READY to READY_TO_NULL.
1282 By doing so upstream will have already deactivated the pool from the
1283 encoder and so won't be preventing the OMX state change as the buffers
1284 will all be released.
1285 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1287 2018-05-15 16:21:26 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1291 * omx/gstomxbufferpool.c:
1292 omx: factor out gst_omx_buffer_get/set_omx_buf()
1293 Move the qdata code to helper functions as I'm going to need them in
1294 omxvideoenc to implement dmabuf export.
1295 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1297 2018-05-15 11:01:13 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1299 * omx/gstomxvideoenc.c:
1300 omxvideoenc: factor out gst_omx_video_enc_set_to_idle()
1301 No semantic change. We'll have to use this when the input pool is
1302 activated so we can allocate buffers.
1303 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1305 2018-05-15 09:56:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1307 * omx/gstomxvideoenc.c:
1308 omxvideoenc: factor out gst_omx_video_enc_deallocate_in_buffers()
1309 Will add extra code when adding input buffer pool.
1310 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1312 2018-05-14 15:16:38 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1315 omx: add pBuffer to OMX_PERFORMANCE logs
1316 Can be useful to check the fd being passed when using dmabuf.
1317 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1319 2018-03-21 12:43:33 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1323 * omx/gstomxvideodec.c:
1324 * omx/gstomxvideoenc.c:
1325 omx: factor out gst_omx_port_set_dmabuf()
1326 No semantic change. I also made the debug message a bit clearer.
1327 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1329 2018-08-22 15:56:18 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1332 omx: wait for flush complete and buffers being released when flushing
1333 When flusing we should wait for OMX to send the flush command complete event
1334 AND all ports being released.
1335 We were stopping as soon as one of those condition was met.
1336 Fix a race between FillThisBufferDone/EmptyBufferDone and the flush
1337 EventCmdComplete messages. The OMX implementation is supposed to release
1338 its buffers before posting the EventCmdComplete event but the ordering
1339 isn't guaranteed as the FillThisBufferDone/EmptyBufferDone and
1340 EventHandler callbacks can be called from different threads (cf 2.7
1341 'Thread Safety' in the spec).
1342 Only wait for buffers currently used by OMX as some buffers may not be
1343 in the pending queue because they are held downstream.
1344 https://bugzilla.gnome.org/show_bug.cgi?id=789475
1346 2018-08-22 15:52:23 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1349 omx: factor out should_wait_until_flushed()
1350 No semantic change. Makes the code easier to understand and I'm about to
1351 change the waiting condition.
1352 https://bugzilla.gnome.org/show_bug.cgi?id=789475
1354 2018-08-28 13:10:35 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1356 * omx/gstomxvideoenc.c:
1357 omxvideoenc: pause component when flushing
1358 As stated in the spec ("6.1.3 Seek Event Sequence") we should pause
1360 We were pausing the decoder but not the encoder so I just aligned the
1362 https://bugzilla.gnome.org/show_bug.cgi?id=797038
1364 2018-07-12 12:41:18 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1366 * omx/gstomxvideoenc.c:
1367 omxvideoenc: fix vertical padding in NV16 formats
1368 My previous patch to calculate the vertical padding was always halfing
1369 the height of the chroma plane which is incorrect for NV16 formats.
1370 https://bugzilla.gnome.org/show_bug.cgi?id=796749
1372 2018-07-05 15:13:47 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1374 * omx/gstomxvideoenc.c:
1375 omxvideoenc: include vertical padding in nFilledLen when copying
1376 According to the OMX spec (3.1.3.7.1) nFilledLen is meant to include any
1377 padding. We use to include the horizontal one (stride) but not the
1378 vertical one if nSliceHeight is bigger than the actual height.
1379 The calculated nFilledLen was wrong as it didn't include the padding
1381 https://bugzilla.gnome.org/show_bug.cgi?id=796749
1383 2018-04-26 12:30:47 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1387 * omx/gstomxvideodec.c:
1388 * omx/gstomxvideoenc.c:
1389 * omx/gstomxvideoenc.h:
1390 omxvideoenc: implement decide_allocation
1391 Increase the number of output buffers by the number of buffers requested
1393 Prevent buffers starvation if downstream is going to use dynamic buffer
1395 https://bugzilla.gnome.org/show_bug.cgi?id=795746
1397 2018-04-26 12:29:16 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1399 * omx/gstomxvideodec.c:
1400 omxvideodec: implement propose_allocation
1401 Tell upstream about how many buffer we plan to use so they can adjust
1402 their own number of buffers accordingly if needed.
1403 Same logic as the existing gst_omx_video_enc_propose_allocation().
1404 https://bugzilla.gnome.org/show_bug.cgi?id=795746
1406 2018-05-17 09:54:11 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1408 * omx/gstomxvideoenc.c:
1409 * omx/gstomxvideoenc.h:
1410 omxvideoenc: always signal drain cond when stopping streaming loop
1411 Similar change as the one I just did in omxvideodec.
1412 https://bugzilla.gnome.org/show_bug.cgi?id=796207
1414 2018-05-16 17:06:29 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1416 * omx/gstomxvideodec.c:
1417 * omx/gstomxvideodec.h:
1418 omxvideodec: always signal drain cond when stopping streaming loop
1419 If for some reason something goes wrong and we stop the streaming loop
1420 we may end up with other threads still waiting on the drain cond.
1421 No more buffers will be produced by the component so they were waiting
1423 Fix this by always signalling this cond when stopping the streaming
1425 https://bugzilla.gnome.org/show_bug.cgi?id=796207
1427 2018-05-16 17:02:01 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1429 * omx/gstomxvideodec.c:
1430 omxvideoenc: factor out gst_omx_video_enc_pause_loop()
1431 No semantic change. I'm going to use it in more failure cases.
1432 https://bugzilla.gnome.org/show_bug.cgi?id=796207
1434 2018-05-17 14:24:52 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1436 * config/zynqultrascaleplus/gstomx.conf:
1437 zynqultrascaleplus: enable 'ensure-buffer-count-actual' hack
1438 https://bugzilla.gnome.org/show_bug.cgi?id=791211
1440 2018-04-27 16:26:36 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1444 * omx/gstomxvideodec.c:
1445 * omx/gstomxvideoenc.c:
1446 omxvideodec/enc: add hack updating nBufferCountActual before allocating
1447 The OMX specs states that the nBufferCountActual of a port has to default
1448 to its nBufferCountMin. If we don't change nBufferCountActual we purely rely
1449 on this default. But in some cases, OMX may change nBufferCountMin before we
1450 allocate buffers. Like for example when configuring the input ports with the
1451 actual format, it may decrease the number of minimal buffers required.
1452 This method checks this and update nBufferCountActual if needed so we'll use
1453 less buffers than the worst case in such scenarios.
1454 SetParameter() needs to be called when the port is either disabled or
1455 the component in the Loaded state.
1456 Don't do this for the decoder output as
1457 gst_omx_video_dec_allocate_output_buffers() already check
1458 nBufferCountMin when computing the number of output buffers.
1459 On some platform, like rpi, the default nBufferCountActual is much
1460 higher than nBufferCountMin so only enable this using a specific gst-omx
1462 https://bugzilla.gnome.org/show_bug.cgi?id=791211
1464 2018-05-28 15:02:13 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1466 * omx/gstomxvideodec.c:
1467 * omx/gstomxvideoenc.c:
1468 omxvidee{enc,dec}: refresh input port definition after setting format
1469 Setting the input format and the associated encoder/decoder settings
1470 may also affect the nBufferCountMin of the input port.
1471 Refresh the input port so we'll use up to date values in propose/decide
1473 https://bugzilla.gnome.org/show_bug.cgi?id=796445
1475 2018-05-07 11:59:08 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1478 omx: always consider component in 'invalid' state when an error occured
1479 gst_omx_component_get_state() used to early return if there was no
1480 pending state change. So if the component raised an error it wasn't
1481 considered in the invalid state until the next requested state change.
1482 Fix this by checking first if we received an error.
1483 https://bugzilla.gnome.org/show_bug.cgi?id=795874
1485 2018-05-25 01:35:58 +1000 Matthew Waters <matthew@centricular.com>
1488 * meson_options.txt:
1489 meson: Update option names to omit 'with_omx' prefixes
1490 Companion commit to:
1491 https://cgit.freedesktop.org/gstreamer/gstreamer/commit/?id=4fb02fc85b70be631f5331b2547e5dc61ef7a43a
1492 https://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=1e1a5d658e4a031535c44823fd398d3052ca2000
1495 2018-03-21 13:52:23 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1497 * omx/gstomxvideodec.c:
1498 omxvideodec: pass a GstOMXBufferMode to gst_omx_buffer_pool_new()
1499 The output_mode is supposed to be a GstOMXBufferMode, not a boolean.
1501 2018-05-03 09:27:15 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1503 * config/zynqultrascaleplus/gstomx.conf:
1504 zynq: remove 'no-disable-outport' hack
1505 No longer needed with newer version of the OMX stack.
1507 2018-03-13 16:15:30 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1509 * omx/gstomxh264enc.c:
1510 * omx/gstomxh265enc.c:
1511 omxh26{4,5}enc: don't pick default 10-bit profile
1512 The OMX stack of the zynqultrascaleplus (the only one supporting
1513 NV12_10LE32 and NV16_10LE32) will now pick the proper profile if none
1514 has been requested. Best to rely on its default than hardcoding a
1515 specific one in gst-omx.
1516 https://bugzilla.gnome.org/show_bug.cgi?id=794319
1518 2018-03-06 14:16:56 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1520 * omx/gstomxh264utils.c:
1521 omxh264: sync with supported profiles on zynqultrascaleplus
1522 Add extra supported AVC profiles and remove extended and 4:4:4 profiles
1523 which are actually not implemented.
1524 https://bugzilla.gnome.org/show_bug.cgi?id=794177
1526 2018-03-06 10:45:14 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1528 * omx/gstomxh264enc.c:
1529 * omx/gstomxh264utils.c:
1530 * omx/gstomxh264utils.h:
1531 omxh264: factor out gst_omx_h264_utils_get_profile_from_enum()
1532 Move the profile <-> enum mapping to one place. Make changes easier as
1533 I'm about to add extra profiles.
1535 https://bugzilla.gnome.org/show_bug.cgi?id=794177
1537 2018-03-06 11:02:44 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1539 * omx/gstomxh265utils.c:
1540 omxh265: add format range extension profiles on zynqultrascaleplus
1541 The zynqultrascaleplus OMX gained support for more format range
1542 extensions profiles (A.3.5).
1543 https://bugzilla.gnome.org/show_bug.cgi?id=794177
1545 2018-03-06 10:45:14 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1547 * omx/gstomxh265enc.c:
1548 * omx/gstomxh265utils.c:
1549 * omx/gstomxh265utils.h:
1550 omxh265: factor out gst_omx_h265_utils_get_profile_from_enum()
1551 Move the profile <-> enum mapping to one place. Make changes easier as
1552 I'm about to add some profiles.
1554 https://bugzilla.gnome.org/show_bug.cgi?id=794177
1556 2018-03-08 12:22:26 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1558 * omx/gstomxvideoenc.c:
1559 omxvideoenc: add NV16 support
1560 NV16 format wasn't supported on encoder input while it was on decoder
1562 https://bugzilla.gnome.org/show_bug.cgi?id=794175
1564 2018-03-08 12:09:38 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1566 * omx/gstomxvideo.c:
1567 omxvideo: display port number when listing supported formats
1568 More convenient when debugging.
1569 https://bugzilla.gnome.org/show_bug.cgi?id=794175
1571 2018-03-29 16:42:40 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1574 * omx/gstomxvideoenc.c:
1575 * omx/gstomxvideoenc.h:
1576 omxvideoenc: restore OMX default target-bitrate if requested by user
1577 0xffffffff is the magic number in gst-omx meaning 'the default value
1578 defined in OMX'. This works fine with OMX parameters which are only set
1579 once when starting the component but not with configs which can be
1580 changed while PLAYING.
1581 Save the actual OMX default bitrate so we can restore it later if user
1582 sets back 0xffffffff on the property.
1583 Added GST_OMX_PROP_OMX_DEFAULT so we stop hardcoding magic numbers
1585 https://bugzilla.gnome.org/show_bug.cgi?id=794998
1587 2018-03-29 11:36:00 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1589 * omx/gstomxvideoenc.c:
1590 omxvideoenc: use gst_omx_video_enc_set_bitrate() when setting bitrate in set_format
1591 We weren't using the usual pattern when re-setting the bitrate:
1592 - get parameters from OMX
1593 - update only the fields different from 0xffffffff (OMX defaults)
1595 Also added a comment explaining why we re-set this param.
1596 https://bugzilla.gnome.org/show_bug.cgi?id=794998
1598 2018-03-29 11:26:04 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1600 * omx/gstomxvideoenc.c:
1601 omxvideoenc: factor out gst_omx_video_enc_set_bitrate()
1602 No semantic change, I'm about to re-use this function in set_format().
1603 https://bugzilla.gnome.org/show_bug.cgi?id=794998
1605 2018-04-20 11:54:14 +0100 Tim-Philipp Müller <tim@centricular.com>
1608 meson: fix miscellaneous meson warnings
1609 cc.has_header*() doesn't have a 'required:' kwarg.
1611 2018-04-18 12:42:55 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1613 * omx/gstomxvideodec.c:
1614 * omx/gstomxvideoenc.c:
1615 omxvideoenc/dec: fix handling of component enabling failing
1616 - Report the error from OMX if any (OMX_EventError)
1617 - If not report the failing to the application (GST_ELEMENT_ERROR)
1618 - return GST_FLOW_ERROR rather than FALSE
1620 https://bugzilla.gnome.org/show_bug.cgi?id=795352
1622 2018-04-16 10:53:41 +0100 Tim-Philipp Müller <tim@centricular.com>
1625 Automatic update of common submodule
1626 From 3fa2c9e to ed78bee
1628 2018-03-14 14:53:50 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1631 log_omx_performance: convert pointers to strings
1632 G_TYPE_POINTER are not serialized in logs.
1633 https://bugzilla.gnome.org/show_bug.cgi?id=794331
1635 2018-04-02 15:14:51 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1637 * omx/gstomxvideoenc.c:
1638 omxvideoenc: remove duplicated debug message
1639 We already have the exact same message at the beginning of
1640 gst_omx_video_enc_handle_frame(). Having it twice is confusing when
1641 reading/grepping logs.
1642 I kept the earlier one to keep the symetry with
1643 gst_omx_video_dec_handle_frame().
1644 https://bugzilla.gnome.org/show_bug.cgi?id=794897
1646 2018-02-22 11:27:03 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1648 * omx/gstomxvideoenc.c:
1649 omxvideoenc: add 'roi' qp-mode on zynqultrascaleplus
1650 New QP mode used to handle ROI metadata.
1651 https://bugzilla.gnome.org/show_bug.cgi?id=793696
1653 2018-03-20 10:31:10 +0000 Tim-Philipp Müller <tim@centricular.com>
1661 === release 1.14.0 ===
1663 2018-03-19 20:31:02 +0000 Tim-Philipp Müller <tim@centricular.com>
1673 === release 1.13.91 ===
1675 2018-03-13 19:32:39 +0000 Tim-Philipp Müller <tim@centricular.com>
1685 2018-03-09 12:02:29 +0000 Tim-Philipp Müller <tim@centricular.com>
1688 meson: fix typo in package name define
1690 2018-02-27 15:42:53 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1692 * omx/gstomxh265enc.c:
1693 * omx/gstomxh265utils.c:
1694 omxh265: update 422 profile names
1695 h265parse is gaining support for the format range extension profile
1697 Use the profile names defined in h265parse.
1698 https://bugzilla.gnome.org/show_bug.cgi?id=793928
1700 2018-03-05 13:49:18 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1702 * omx/gstomxvideoenc.c:
1703 omxvideoenc: Don't drop the frame on empty payload
1704 This otherwise may lead to "No reference frame found" warning.
1706 2018-03-01 15:16:55 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1708 * omx/gstomxvideodec.c:
1709 omxvideodec: Don't drop the frame on empty payload
1710 This otherwise may lead to "No reference frame found" warning.
1712 2018-03-02 15:36:06 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1715 omx: Free empty buffers list in use_dynamic_buffers
1716 To indicate we are doing dynamic buffers importation, we pass
1717 a list of NULL pointers, but we forgot to free that list.
1719 2018-03-01 15:16:32 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1721 * omx/gstomxvideodec.c:
1722 omxvideodec: Fix CodecState leak
1724 === release 1.13.90 ===
1726 2018-03-03 23:00:59 +0000 Tim-Philipp Müller <tim@centricular.com>
1736 2018-03-03 20:21:06 +0000 Tim-Philipp Müller <tim@centricular.com>
1738 * config/Makefile.am:
1739 config: dist tizonia config files
1741 2018-03-02 11:06:08 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1744 Revert "omx: wait for flush complete and buffers being released when flushing"
1745 This reverts commit 4211e4c29a262f110cb92ddf9c06b403ced233ef.
1747 2018-02-21 12:50:42 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1749 * omx/gstomxvideoenc.c:
1750 videoenc: don't set stride padding to 0 when copying frames
1751 Padding can be left undefined there is no point filling it with 0.
1752 https://bugzilla.gnome.org/show_bug.cgi?id=793694
1754 2018-02-16 11:50:35 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1756 * omx/gstomxbufferpool.c:
1757 * omx/gstomxh264enc.c:
1758 * omx/gstomxh265enc.c:
1759 * omx/gstomxvideo.c:
1760 * omx/gstomxvideodec.c:
1761 * omx/gstomxvideoenc.c:
1762 add support for NV12_10LE32 and NV16_10LE32 on zynqultrascaleplus
1763 The encoder and decoder on zynqultrascaleplus support these new 10 bits
1765 https://bugzilla.gnome.org/show_bug.cgi?id=793694
1767 2018-02-16 11:46:47 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1769 * omx/gstomxvideoenc.c:
1770 omxvideoenc: factor out gst_omx_video_enc_nv12_manual_copy()
1771 No semantic change, I'm going to re-use it to copy the NV12_10LE32
1773 https://bugzilla.gnome.org/show_bug.cgi?id=793694
1775 2018-01-17 10:40:49 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1777 * omx/gstomxvideoenc.c:
1778 omxvideoenc: display the computed buffer size when configuring input
1779 https://bugzilla.gnome.org/show_bug.cgi?id=793694
1781 2018-02-06 14:25:57 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1783 * omx/gstomxvideoenc.c:
1784 * omx/gstomxvideoenc.h:
1785 videoenc: implement ROI on zynqultrascaleplus
1786 Check input buffers for ROI meta and pass them to the encoder by using
1787 zynqultrascaleplus's custom OMX extension. Also add a new
1788 "default-roi-quality" in order to tell the encoder what quality level
1789 should be applied to ROI by default.
1790 https://bugzilla.gnome.org/show_bug.cgi?id=793696
1792 2018-02-14 17:23:39 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1794 * omx/gstomxvideoenc.c:
1795 omxvideoenc: remove GST_PARAM_MUTABLE_PLAYING from 'max-bitrate' property
1796 This property isn't actually mutable in the PLAYING state.
1797 https://bugzilla.gnome.org/show_bug.cgi?id=793458
1799 2018-02-14 17:20:02 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1801 * omx/gstomxvideoenc.c:
1802 * omx/gstomxvideoenc.h:
1803 omxvideoenc: protect target_bitrate with the object lock
1804 The 'target-bitrate' property can be changed while PLAYING
1805 (GST_PARAM_MUTABLE_PLAYING). Make it thread-safe to prevent concurrent
1806 accesses between the application and streaming thread.
1807 https://bugzilla.gnome.org/show_bug.cgi?id=793458
1809 2018-02-20 11:46:49 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1811 * omx/gstomxbufferpool.c:
1812 omxbufferpool: add PERFORMANCE DEBUG message when copying output frames
1813 I spent quiet some time figuring out why performance of my pipeline were
1814 terrible. Turned out it was because of output frames being copied
1815 because of stride/offset mismatch.
1816 Add a PERFORMANCE DEBUG message to make it easier to spot and debug from logs.
1817 https://bugzilla.gnome.org/show_bug.cgi?id=793637
1819 2018-02-15 19:44:37 +0000 Tim-Philipp Müller <tim@centricular.com>
1825 === release 1.13.1 ===
1827 2018-02-15 17:50:14 +0000 Tim-Philipp Müller <tim@centricular.com>
1836 2017-06-30 15:15:06 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1838 * omx/gstomxh265enc.c:
1839 omxh265enc: fix typo in "periodicty-idr" property name
1840 Also fix the 'nick' of the property.
1841 omxh265enc is based on the code from omxh264enc and suffers the same
1842 typo as we fixed in https://bugzilla.gnome.org/show_bug.cgi?id=784370
1843 This element isn't part of a stable release yet so it's not an API
1845 https://bugzilla.gnome.org/show_bug.cgi?id=793390
1847 2018-02-08 19:18:59 +0000 Tim-Philipp Müller <tim@centricular.com>
1850 meson: make version numbers ints and fix int/string comparison
1851 WARNING: Trying to compare values of different types (str, int).
1852 The result of this is undefined and will become a hard error
1853 in a future Meson release.
1854 Also remove unused libversion/soversion.
1856 2017-12-12 16:50:00 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1861 include all OMX extension headers if present
1862 The OMX specs defines 8 headers that implementations can use to define
1863 their custom extensions. We were checking and including 3 and ignoring
1865 https://bugzilla.gnome.org/show_bug.cgi?id=792043
1867 2018-01-30 10:31:03 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1871 * tools/meson.build:
1872 meson: simplify OMX extensions detection
1873 We are now always checking which files are present or not, even when using our
1874 internal copy of OMX, rather than hardcoding the ones present in it.
1875 https://bugzilla.gnome.org/show_bug.cgi?id=792043
1877 2018-01-30 11:54:24 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1881 * tools/meson.build:
1882 Revert "meson: use include_directories() with external OMX headers path"
1883 This reverts commit 9d37a92a615e54e8ee12f8c65bcfe386ec9de2d0.
1885 2017-11-27 14:52:10 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1887 * omx/gstomxh265enc.c:
1888 * omx/gstomxh265enc.h:
1889 omxh265enc: add some encoding properties
1890 constrained-intra-prediction and loop-filter-mode.
1891 Those map standard OMX settings.
1892 https://bugzilla.gnome.org/show_bug.cgi?id=792528
1894 2017-11-23 15:54:15 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1896 * omx/gstomxh264enc.c:
1897 * omx/gstomxh264enc.h:
1898 omxh264enc: add some encoding properties
1899 entropy-mode, constrained-intra-prediction and loop-filter-mode.
1900 Those map standard OMX settings.
1901 https://bugzilla.gnome.org/show_bug.cgi?id=792528
1903 2017-06-08 12:31:21 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1905 * omx/gstomxvideoenc.c:
1906 * omx/gstomxvideoenc.h:
1907 omxvideoenc: add zynqultrascaleplus specific properties
1908 https://bugzilla.gnome.org/show_bug.cgi?id=792528
1910 2017-10-31 12:24:39 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1912 * omx/gstomxvideoenc.c:
1913 omxvideoenc: document unit of target-bitrate property
1914 nTargetBitrate and nEncodeBitrate are defined in bits per second in the
1916 https://bugzilla.gnome.org/show_bug.cgi?id=792528
1918 2017-07-06 10:18:48 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1920 * omx/gstomxvideodec.c:
1921 * omx/gstomxvideodec.h:
1922 omxvideodec: add internal-entropy-buffers property on zynqultrascaleplus
1923 Custom property to control the number of internal buffers used in the
1924 decoder to smooth out entropy decoding performance.
1925 https://bugzilla.gnome.org/show_bug.cgi?id=792528
1927 2018-01-30 10:31:03 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1931 * tools/meson.build:
1932 meson: use include_directories() with external OMX headers path
1933 It seems cleaner to use the proper meson tools to include this path
1934 rather than manually tweak the build flags.
1935 This also allows us to simplify the OMX extensions detection code. We
1936 are now always checking which files are present, even when using our
1937 internal copy of OMX, rather than hardcoding the ones present in it.
1938 https://bugzilla.gnome.org/show_bug.cgi?id=792043
1940 2017-11-07 15:09:35 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1942 * omx/gstomxvideoenc.c:
1943 omxvideoenc: expose chroma format and bit depth in output caps
1944 As we added in the parser (bgo#792039) expose the chroma and bit
1945 depth information in output caps.
1946 https://bugzilla.gnome.org/show_bug.cgi?id=792040
1948 2017-11-07 14:30:45 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1950 * omx/gstomxvideoenc.c:
1951 omxvideoenc: factor out get_output_caps()
1952 No semantic change so far.
1953 https://bugzilla.gnome.org/show_bug.cgi?id=792040
1955 2017-12-29 11:59:36 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1957 * config/zynqultrascaleplus/gstomx.conf:
1960 * omx/gstomxvideodec.c:
1961 omxvideodec: add hack to pass color format from caps to OMX decoder
1962 This hack tries to pass as much information as possible from caps to the
1963 decoder before it receives any buffer. These information can be used by
1964 the OMX decoder to, for example, pre-allocate its internal buffers
1965 before starting to decode and so reduce its initial latency.
1966 This mechanism is currently supported by the zynqultrascaleplus decoder.
1967 https://bugzilla.gnome.org/show_bug.cgi?id=792040
1969 2017-12-01 12:43:19 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1972 log failing OMX calls as errors
1973 I find it confusing when debugging that OMX calls returning an error
1974 where not logged as GST_LEVEL_ERROR making them harder to spot.
1975 Fix this by introducing simple log macros checking the return value of
1976 the OMX call and logging failures as errors.
1977 https://bugzilla.gnome.org/show_bug.cgi?id=791069
1979 2017-10-30 11:59:19 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1982 add OMX_PERFORMANCE debug category
1983 Can be used to log buffers exchange between OMX and gst-omx to profile
1984 performances of the OMX component.
1985 Ideally this should be done using tracer hooks but it's currently not
1986 possible to define custom hooks outside of core.
1987 Use GST_DEBUG="OMX_PERFORMANCE:8" to enable it.
1989 https://github.com/gdesmott/gst-log-parser/blob/master/src/bin/omx-perf.rs
1990 as a simple program consuming those logs to generate gnuplot files and
1992 https://bugzilla.gnome.org/show_bug.cgi?id=791093
1994 2017-07-27 11:21:59 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1998 * omx/gstomxvideoenc.c:
1999 * omx/gstomxvideoenc.h:
2000 omxvideoenc: implement dmabuf import on zynqultrascaleplus
2001 The Zynq UltraScale+ encoder implements a custom OMX extension to
2002 directly import dmabuf saving the need of mapping input buffers.
2003 This can be use with either 'v4l2src io-mode=dmabuf' or an OMX video
2005 https://bugzilla.gnome.org/show_bug.cgi?id=792361
2007 2017-09-22 16:02:40 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2009 * omx/gstomxvideoenc.c:
2010 omxvideoenc: drop late input frames if QoS is enabled
2011 Make use of the new GstVideoEncoder QoS API to drop late input frames. This may
2012 help a live pipeline to catch up if it's being late and all frames end up
2013 being dropped at the sink.
2014 https://bugzilla.gnome.org/show_bug.cgi?id=792783
2016 2018-01-19 15:18:23 +0530 Ashish Kumar <kr.ashish@samsung.com>
2018 * examples/egl/testegl.c:
2019 TestEgl: Removed redundant/unused code
2020 https://bugzilla.gnome.org/show_bug.cgi?id=788550
2022 2018-01-03 16:07:18 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2024 * omx/gstomxvideoenc.c:
2025 omxvideoenc: early return in fill_buffer() if something goes wrong
2026 If something goes wrong while trying to manually copy the input buffer,
2027 the 'break' was moving us out of the 'for' loop but not out of the switch block.
2028 So we ended up calling gst_video_frame_unmap() a second time (raising
2029 assertions) and returning TRUE rather than FALSE.
2030 Reproduced with a WIP zynqultrascaleplus OMX branch reporting wrong
2031 buffer sizes and so triggering this bug.
2032 https://bugzilla.gnome.org/show_bug.cgi?id=792167
2034 2017-12-19 16:09:41 +0000 Tim-Philipp Müller <tim@centricular.com>
2037 meson: gl: the winsys and platform list in the .pc file is space-separated
2039 2017-12-19 16:08:58 +0000 Tim-Philipp Müller <tim@centricular.com>
2042 meson: fix subproject fallback for gstreamer-gl-1.0
2045 2017-12-12 17:30:27 +0000 Julien Isorce <jisorce@oblong.com>
2047 * omx/gstomxvideo.c:
2048 * omx/gstomxvideo.h:
2049 * omx/gstomxvideodec.c:
2050 omxvideodec: ignore very little variations of the framerate
2052 The dynamic format change should not happen when the
2053 resolution does not change and when only the framerate
2054 changes but very slightly, i.e. from 50000/1677=29.81
2055 to 89/3=29.66 so a "percentage change" of less than 1%
2056 (i.e. 100*(29.81-29.66)/29.66 = 0.50 < 1 ). In that case
2057 just ignore it to avoid unnecessary renegotiation.
2058 https://bugzilla.gnome.org/show_bug.cgi?id=759043
2060 2017-08-09 12:07:33 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2062 * omx/gstomxvideodec.c:
2063 * omx/gstomxvideodec.h:
2064 omxvideodec: use dynamic buffer mode on input if possible
2065 Prevent from copying the input buffers between GStreamer and OMX.
2066 Tested on zynqultrascaleplus and rpi (without dynamic buffers).
2067 https://bugzilla.gnome.org/show_bug.cgi?id=787093
2069 2017-07-20 16:35:31 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2071 * omx/gstomxvideoenc.c:
2072 * omx/gstomxvideoenc.h:
2073 omxvideoenc: use dynamic buffer mode on input if possible
2074 If the OMX component supports dynamic buffer mode and the input buffers
2075 are properly aligned avoid copying each input frame between OMX and
2077 Tested on zynqultrascaleplus and rpi (without dynamic buffers).
2078 https://bugzilla.gnome.org/show_bug.cgi?id=787093
2080 2017-07-20 12:56:37 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2082 * omx/gstomxvideodec.c:
2083 * omx/gstomxvideoenc.c:
2084 omxvideoenc/dec: factor out input buffer allocation
2085 No semantic change so far. I'm going to add an alternate way to allocate
2087 https://bugzilla.gnome.org/show_bug.cgi?id=787093
2089 2017-07-20 16:31:54 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2093 omx: add API to implement dynamic buffers support
2094 OMX 1.2.0 introduced a third way to manage buffers by allowing
2095 components to only allocate buffers header during their initialization
2096 and change their pBuffer pointer at runtime.
2097 This new feature can save us a copy between GStreamer and OMX for each
2099 This patch adds API to allocate and use such buffers.
2100 https://bugzilla.gnome.org/show_bug.cgi?id=787093
2102 2017-12-14 14:53:17 +1100 Matthew Waters <matthew@centricular.com>
2105 Automatic update of common submodule
2106 From e8c7a71 to 3fa2c9e
2108 2017-12-13 12:06:40 +0000 Julien Isorce <jisorce@oblong.com>
2110 * omx/gstomxvideodec.c:
2111 omxvideodec: consolidate the decision to try UseBuffer
2112 The tee element can call gst_query_add_allocation_pool with pool as NULL.
2113 Checking nth > 0 is not enough so we need to verify if there is a pool.
2114 https://bugzilla.gnome.org/show_bug.cgi?id=730758
2115 https://bugzilla.gnome.org/show_bug.cgi?id=784069
2117 2017-12-12 14:45:30 +0000 Julien Isorce <jisorce@oblong.com>
2119 * omx/gstomxvideo.c:
2120 * omx/gstomxvideo.h:
2121 * omx/gstomxvideodec.c:
2122 * omx/gstomxvideoenc.c:
2123 gstomxvideodec: fix framerate overflow
2124 Some live streams can set the framerate to 50000/1677 (=29.81).
2125 GstVideoInfo.fps_n << 16 is wrong if the fps_n is 50000
2126 (i.e. greater than 32767).
2127 https://bugzilla.gnome.org/show_bug.cgi?id=759043
2129 2017-08-22 13:48:26 +0100 Julien Isorce <jisorce@oblong.com>
2132 * examples/egl/Makefile.am:
2133 * examples/egl/meson.build:
2134 * examples/egl/testegl.c:
2136 example: port testegl.c to desktop
2137 Will be easier to maintain.
2138 Also uniformize autotool build with meson build which is
2139 already retrieving the gl libs.
2140 https://bugzilla.gnome.org/show_bug.cgi?id=781606
2142 2017-12-11 15:55:44 +0000 Julien Isorce <jisorce@oblong.com>
2145 meson: move omx features check after target selection
2146 And uses gst_omx_args instead of add_global_arguments.
2147 Similar to c69232852120d064c689caef07b3c68ad8fe6288
2148 which was only for configure.ac
2149 Useful to get omxvp8dec with meson too:
2150 meson . buildtmp -D with_omx_target=tizonia
2151 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2153 2017-12-04 17:11:04 +0000 Julien Isorce <jisorce@oblong.com>
2155 * config/tizonia/gstomx.conf.in:
2156 config: add OMX.Aratelia.audio_decoder.aac to Tizonia config
2157 Useful mostly for testing/debugging purpose as this is a software
2158 based decoder (libfaad) for which GStreamer provides a direct
2160 https://bugzilla.gnome.org/show_bug.cgi?id=791482
2162 2017-11-29 14:18:41 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2164 * omx/gstomxvideodec.c:
2165 omxvideodec: retrieve OMX_IndexParamVideoPortFormat before setting it
2166 The usual pattern when setting OMX params is to first get the struct
2167 param, override the values we want to set and then set the updated
2169 We were not doing this with OMX_IndexParamVideoPortFormat and so were
2170 resetting some fields such as OMX_VIDEO_PARAM_PORTFORMATTYPE.xFramerate
2171 https://bugzilla.gnome.org/show_bug.cgi?id=790979
2173 2017-05-21 17:34:51 +0100 Julien Isorce <jisorce@oblong.com>
2175 * omx/gstomxaacenc.c:
2176 omxaacenc: also set 'profile' if mpegversion is 4
2177 Like done by gst_codec_utils_aac_caps_set_level_and_profile
2178 which is called by avenc_aac, ffaac and voaacenc.
2179 https://bugzilla.gnome.org/show_bug.cgi?id=735208
2181 2017-10-24 12:19:50 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2184 omx: wait for flush complete and buffers being released when flushing
2185 As stated in the existing comment, when flusing we should wait for OMX
2186 to send the flush command complete event AND all ports being released.
2187 We were stopping as soon as one of those condition was met.
2188 Fix a race between FillThisBufferDone/EmptyBufferDone and the flush
2189 EventCmdComplete messages. The OMX implementation is supposed to release
2190 its buffers before posting the EventCmdComplete event but the ordering
2191 isn't guaranteed as the FillThisBufferDone/EmptyBufferDone and
2192 EventHandler callbacks can be called from different threads (cf 2.7
2193 'Thread Safety' in the spec).
2194 https://bugzilla.gnome.org/show_bug.cgi?id=789475
2196 2017-10-24 11:45:20 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2199 gst_omx_port_set_flushing: simplify waiting loop
2200 No semantic change so far, I just made the 'while' end condition easier
2201 to understand as a first step before changing it.
2202 - move error/time out checks inside the loop to make it clearer on what
2203 we are actually waiting for.
2204 - group port->buffers checks together with parenthesis as they are part
2205 of the same conceptual check: waiting for all buffers to be released.
2206 https://bugzilla.gnome.org/show_bug.cgi?id=789475
2208 2017-11-27 20:17:17 +1100 Matthew Waters <matthew@centricular.com>
2211 Automatic update of common submodule
2212 From 3f4aa96 to e8c7a71
2214 2017-11-23 15:03:48 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2216 * omx/gstomxh264enc.c:
2217 * omx/gstomxh264utils.c:
2218 zynqultrascaleplus: add support for extra AVC levels
2219 The Zynqultrascaleplus has support for extra AVC levels not defined in
2220 the OMX spec as a customer extension.
2221 https://bugzilla.gnome.org/show_bug.cgi?id=790758
2223 2017-10-16 14:47:07 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2227 * config/meson.build:
2230 * tests/Makefile.am:
2231 * tests/check/.gitignore:
2232 * tests/check/Makefile.am:
2233 * tests/check/generic/.gitignore:
2234 * tests/check/generic/states.c:
2235 * tests/check/meson.build:
2236 * tests/meson.build:
2238 Most of the boilerplate and the states test has been copied from
2240 https://bugzilla.gnome.org/show_bug.cgi?id=789094
2242 2017-10-17 13:07:05 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2245 * tools/meson.build:
2246 meson: add tools support
2247 Looks like the tools directory was left out during the initial port to
2249 https://bugzilla.gnome.org/show_bug.cgi?id=789090
2251 2017-10-16 14:24:50 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2254 omx: fix build on rpi
2255 The nTimeStamp field is a OMX_TICKS struct on the rpi so use the proper
2257 Fix build on the build which has been broken by
2258 b3173144b7c1b12c9e1b7571f78659be45d813f6
2259 https://bugzilla.gnome.org/show_bug.cgi?id=789052
2261 2017-10-17 12:11:04 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2265 check if Allegro headers are present when building zynqultrascaleplus
2266 The Zynq UltraScale+ uses a custom version of OMX implementing several
2267 3rd party extensions. Make sure those are present when building this
2269 https://bugzilla.gnome.org/show_bug.cgi?id=788064
2271 2017-10-16 12:42:44 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2273 * omx/gstomxvideodec.c:
2274 omxvideodec: remove redundant debug message
2275 We have already a debug message right after.
2276 https://bugzilla.gnome.org/show_bug.cgi?id=789058
2278 2017-10-16 13:26:38 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2280 * omx/gstomxh265enc.c:
2281 * omx/gstomxh265utils.c:
2282 omxh265: fix enum casting when using Allegro HEVC extensions
2283 Allegro's HEVC implementation defines a superset of the profiles and
2284 enums from the Android implementation.
2285 Properly cast to fix -Wenum-conversion warnings from clang.
2286 https://bugzilla.gnome.org/show_bug.cgi?id=789057
2288 2017-10-16 13:08:12 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2290 * omx/gstomxh265enc.c:
2291 * omx/gstomxvp8dec.c:
2292 properly cast extension enums
2293 OMX's allow 3rds party to define extensions using their own enums
2294 (like OMX_VIDEO_CODINGEXTTYPE) and to be used as the general
2295 ones (like OMX_VIDEO_CODINGTYPE).
2296 Properly cast those to fix -Wenum-conversion warnings from some
2297 compilers such as clang.
2298 https://bugzilla.gnome.org/show_bug.cgi?id=789057
2300 2017-10-09 13:12:35 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2303 omx: also reset nTimeStamp when re-using buffers
2304 Some OMX implementations may check if the timestamp of the output buffers
2305 they receive is actually not set.
2306 https://bugzilla.gnome.org/show_bug.cgi?id=788711
2308 2017-10-04 17:11:55 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2311 omx: factor out gst_omx_buffer_reset()
2312 https://bugzilla.gnome.org/show_bug.cgi?id=788711
2314 2017-10-09 17:27:22 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2318 * omx/gstomxvideodec.c:
2319 * omx/gstomxvideoenc.c:
2320 add gst_omx_buffer_flags_to_string()
2321 Make debug logs more readable so users don't have to manually figure out
2322 the meaning of flags.
2323 https://bugzilla.gnome.org/show_bug.cgi?id=788767
2325 2017-09-27 19:47:29 +0530 Ponnam Srinivas <p.srinivas@samsung.com>
2327 * omx/gstomxh263enc.c:
2328 h263enc: fix caps leak in error code path
2329 https://bugzilla.gnome.org/show_bug.cgi?id=788245
2331 2017-09-21 15:21:36 +0530 Ponnam Srinivas <p.srinivas@samsung.com>
2333 * omx/gstomxh264enc.c:
2334 omxh264enc: fix caps leak
2335 https://bugzilla.gnome.org/show_bug.cgi?id=787711
2337 2017-09-21 11:36:46 +0530 Ponnam Srinivas <p.srinivas@samsung.com>
2339 * omx/gstomxh265enc.c:
2340 omxh265enc: fix caps leak
2341 https://bugzilla.gnome.org/show_bug.cgi?id=787714
2343 2017-09-13 15:32:51 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2345 * omx/gstomxvideodec.c:
2346 omxvideodec: log info about frame before releasing it
2347 gst_video_decoder_release_frame() takes ownership of the frame and will
2348 destroy it. So we should no longer use it after calling it.
2349 https://bugzilla.gnome.org/show_bug.cgi?id=787628
2351 2017-08-20 20:19:33 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2354 configure: Show tizonia target in help
2355 https://bugzilla.gnome.org/show_bug.cgi?id=786544
2357 2017-07-12 14:35:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2359 * config/zynqultrascaleplus/gstomx.conf:
2362 * omx/gstomxh265dec.c:
2363 * omx/gstomxh265dec.h:
2365 omxh265dec: add H265 decoder
2366 Add HEVC decoder for the zynqultrascaleplus platform.
2367 I used the H264 decoder code as a template.
2368 https://bugzilla.gnome.org/show_bug.cgi?id=785434
2370 2017-07-12 11:01:15 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2372 * config/zynqultrascaleplus/gstomx.conf:
2377 * omx/gstomxh265enc.c:
2378 * omx/gstomxh265enc.h:
2379 * omx/gstomxh265utils.c:
2380 * omx/gstomxh265utils.h:
2382 omxh265enc: add H265 encoder
2383 The OMX spec doesn't support HEVC but the OMX stack of the
2384 zynqultrascaleplus adds it as a custom extension.
2385 It uses the same API as the one of Android's OMX stack.
2386 I used the H264 encoder code as a template.
2387 https://bugzilla.gnome.org/show_bug.cgi?id=785434
2389 2017-08-28 13:56:22 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2391 * omx/gstomxvideoenc.c:
2392 omxvideoenc: use caps from query in propose_allocation
2393 Prevent crash by not deferencing a NULL pointer if self->input_state
2394 isn't defined when propose_allocation() is called.
2395 https://bugzilla.gnome.org/show_bug.cgi?id=786442
2397 2017-09-04 09:34:03 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2400 omx: display states as string if changing failed
2401 Improve the error message by displaying the states in their string
2402 representation rather than their numerical value.
2403 https://bugzilla.gnome.org/show_bug.cgi?id=787235
2405 2017-08-22 10:22:45 +0100 Julien Isorce <jisorce@oblong.com>
2407 * omx/gstomxvideodec.c:
2408 omxvideodec: EGLDisplay is not indirectly defined by gstgl headers inclusion
2409 Just use gpointer as done in GstGL to not include
2410 EGL/egl.h just for EGLDisplay.
2411 https://bugzilla.gnome.org/show_bug.cgi?id=784779
2413 2017-07-14 16:34:04 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2415 * config/tizonia/gstomx.conf.in:
2416 config: expose OMX.mesa h264 decoder and encoder in Tizonia config
2417 https://bugzilla.gnome.org/show_bug.cgi?id=783976
2419 2017-08-11 07:48:37 -0700 Julien Isorce <jisorce@oblong.com>
2421 * omx/gstomxvideodec.c:
2422 omxvideodec: remove wrong SettingsChanged ack
2423 Partially revert 1b7d0b8:
2424 omxvideodec: handle IL 1.2 behavior for OMX_SetParameter
2425 It turned out it was a problem in the decoder which was
2426 not updating some local variables upon SetParameter.
2427 https://bugzilla.gnome.org/show_bug.cgi?id=783976
2429 2017-07-20 09:43:19 +0100 Julien Isorce <jisorce@oblong.com>
2431 * omx/gstomxaudiodec.c:
2432 * omx/gstomxaudioenc.c:
2433 * omx/gstomxvideodec.c:
2434 * omx/gstomxvideoenc.c:
2435 omx{audio,video}{dec,enc}: sequentially disable ports because buffers are not shared
2436 For the history, the parallel disable port has been introduced by:
2437 "00be69f omxvideodec: Disable output port when setting a new format"
2438 and then replicated to videoenc, audiodec and audioenc.
2439 This is only required to do 'parallel' if buffers are shared between ports.
2440 But for decoders and encoders the input and output buffer are of different
2441 nature by definition (bitstream vs images). So they cannot be shared.
2442 Also starting from IL 1.2.0 it is written in the spec that the parallel
2443 disable is not allowed and will return an error. Except when buffers are
2445 Again here we know in advance that they are not shared so let's always
2446 do a sequential disable.
2447 Tested on Desktop, rpi and zynqultrascaleplus.
2448 https://bugzilla.gnome.org/show_bug.cgi?id=786348
2450 2017-08-17 12:26:05 +0100 Tim-Philipp Müller <tim@centricular.com>
2453 Automatic update of common submodule
2454 From 48a5d85 to 3f4aa96
2456 2017-08-10 12:16:53 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2458 * omx/gstomxvideodec.c:
2459 omxvideodec: use the decoder API to set latency
2460 https://bugzilla.gnome.org/show_bug.cgi?id=785125
2462 2017-07-06 14:19:19 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2464 * omx/gstomxvideodec.c:
2465 * omx/gstomxvideoenc.c:
2466 omxvideoenc/dec: declare latency on zynqultrascaleplus
2467 The OMX specification doesn't provide any API to expose the latency
2468 introduced by encoders and decoders. We implemented this as a custom
2469 extension as declaring the latency is needed for live pipelines like
2471 https://bugzilla.gnome.org/show_bug.cgi?id=785125
2473 2017-08-07 13:16:01 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2475 * omx/gstomxvideoenc.c:
2476 omxvideoenc: adjust stride and slice height from input
2477 Use the stride and slice height information from the first buffer meta
2478 data to adjust the settings of the input port.
2479 This will ensure that the OMX input buffers match the GStreamer ones
2480 and so will save us from having to copy line-by-line each one.
2481 This is also the first step to allow the OMX encoder to receive dmabuf.
2482 Tested on rpi and zynqultrascaleplus.
2483 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2485 2017-08-07 11:45:29 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2487 * omx/gstomxvideoenc.c:
2488 omxvideoenc: delay buffer configuration until component is enabled
2489 No significant change for now. Just delay the input port configuration
2490 of the buffer size related fields (stride, slice height, buffer size)
2491 until the component is activated.
2492 This will allow us to use the actual stride/height of the first input
2493 and so avoid the buffer copying code path in most cases.
2494 Tested on rpi and zynqultrascaleplus.
2495 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2497 2017-07-24 13:52:35 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2499 * omx/gstomxvideodec.c:
2500 * omx/gstomxvideoenc.c:
2501 omxvideodec/enc: delay allocation after the allocation query
2502 Allocating OMX components buffers in set_format() is too early.
2503 Doing it when receiving the first buffers will allow the element to use
2504 the information from the allocation query and/or the first incoming
2505 buffer to pick to best allocation mode.
2506 Tested on raspberry pi with dynamic resolution changes on decoder and
2508 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2510 2017-07-25 14:27:45 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2512 * omx/gstomxvideoenc.c:
2513 omxvideoenc: start src thread in handle_frame()
2514 Makes the code simpler as we no longer need to restart the thread in
2515 gst_omx_video_enc_flush() and It's more symetric which the omxvideodec
2517 I'm also going to move the enabling of the OMX component in
2518 handle_frame() and the src pad thread needs to be started after it.
2519 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2521 2017-07-25 14:07:30 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2523 * omx/gstomxvideodec.c:
2524 omxvideodec: earlier return if downstream_flow_ret is not OK
2525 There is no point to (re)start the src thread if, for example, we are
2527 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2529 2017-07-24 12:31:37 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2531 * omx/gstomxvideodec.c:
2532 * omx/gstomxvideodec.h:
2533 omxvideodec: factor out enable and disable code
2534 No semantic change, just factor out the code enabling and disabling the
2535 component to their own functions.
2536 Makes the code easier to read as the set_format() method was already
2537 pretty big. Will also allow us to easily change the enabling logic.
2538 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2540 2017-07-24 12:31:37 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2542 * omx/gstomxvideoenc.c:
2543 * omx/gstomxvideoenc.h:
2544 omxvideoenc: factor out enable and disable code
2545 No semantic change, just factor out the code enabling and disabling the
2546 component to their own functions.
2547 Makes the code easier to read as the set_format() method was already
2548 pretty big. Will also allow us to easily change the enabling logic.
2549 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2551 2017-07-27 12:12:01 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2554 omx: also reset nFilledLen before calling OMX_FillThisBuffer()
2555 The spec states that the buffer passed to OMX_FillThisBuffer() needs to be
2556 empty. Some implementation may check it actually is by checking its
2557 nFilledLen field, so best to reset it as well.
2558 https://bugzilla.gnome.org/show_bug.cgi?id=785623
2560 2017-07-17 21:06:47 +0100 Julien Isorce <jisorce@oblong.com>
2562 * omx/gstomxvideodec.c:
2563 * omx/gstomxvideodec.h:
2564 omxvideodec: make generic the OMX_UseEGLImage code path
2565 Will be easier to maintain and to make enhancements.
2566 Tested with Tizonia on Desktop.
2567 Also tested with Bellagio to make sure it does not crash when
2568 calling OMX_UseEGLImage and indeed it returns NotImplemented.
2569 Then gst-omx fallback to OMX_UseBuffer if it can and so on.
2570 Also tested on rpi to make sure there is no regression.
2571 https://bugzilla.gnome.org/show_bug.cgi?id=784365
2573 2017-07-21 11:52:00 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
2575 * omx/gstomxvideodec.c:
2576 omxvideodec: Fix segment seek
2577 On segment seek, unlike EOS, we drain, but we cannot expect a flush
2578 later to reset the decoder state. As a side effect, the decoder would
2579 remain in EOS state and ignore any new incoming buffers.
2580 To fix this, we call _flush() inside the _drain() function, and
2581 _finish() becomes what _drain() was before. This way, for _finish() (the
2582 eos case) we only drain, for _drain() triggered by segment seek or new
2583 caps, we also reset the decoder state so it's ready to accept buffers.
2584 https://bugzilla.gnome.org/show_bug.cgi?id=785237
2586 2017-07-10 15:00:58 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2588 * omx/gstomxvideoenc.c:
2589 omxvideoenc: ensure enough buffers are allocated in the pool
2590 Handle allocation query and ensure enough buffers are allocated in
2591 the negotiated pool. This help preventing buffer starvation in the pipeline.
2592 https://bugzilla.gnome.org/show_bug.cgi?id=785122
2594 2017-07-04 12:16:39 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2599 * omx/gstomxbufferpool.c:
2600 * omx/gstomxbufferpool.h:
2601 * omx/gstomxvideodec.c:
2602 * omx/gstomxvideodec.h:
2604 omxvideodec: add dmabuf support for output
2605 The zynqultrascaleplus OMX implementation has a custom extension
2606 allowing decoders to output dmabuf and so avoid buffers copy between OMX
2608 Make use of this extension when built on the zynqultrascaleplus. The
2609 buffer pool code should be re-usable for other platforms as well.
2610 https://bugzilla.gnome.org/show_bug.cgi?id=784847
2612 2017-06-20 00:13:33 +0100 Julien Isorce <jisorce@oblong.com>
2614 * config/tizonia/gstomx.conf.in:
2615 config: add OMX.Aratelia.video_decoder.vp8 to Tizonia config
2616 Useful mostly for testing/debugging purpose as this is a software
2617 based encoder (libvpxdec) for which GStreamer provides a direct
2619 https://bugzilla.gnome.org/show_bug.cgi?id=783976
2621 2017-06-19 23:56:02 +0100 Julien Isorce <jisorce@oblong.com>
2623 * omx/gstomxvideodec.c:
2624 omxvideodec: handle IL 1.2 behavior for OMX_SetParameter
2625 It triggers SettingsChanged on the other port and it is up to
2626 the client to decide if it should lead to a port reconfiguration.
2627 Settings are propagated to the other port for fields they have
2628 in common. But this event is only triggered on the other port
2629 if it actually change a setting.
2630 https://bugzilla.gnome.org/show_bug.cgi?id=783976
2632 2017-07-18 23:41:17 +0100 Julien Isorce <jisorce@oblong.com>
2634 * config/tizonia/gstomx.conf.in:
2635 config: set rank to 0 for Tizonia's mp3 decoder
2636 Should have been 0 from the initial commit
2637 eed49b4231a063639f90279c8044404c2149902a
2639 2017-07-17 21:03:55 +0100 Julien Isorce <jisorce@oblong.com>
2641 * omx/gstomxvideodec.c:
2642 omxvideodec: fix file permissions
2643 Introduced by ebc9b4903cbdac2793c24b05a1bb7acc3b67fae5
2645 2017-06-29 23:17:26 +0100 Julien Isorce <jisorce@oblong.com>
2647 * omx/gstomxvideodec.c:
2648 omxvideodec: fix buffer leak when eglimage setup fails
2649 Can happen if gst_buffer_pool_acquire_buffer succeeds but
2650 gst_buffer_n_memory (buffer) is not exactly 1.
2651 In theory this should not happen because the decoder requests
2652 EGLImage(RGBA) but better to fix any leak on corner cases.
2653 https://bugzilla.gnome.org/show_bug.cgi?id=784365
2655 2017-07-17 18:36:36 +0530 Satya Prakash Gupta <sp.gupta@samsung.com>
2658 omx: Possible Memory leak in gst_caps_from_string
2659 https://bugzilla.gnome.org/show_bug.cgi?id=784978
2661 2017-07-17 15:48:44 +0530 Satya Prakash Gupta <sp.gupta@samsung.com>
2663 * omx/gstomxvideoenc.c:
2664 omxvideoenc: Fix deadlock in error case when draining
2665 https://bugzilla.gnome.org/show_bug.cgi?id=784972
2667 2017-07-17 13:44:54 +0530 Satya Prakash Gupta <sp.gupta@samsung.com>
2669 * omx/gstomxaudioenc.c:
2670 omxaudioenc: Fix deadlock in error case when draining
2671 https://bugzilla.gnome.org/show_bug.cgi?id=784967
2673 2017-06-02 12:36:30 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2678 build: include OMX_IndexExt and OMX_ComponentExt if present
2679 These files may be used by OMX implementation to define custom extensions.
2680 Include them if present as we are already doing with OMX_VideoExt.h
2681 https://bugzilla.gnome.org/show_bug.cgi?id=784847
2683 2017-07-13 16:40:26 +1000 Jan Schmidt <jan@centricular.com>
2685 * omx/gstomxh264enc.c:
2686 omxh264enc: Re-add periodicty-idr property for backward compat
2687 Retain backwards compatibility by adding a duplicate
2688 property for periodicty-idr
2689 https://bugzilla.gnome.org/show_bug.cgi?id=784370
2691 2017-06-30 15:15:06 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2693 * omx/gstomxh264enc.c:
2694 omxh264enc: fix typo in "periodicty-idr" property name
2695 Also fix the 'nick' of the property.
2696 https://bugzilla.gnome.org/show_bug.cgi?id=784370
2698 2017-06-29 22:48:47 +0100 Julien Isorce <jisorce@oblong.com>
2700 * omx/gstomxvideodec.c:
2701 * omx/gstomxvideodec.h:
2702 omxvideodec: use OMX_UseBuffer
2703 For example this allows the omx decoder to directly fill the
2704 pixmaps coming from the video sink.
2705 It only avoids a buffer copy when the decoder uses a pool provided
2706 by a downstream element. So let's restrict this usage to situations
2707 where the decoder decides to use a downstream buffer pool.
2708 Tested with Tizonia/OMX.Aratelia.video_decoder.vp8
2709 and with Bellagio/OMX.mesa.video_decoder.avc.
2710 If it fails to setup buffers with OMX_UseBuffer the decoders
2711 fallbacks to usual OMX_AllocateBuffer.
2712 Also it allows to test on desktop the GstOMXBufferPool->other_pool
2713 management which was previously only used in the OMX_UseEGLImage
2715 https://bugzilla.gnome.org/show_bug.cgi?id=784069
2717 2017-07-12 10:29:16 +0100 Julien Isorce <jisorce@oblong.com>
2720 omx: do not always print an error if OMX_{UseBuffer,EGLImage} fails
2721 Let the caller decide to print an error. Because it can be part of
2722 a normal trial path.
2723 https://bugzilla.gnome.org/show_bug.cgi?id=784069
2725 2017-07-12 16:00:53 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2728 meson: add gstomxmp3enc
2729 Commit 02d493e85921596f7cac7ef4af02fde500e9a5d8 didn't add
2730 gstomxmp3enc.c to meson.
2731 https://bugzilla.gnome.org/show_bug.cgi?id=784848
2733 2017-05-23 10:32:58 +0100 Julien Isorce <jisorce@oblong.com>
2735 * config/tizonia/gstomx.conf.in:
2736 config: add OMX.Aratelia.audio_encoder.mp3 to Tizonia config
2737 Useful mostly for testing/debugging purpose as this is a software
2738 based encoder (libmp3lame) for which GStreamer provides a direct
2740 https://bugzilla.gnome.org/show_bug.cgi?id=782988
2742 2017-05-23 10:32:06 +0100 Julien Isorce <jisorce@oblong.com>
2746 * omx/gstomxmp3enc.c:
2747 * omx/gstomxmp3enc.h:
2748 omx: add gstomxmp3enc
2749 Initial support and only tested with the software based
2750 encoder OMX.Aratelia.audio_encoder.mp3 from Tizonia which
2751 internally uses libmp3lame.
2752 https://bugzilla.gnome.org/show_bug.cgi?id=782988
2754 2017-03-28 16:27:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2756 * config/zynqultrascaleplus/gstomx.conf:
2759 * omx/gstomxh264dec.c:
2760 h264dec: add hack to pass profile and level to OMX
2761 This information can be useful to zynqultrascaleplus decoders. They may
2762 use this information to reduce startup latency by configuring itself
2763 before receiving the first frames.
2764 We also have a custom OMX extension allowing the decoder to report the
2765 latency. The profile/level information helps it reporting a more
2766 accurate latency earlier.
2767 https://bugzilla.gnome.org/show_bug.cgi?id=783114
2769 2017-07-03 13:17:11 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2772 * omx/gstomxh264enc.c:
2773 * omx/gstomxh264utils.c:
2774 * omx/gstomxh264utils.h:
2776 omxh264enc: move profile and level parsing functions to their own files
2777 Will allow to re-use them in the decoder element.
2778 https://bugzilla.gnome.org/show_bug.cgi?id=783114
2780 2017-07-04 03:15:00 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2782 * config/meson.build:
2783 * config/tizonia/meson.build:
2785 * meson_options.txt:
2786 meson: Add tizonia option
2787 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2789 2017-04-29 02:56:59 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2792 * config/tizonia/Makefile.am:
2793 * config/tizonia/gstomx.conf.in:
2794 * config/tizonia/meson.build:
2796 config: add omxmp3dec config for tizonia
2797 GST_OMX_CONFIG_DIR=$HOME/gst/master/gst-omx/config/tizonia/ \
2798 gst-launch-1.0 filesrc location=mpthreetest.mp3 ! id3demux ! \
2799 mpegaudioparse ! omxmp3dec ! audioconvert ! pulsesink
2800 v2: [Nicolas] Use template to create gstomx.conf using pkg-config
2801 v3: [Nicolas] Ignore only config/tizonia/gstomx.conf
2802 v4: [Nicolas] Add "/" for single occurence
2803 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2805 2017-05-07 20:09:54 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2808 omx: always ignore OMX_ErrorPortUnpopulated
2809 It is safe to ignore it always. Tizonia notifies this error to pass
2810 some khronos conformance tests. Problem is that gst-omx saves this
2811 error in comp->last_error and then gst_omx_port_set_enabled early
2812 error out which fails the pipeline.
2813 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2815 2017-04-29 02:53:26 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2819 omx: guard some omx enums with IL version
2820 Some enums that existed in 1.1.2 just do not exit in 1.2.0
2821 See https://www.khronos.org/registry/OpenMAX-IL/specs/OpenMAX_IL_1_2_0_Specification_redline.pdf
2822 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2824 2017-04-29 01:56:01 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2827 configure.ac: add tizonia target for --with-omx-target flag.
2828 This will check for tizilheaders.pc which adds path to omx-il
2829 headers its cflags. Can be installed all together with the 1.2 headers
2830 with package tizilheaders if not building from sources:
2831 https://github.com/tizonia/tizonia-openmax-il
2832 It is also adviced to remove libomxil-bellagio-dev package because
2833 it installs headers /usr/include directly, ex: /usr/include/OMX_Video.h.
2834 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2836 2017-07-05 10:47:41 +0100 Julien Isorce <jisorce@oblong.com>
2838 * omx/gstomxaudioenc.c:
2839 omxaudioenc: update local port_def after reopening the component
2840 gst_omx_audio_enc_open will only update GstOMXAudioEnc->port->port_def.
2841 Note that the component is reopen only if the flag
2842 GST_OMX_HACK_NO_COMPONENT_RECONFIGURE is set.
2843 https://bugzilla.gnome.org/show_bug.cgi?id=782418
2845 2017-07-05 10:48:52 +0100 Julien Isorce <jisorce@oblong.com>
2847 * omx/gstomxvideoenc.c:
2848 omxvideoenc: update local port_def after reopening the component
2849 gst_omx_video_enc_open will only update GstOMXVideoEnc->port->port_def.
2850 Note that the component is reopen only if the flag
2851 GST_OMX_HACK_NO_COMPONENT_RECONFIGURE is set.
2852 https://bugzilla.gnome.org/show_bug.cgi?id=782418
2854 2017-05-10 12:38:39 +0900 Sejun Park <sejun79.park@samsung.com>
2856 * omx/gstomxvideodec.c:
2857 omxvideodec: update local port_def after reopening the component
2858 gst_omx_video_dec_open will only update GstOMXVideoDec->port->port_def.
2859 Note that the component is reopen only if the flag
2860 GST_OMX_HACK_NO_COMPONENT_RECONFIGURE is set.
2861 https://bugzilla.gnome.org/show_bug.cgi?id=782418
2863 2017-07-03 16:33:06 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2865 * omx/gstomxvideodec.c:
2866 omxvideodec: increase the minimum number of allocated buffers
2867 Ensure that enough buffers are allocated by adding up component's own
2868 minimal plus the number of buffers requested by downstream.
2869 This should prevent buffers starvation problem if downstream elements
2870 are holding some of the buffers they required.
2871 Also simplify the check on the maximum on buffers. What we actually care
2872 about is to make sure the pool can hold the minimum of required buffers.
2873 https://bugzilla.gnome.org/show_bug.cgi?id=784479
2875 2017-07-03 10:54:50 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2877 * omx/gstomxh264enc.c:
2878 omxh264enc: raise a warning if AVCIntraPeriod is not supported
2879 Some platforms may not implement OMX_IndexConfigVideoAVCIntraPeriod and
2880 use OMX_IndexParamVideoAvc instead to configure the GOP pattern.
2881 So raise a warning instead of an error if this API is not implemented.
2882 https://bugzilla.gnome.org/show_bug.cgi?id=784379
2884 2017-06-29 14:16:19 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2886 * omx/gstomxh264enc.c:
2887 * omx/gstomxh264enc.h:
2888 omxh264enc: add 'b-frames' property
2889 Add a property to control the number of B-frames produced by the
2890 encoder using the OMX_VIDEO_PARAM_AVCTYPE OMX API.
2891 https://bugzilla.gnome.org/show_bug.cgi?id=784379
2893 2017-06-30 14:18:35 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2895 * omx/gstomxh264enc.c:
2896 omxh264enc: fix typo in 'set_avc_intra_period'
2897 https://bugzilla.gnome.org/show_bug.cgi?id=784379
2899 2017-05-22 11:23:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2901 * config/Makefile.am:
2902 * config/meson.build:
2903 * config/zynqultrascaleplus/Makefile.am:
2904 * config/zynqultrascaleplus/gstomx.conf:
2905 * config/zynqultrascaleplus/meson.build:
2908 * meson_options.txt:
2909 add 'zynqultrascaleplus' as OMX target
2910 Adding support for the 'Zynq UltraScale+' as a new OMX target.
2911 See https://www.xilinx.com/products/silicon-devices/soc/zynq-ultrascale-mpsoc.html
2912 for details about the platform.
2913 https://bugzilla.gnome.org/show_bug.cgi?id=783097
2915 2017-05-21 15:23:09 +0100 Julien Isorce <jisorce@oblong.com>
2917 * config/bellagio/gstomx.conf:
2918 config: add OMX.mesa.video_decoder.{avc,mpeg2} for Bellagio config
2919 Install libomxil-bellagio0 and make sure mesa has been built with
2920 --enable-omx. Check there is /usr/lib/libomxil-bellagio0/libomx_mesa.so
2921 then run omxregister-bellagio to regenerate $XDG_DATA_HOME/.omxregister
2922 Then omxh264dec and omxmpeg2dec should load.
2923 https://bugzilla.gnome.org/show_bug.cgi?id=782926
2925 2017-05-18 13:50:56 +0100 Julien Isorce <jisorce@oblong.com>
2928 configure.ac: move omx features check after target selection
2929 Does not change anything, except this will be useful for future commits.
2930 Indeed some targets provide a .pc file where to look for the omx headers.
2931 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2933 2017-06-29 16:48:07 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2935 * omx/gstomxh264dec.c:
2936 omxh264dec: remove 'parsed=true' from sink pad
2937 The decoder only requires to receive one frame per buffer which is
2938 already enforced with 'alignment=au'. There is no need to require to
2939 have a parser upstream.
2940 Allow to run "encode ! decode" pipeline without having a parser.
2941 https://bugzilla.gnome.org/show_bug.cgi?id=784344
2943 2017-06-16 13:28:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2945 * omx/gstomxh264enc.c:
2946 omxh264enc: set profile/level using OMX_VIDEO_PARAM_AVCTYPE as well
2947 The OMX specification defines two API to set the AVC profile and level:
2948 using OMX_VIDEO_PARAM_PROFILELEVELTYPE and OMX_VIDEO_PARAM_AVCTYPE.
2949 We were already supporting the former but not the latter. We are now
2950 setting both so implementation don't have to rely on a specific one.
2951 https://bugzilla.gnome.org/show_bug.cgi?id=783862
2953 2017-06-16 13:19:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2955 * omx/gstomxh264enc.c:
2956 omxh264enc: factor out update_param_profile_level()
2957 https://bugzilla.gnome.org/show_bug.cgi?id=783862
2959 2017-06-16 12:53:15 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2961 * omx/gstomxh264enc.c:
2962 omxh264enc: factor out string to profile/level enum conversion
2963 https://bugzilla.gnome.org/show_bug.cgi?id=783862
2965 2017-06-28 15:06:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2967 * omx/gstomxh264enc.c:
2968 omxh264enc: use OMX_IndexConfigBrcmVideoIntraPeriod on pi
2969 The OMX_VIDEO_CONFIG_AVCINTRAPERIOD.nPFrames setting isn't of any use on
2970 the raspbery pi. Instead it uses a custom extension to define the I
2972 https://bugzilla.gnome.org/show_bug.cgi?id=783829
2974 2017-06-28 15:03:52 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2976 * omx/gstomxh264enc.c:
2977 omxh264enc: factor out set_avc_intra_perdiod()
2978 https://bugzilla.gnome.org/show_bug.cgi?id=783829
2980 2017-06-02 12:48:57 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2983 meson: define HAVE_VIDEO_EXT if OMX_VideoExt.h is present
2984 Meson build wasn't defining the HAVE_VIDEO_EXT like configure.ac does.
2985 https://bugzilla.gnome.org/show_bug.cgi?id=783346
2987 2017-06-11 12:32:01 +0000 Graham Leggett <minfrin@sharp.fm>
2989 * omx/gstomxvideoenc.c:
2990 omxvideoenc: Improve debug output when setting codec state due to new codec_data fails
2991 https://bugzilla.gnome.org/show_bug.cgi?id=783657
2993 2017-05-20 14:49:20 +0100 Julien Isorce <jisorce@oblong.com>
2996 omx: allow 0 feature
2997 Previously the omx plugin was blacklisted if GST_OMX_CONFIG_DIR
2998 points to an invalid path or if the gstomx.conf contains 0 valid
3000 Problem is that once the plugin is blacklisted, a rescan is not
3001 triggered upon changes of the env var or the gstomx.conf file
3002 despite being setup with gst_plugin_add_dependency.
3003 This also makes it more consistent with other plugins that auto
3004 generate features. For example gst-{ffmeg,libav}, gstreamer-vaapi,
3006 To clarify the diff, the plugin_init func will return TRUE even if
3007 g_key_file_get_groups returns 0 element and even if
3008 g_key_file_load_from_dirs fails.
3009 https://bugzilla.gnome.org/show_bug.cgi?id=782867
3011 2017-04-26 22:52:17 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
3013 * config/bellagio/gstomx.conf:
3014 config: add OMX.st.audio_decoder.mp3.mad for Bellagio config
3015 MP3 Software decoder (libmad based) but useful for testing
3016 and to compare with other targets.
3017 GST_OMX_CONFIG_DIR=$HOME/gst/master/gst-omx/config/bellagio/ \
3018 gst-launch-1.0 filesrc location=mpthreetest.mp3 ! id3demux ! \
3019 mpegaudioparse ! omxmp3dec ! audioconvert ! pulsesink
3020 Didn't add 'local' in core-name path compared to other components
3021 in that same gstomx.conf file because OMX.st.audio_decoder.mp3.mad
3022 comes with the Ubuntu package 'libomxil-bellagio0-components-mad'.
3023 All other components listed in this gstomx.conf for Bellagio, are
3024 not provided by any Ubuntu packages. It could explain the 'local',
3025 i.e. requiring to build them from source.
3026 dpkg -L libomxil-bellagio0
3027 /usr/lib/libomxil-bellagio.so.0
3028 https://bugzilla.gnome.org/show_bug.cgi?id=781786
3029 Signed-off-by: Gurkirpal Singh <gurkirpal204@gmail.com>
3030 Signed-off-by: Julien Isorce <jisorce@oblong.com>
3032 2017-05-16 14:39:04 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
3035 Remove plugin specific static build option
3036 Static and dynamic plugins now have the same interface. The standard
3037 --enable-static/--enable-shared toggle are sufficient.
3039 2017-05-10 12:10:10 +0900 Sejun Park <sejun79.park@samsung.com>
3041 * omx/gstomxvideodec.c:
3042 omxvideodec: Removed unreachable code
3043 https://bugzilla.gnome.org/show_bug.cgi?id=782416
3045 2017-05-09 16:26:44 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3048 meson: add dep on GModule
3049 libgstomx uses the GModule API and so needs it in its dependencies list.
3050 https://bugzilla.gnome.org/show_bug.cgi?id=782387
3052 2017-05-09 13:27:28 +0000 Tim-Philipp Müller <tim@centricular.com>
3055 meson: fix config.h generation
3056 "No such input file config.h.meson", but it's not needed anyway.
3057 https://bugzilla.gnome.org/show_bug.cgi?id=782382
3059 2017-05-04 18:59:33 +0300 Sebastian Dröge <sebastian@centricular.com>
3065 === release 1.12.0 ===
3067 2017-05-04 15:48:56 +0300 Sebastian Dröge <sebastian@centricular.com>
3077 === release 1.11.91 ===
3079 2017-04-27 17:53:50 +0300 Sebastian Dröge <sebastian@centricular.com>
3089 2017-04-17 17:02:48 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3091 * omx/gstomxvideoenc.c:
3092 videoenc: use GST_ROUND_UP_N() macro
3093 Makes the code much easier to read and understand.
3094 https://bugzilla.gnome.org/show_bug.cgi?id=781409
3096 2017-04-24 20:30:21 +0100 Tim-Philipp Müller <tim@centricular.com>
3099 Automatic update of common submodule
3100 From 60aeef6 to 48a5d85
3102 2017-04-10 23:51:00 +0100 Tim-Philipp Müller <tim@centricular.com>
3106 Automatic update of common submodule
3107 From 39ac2f5 to 60aeef6
3109 === release 1.11.90 ===
3111 2017-04-07 16:36:45 +0300 Sebastian Dröge <sebastian@centricular.com>
3121 2017-04-07 14:27:23 +0300 Sebastian Dröge <sebastian@centricular.com>
3123 * omx/gstomxvideoenc.c:
3124 omxvideoenc: Fix compiler warning
3125 gstomxvideoenc.c: In function ‘gst_omx_video_enc_fill_buffer’:
3126 CC libgstomx_la-gstomxaacdec.lo
3127 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=]
3128 GST_LOG_OBJECT (self, "Matched strides - direct copy %u bytes",
3130 outbuf->omx_buf->nFilledLen);
3133 2017-03-22 17:18:09 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
3136 meson: fix logic to set HAVE_THEORA
3137 https://bugzilla.gnome.org/show_bug.cgi?id=780392
3139 2017-03-14 03:02:06 +1100 Jan Schmidt <thaytan@noraisin.net>
3141 * omx/gstomxvideoenc.c:
3142 omxvideoenc: Add an unimplemented mapping for RGBA formats
3143 Add some pixel formats mappings for 2 RGBA formats. Not yet
3144 implemented in the buffer input code though, so no effect for now.
3146 2017-03-14 03:00:49 +1100 Jan Schmidt <thaytan@noraisin.net>
3150 * omx/gstomxvideoenc.c:
3151 omxvideoenc: Add GST_OMX_HACK_HEIGHT_MULTIPLE_16 for Rpi
3152 The Raspberry Pi encoder produces corrupt output unless
3153 the input height is a multiple of 16. Add a hack that adds
3154 zero padding when needed.
3156 2017-03-14 02:42:15 +1100 Jan Schmidt <thaytan@noraisin.net>
3158 * omx/gstomxvideoenc.c:
3159 omxvideoenc: Add a mapping for OMX_COLOR_FormatYUV420PackedSemiPlanar
3162 2017-03-14 02:40:24 +1100 Jan Schmidt <thaytan@noraisin.net>
3164 * omx/gstomxvideoenc.c:
3165 omxvideoenc: Filter out unimplemented formats
3166 Don't announce pixel formats in the caps if they've not been
3169 2017-03-14 02:34:36 +1100 Jan Schmidt <thaytan@noraisin.net>
3171 * omx/gstomxvideodec.c:
3172 omxvideodec: demote ERROR message
3173 There's no need to warn about failing to negotiate EGL output
3174 - that can be perfectly normal.
3176 2017-02-24 16:00:29 +0200 Sebastian Dröge <sebastian@centricular.com>
3179 meson: Update version
3181 2017-02-24 15:38:17 +0200 Sebastian Dröge <sebastian@centricular.com>
3186 === release 1.11.2 ===
3188 2017-02-24 15:10:17 +0200 Sebastian Dröge <sebastian@centricular.com>
3197 2017-02-15 18:22:53 +0000 Tim-Philipp Müller <tim@centricular.com>
3200 meson: dist meson build files
3201 Ship meson build files in tarballs, so people who use tarballs
3202 in their builds can start playing with meson already.
3204 2017-01-13 16:23:12 +0000 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
3206 * omx/gstomxaacenc.c:
3207 omxaacenc: let encoder know about incoming rate/channels
3208 https://bugzilla.gnome.org/show_bug.cgi?id=777223
3210 2017-01-18 02:43:44 +1100 Matthew Waters <matthew@centricular.com>
3212 * config/bellagio/meson.build:
3213 * config/meson.build:
3214 * config/rpi/meson.build:
3215 * examples/egl/meson.build:
3216 * examples/meson.build:
3217 * hooks/pre-commit.hook:
3219 * meson_options.txt:
3221 build: add meson build definition
3222 Currently only been tested on the RPi within gst-build.
3224 2017-01-18 15:21:35 +1100 Matthew Waters <matthew@centricular.com>
3226 * examples/egl/testegl.c:
3227 examples/testegl: update for libgstgl changes
3229 2017-01-12 16:33:09 +0200 Sebastian Dröge <sebastian@centricular.com>
3234 === release 1.11.1 ===
3236 2017-01-12 16:26:55 +0200 Sebastian Dröge <sebastian@centricular.com>
3245 2017-01-10 15:29:08 +0000 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
3247 * omx/gstomxaudioenc.c:
3248 omxaudioenc: set base class format instead of just source pad caps
3250 2016-12-18 19:46:55 +0000 Graham Leggett <minfrin@sharp.fm>
3252 * omx/gstomxaudiodec.c:
3253 * omx/gstomxvideodec.c:
3254 omx*dec: Flush before we stop the srcpad loop
3255 Flushing could otherwise hang if output port queue of pending buffers was empty
3256 https://bugzilla.gnome.org/show_bug.cgi?id=774654
3258 2016-12-14 13:29:08 -0800 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
3261 Fix broken build due to syntax error
3262 Problem was introduced by 8716c23e2b0553db2982eb84c437f493c974385e
3264 2016-12-12 11:12:48 +0000 Graham Leggett <minfrin@sharp.fm>
3267 Prevent early EOS by resetting eos flag once GST_OMX_ACQUIRE_BUFFER_EOS is triggered
3268 https://bugzilla.gnome.org/show_bug.cgi?id=774600
3270 2016-12-12 11:09:15 +0000 Graham Leggett <minfrin@sharp.fm>
3273 Add clear debug logging on all the paths out of gst_omx_port_acquire_buffer()
3274 https://bugzilla.gnome.org/show_bug.cgi?id=774600
3276 2016-12-01 18:23:50 +0100 George Kiagiadakis <george.kiagiadakis@collabora.com>
3278 * config/rpi/gstomx.conf:
3281 Add a signals-premature-eos hack for egl_render
3282 egl_render seems to have a bug and signals EOS before it has finished
3283 pushing out all data; this hack simply makes acquire_buffer() wait
3284 a bit more before signalling EOS, in case egl_render decides to spit
3286 https://bugzilla.gnome.org/show_bug.cgi?id=741856
3288 2016-12-11 19:52:37 +0000 Graham Leggett <minfrin@sharp.fm>
3290 * omx/gstomxvideo.c:
3291 Add support for OMX_COLOR_FormatYUV420PackedSemiPlanar and OMX_COLOR_Format24bitBGR888
3292 https://bugzilla.gnome.org/show_bug.cgi?id=775959
3294 2016-12-03 08:20:46 +0100 Edward Hervey <bilboed@bilboed.com>
3297 Automatic update of common submodule
3298 From ac2f647 to 39ac2f5
3300 2016-11-26 11:27:58 +0000 Tim-Philipp Müller <tim@centricular.com>
3303 common: use https protocol for common submodule
3304 https://bugzilla.gnome.org/show_bug.cgi?id=775110
3306 2016-11-25 23:56:06 +0200 Sebastian Dröge <sebastian@centricular.com>
3309 omx: Fix compiler warning with latest clang
3310 gstomx.c:1376:42: error: implicit conversion from enumeration type 'GstOMXAcquireBufferReturn' to different enumeration type 'OMX_ERRORTYPE'
3311 (aka 'enum OMX_ERRORTYPE') [-Werror,-Wenum-conversion]
3312 g_return_val_if_fail (!port->tunneled, GST_OMX_ACQUIRE_BUFFER_ERROR);
3313 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3314 https://bugzilla.gnome.org/show_bug.cgi?id=775112
3316 2016-11-17 19:56:35 +1100 Matthew Waters <matthew@centricular.com>
3318 * omx/gstomxvideodec.c:
3319 videodecoder: remove use of EGLImage orientation
3320 New code should use GstVideoTransformationMeta
3321 (The defaults do the right thing here though).
3323 === release 1.11.0 ===
3325 2016-11-01 18:53:25 +0200 Sebastian Dröge <sebastian@centricular.com>
3330 === release 1.10.0 ===
3332 2016-11-01 18:20:48 +0200 Sebastian Dröge <sebastian@centricular.com>
3341 === release 1.9.90 ===
3343 2016-09-30 13:04:51 +0300 Sebastian Dröge <sebastian@centricular.com>
3353 2016-09-14 11:33:13 +0200 Sebastian Dröge <sebastian@centricular.com>
3356 configure: Depend on gstreamer 1.9.2.1
3358 2016-09-12 14:09:46 +0200 Sebastian Dröge <sebastian@centricular.com>
3362 omx: Also search for gstomx.conf in the autoconf --sysconfdir
3363 https://bugzilla.gnome.org/show_bug.cgi?id=770743
3365 2016-09-10 20:52:10 +1000 Jan Schmidt <jan@centricular.com>
3369 Automatic update of common submodule
3370 From b18d820 to f980fd9
3372 2016-09-10 09:58:16 +1000 Jan Schmidt <jan@centricular.com>
3376 Automatic update of common submodule
3377 From ac2f647 to b18d820
3379 2016-09-01 12:36:09 +0300 Sebastian Dröge <sebastian@centricular.com>
3384 === release 1.9.2 ===
3386 2016-09-01 12:35:58 +0300 Sebastian Dröge <sebastian@centricular.com>
3396 2016-07-11 21:15:48 +0200 Stefan Sauer <ensonic@users.sf.net>
3399 Automatic update of common submodule
3400 From ac2f647 to f49c55e
3402 2016-07-06 13:51:24 +0300 Sebastian Dröge <sebastian@centricular.com>
3407 === release 1.9.1 ===
3409 2016-07-06 13:48:45 +0300 Sebastian Dröge <sebastian@centricular.com>
3419 2016-06-29 16:37:43 +0900 Kazunori Kobayashi <kkobayas@igel.co.jp>
3421 * omx/gstomxvideodec.c:
3422 omxvideodec: Use GST_VIDEO_FRAME_PLANE_STRIDE() to get output buffer's stride
3423 GST_VIDEO_FRAME_PLANE_STRIDE() should be used to get the actual buffer stride,
3424 as reported in the buffers's GstVideoMeta, when copying data to that buffer.
3425 https://bugzilla.gnome.org/show_bug.cgi?id=768173
3427 2016-06-21 11:48:40 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
3430 Automatic update of common submodule
3431 From ac2f647 to f363b32
3433 2016-06-21 11:43:13 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
3435 * omx/gstomxaudioenc.c:
3436 omxaudioenc: implement GstPreset interface
3437 To allow user to use GstPreset to quickly save and load a set of
3439 https://bugzilla.gnome.org/show_bug.cgi?id=767907
3441 2016-06-21 11:41:15 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
3443 * omx/gstomxvideoenc.c:
3444 omxvideoenc: implement GstPreset interface
3445 To allow user to use GstPreset to quickly save and load a set of
3447 https://bugzilla.gnome.org/show_bug.cgi?id=767907
3449 2016-06-17 12:06:48 +0300 Sebastian Dröge <sebastian@centricular.com>
3453 * omx/gstomxaudiodec.c:
3454 * omx/gstomxaudioenc.c:
3455 * omx/gstomxvideo.c:
3456 * omx/gstomxvideodec.c:
3457 * omx/gstomxvideoenc.c:
3458 omx: #define OMX_SKIP64BIT on the RPi as required by their API
3459 Also add generic support for OMX_SKIP64BIT to gst-omx, in case other
3460 implementations also #define that for whatever reason.
3461 https://bugzilla.gnome.org/show_bug.cgi?id=766475
3463 2016-06-17 10:59:45 +0300 Sebastian Dröge <sebastian@centricular.com>
3465 * omx/gstomxvideodec.c:
3466 omxvideodec: Implement ::drain() virtual method
3467 https://bugzilla.gnome.org/show_bug.cgi?id=767641
3469 2016-06-04 19:31:45 +0100 Tim-Philipp Müller <tim@centricular.com>
3472 configure: remove AG_GST_PARSE_SUBSYSTEM_DISABLES
3473 This would check which subsystems are disabled in core by grepping
3474 gstconfig.h. Only problem is: gstconfig.h has moved into libdir now
3475 so we've been checking a non-existent file for a while now. The
3476 macro would just sets GST_DISABLE_* for use in configure.ac and
3477 Makefile.am, but we don't use that anywhere so just get rid of it
3478 (the one place where we use GST_DISABLE_GST_DEBUG is in a .c file
3479 which gets the define from the gstconfig.h include).
3480 https://bugzilla.gnome.org/show_bug.cgi?id=750056
3482 2016-01-20 03:10:38 +0900 Gwang Yoon Hwang <yoon@igalia.com>
3484 * examples/egl/testegl.c:
3485 * omx/gstomxvideodec.c:
3486 omxvideodec : Use gstglmemoryegl for the RPi
3487 Modified to use gstglmemoryegl to avoid texture creation/copy operations
3489 [Matthew Waters]: gst-indent the sources and port testegl to GstGLMemoryEGL
3490 https://bugzilla.gnome.org/show_bug.cgi?id=760918
3492 2016-04-14 10:04:32 +0100 Julien Isorce <j.isorce@samsung.com>
3495 Automatic update of common submodule
3496 From 6f2d209 to ac2f647
3498 2016-02-26 12:42:41 +0200 Sebastian Dröge <sebastian@centricular.com>
3501 Automatic update of common submodule
3502 From b64f03f to 6f2d209
3504 2016-02-17 20:51:03 +1100 Matthew Waters <matthew@centricular.com>
3506 * examples/egl/testegl.c:
3507 examples: update egl example for gstgl API changes
3508 https://bugzilla.gnome.org/show_bug.cgi?id=762053
3509 https://bugzilla.gnome.org/show_bug.cgi?id=753917
3511 2016-02-05 18:11:06 -0300 Thiago Santos <thiagoss@osg.samsung.com>
3515 Automatic update of common submodule
3516 From 86e4663 to b64f03f
3518 2015-12-21 00:43:49 +0100 Koop Mast <kwm@rainbow-runner.nl>
3521 configure: Make -Bsymbolic check work with clang.
3522 Update the -Bsymbolic check with the version glib has. This version
3524 https://bugzilla.gnome.org/show_bug.cgi?id=759713
3526 2015-12-07 09:11:32 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
3530 Automatic update of common submodule
3531 From b319909 to 86e4663
3533 2015-11-18 13:00:28 +0000 Enrique Ocaña González <eocanha@igalia.com>
3536 Remember the last_error after a failed set state call to avoid blocking the next get state call
3537 gst_omx_video_dec_flush() blocks forever in
3538 http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomxvideodec.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n2110
3539 when the previous call to gst_omx_component_set_state() fails in
3540 http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomx.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n827.
3541 To mitigate that, I set "last_error" to true, so the code in
3542 http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomx.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n862
3543 exits early and doesn't block.
3544 https://bugzilla.gnome.org/show_bug.cgi?id=758274
3546 2015-11-18 12:59:59 +0000 Enrique Ocaña González <eocanha@igalia.com>
3548 * omx/gstomxaudiodec.c:
3549 * omx/gstomxaudioenc.c:
3550 * omx/gstomxvideodec.c:
3551 * omx/gstomxvideoenc.c:
3552 Properly handle drain requests while flushing
3553 Without this commit the decoder streaming thread stops without ever attending
3554 the drain request, leaving the decoder input thread waiting forever.
3555 https://bugzilla.gnome.org/show_bug.cgi?id=758274
3557 2015-11-10 10:42:35 +0100 Nicolas Huet <nicolas.huet@parrot.com>
3560 omx: fix hacks leak on class init
3562 2015-10-21 14:37:13 +0100 Tim-Philipp Müller <tim@centricular.com>
3565 Automatic update of common submodule
3566 From b99800a to b319909
3568 2015-10-21 14:28:41 +0300 Sebastian Dröge <sebastian@centricular.com>
3571 Automatic update of common submodule
3572 From 9aed1d7 to b99800a
3574 2015-09-01 16:08:11 -0300 Thiago Santos <thiagoss@osg.samsung.com>
3576 * omx/gstomxaacdec.c:
3577 omxaacdec: Do not accept unknown layouts
3578 It was defaulting to RAW when an unknown layout was received but
3579 the caps template would actually forbid that on the caps query
3580 or accept-caps anyway.
3582 2015-09-01 08:59:54 -0300 Thiago Santos <thiagoss@osg.samsung.com>
3584 * omx/gstomxaudiodec.c:
3585 omxaudiodec: use default pad accept-caps handling
3586 Instead of the audiodecoder one. The OMX audioo decoders have their
3587 valid input in the template pad, so just check against that to
3588 avoid doing a query downstream.
3590 2015-08-28 12:57:33 -0300 Thiago Santos <thiagoss@osg.samsung.com>
3592 * omx/gstomxvideodec.c:
3593 omxvideodec: use default pad accept-caps handling
3594 Instead of the videodecoder one. The OMX video decoders have their
3595 valid input in the template pad, so just check against that to
3596 avoid doing a query downstream.
3598 2015-08-22 15:54:55 +0000 Graham Leggett <minfrin@sharp.fm>
3600 * omx/gstomxvideoenc.c:
3601 omxvideoenc: Add keyframe support for the Rpi, using OMX_IndexConfigBrcmVideoRequestIFrame
3602 https://bugzilla.gnome.org/show_bug.cgi?id=753085
3604 2015-08-20 17:20:50 +0900 Vineeth TM <vineeth.tm@samsung.com>
3606 * examples/egl/testegl.c:
3607 gst-omx: Fix memory leaks when context parse fails
3608 When g_option_context_parse fails, context and error variables are not getting free'd
3609 which results in memory leaks. Free'ing the same.
3610 And replacing g_error_free with g_clear_error, which checks if the error being passed
3611 is not NULL and sets the variable to NULL on free'ing.
3612 https://bugzilla.gnome.org/show_bug.cgi?id=753865
3614 2015-08-16 14:53:42 +0200 Philippe Normand <philn@igalia.com>
3616 * omx/gstomxh264dec.c:
3617 omxh264dec: implement is_format_change
3618 The omxvideodecoder class only checks some of the caps parameters but if
3619 other fields change such as h264 profile and/or level it wouldn't trigger a
3621 https://bugzilla.gnome.org/show_bug.cgi?id=752376
3623 2015-07-03 00:26:48 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
3625 * omx/gstomxvideodec.c:
3626 omxvideodec: unref allocator after getting it from allocation query
3627 Otherwise a reference will be leaked for each allocator. It only happens
3628 when target platform is Raspberry Pi and when we have GL support.
3629 https://bugzilla.gnome.org/show_bug.cgi?id=751867
3631 2015-07-03 21:59:54 +0200 Stefan Sauer <ensonic@users.sf.net>
3634 Automatic update of common submodule
3635 From f74b2df to 9aed1d7
3637 2015-06-16 17:50:14 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
3640 Automatic update of common submodule
3641 From 6015d26 to f74b2df
3643 2015-06-09 11:30:49 +0200 Edward Hervey <bilboed@bilboed.com>
3646 Automatic update of common submodule
3647 From d9a3353 to 6015d26
3649 2015-06-08 23:08:28 +0200 Stefan Sauer <ensonic@users.sf.net>
3652 Automatic update of common submodule
3653 From d37af32 to d9a3353
3655 2015-06-07 23:07:22 +0200 Stefan Sauer <ensonic@users.sf.net>
3658 Automatic update of common submodule
3659 From 21ba2e5 to d37af32
3661 2015-06-07 17:32:25 +0200 Stefan Sauer <ensonic@users.sf.net>
3664 Automatic update of common submodule
3665 From c408583 to 21ba2e5
3667 2015-06-07 17:16:43 +0200 Stefan Sauer <ensonic@users.sf.net>
3671 Automatic update of common submodule
3672 From c8fb372 to c408583
3674 2015-05-19 18:21:40 +0300 Sebastian Dröge <sebastian@centricular.com>
3676 * omx/gstomxaudiodec.c:
3677 * omx/gstomxaudiodec.h:
3678 omxaudiodec: Add an output adapter for chunking the output into codec frames
3679 Otherwise the base class will be confused.
3680 See https://bugzilla.gnome.org/show_bug.cgi?id=685730
3682 2015-04-26 18:24:13 +0100 Tim-Philipp Müller <tim@centricular.com>
3686 Remove obsolete Android build cruft
3687 This is not needed any longer.
3689 2015-04-22 10:40:22 +0200 Sebastian Dröge <sebastian@centricular.com>
3693 autotools automatically generate this, and when using different versions
3694 for autogen.sh there will always be changes to a file tracked by git.
3696 2015-04-08 15:57:59 +0100 Tim-Philipp Müller <tim@centricular.com>
3702 Add m4 directory so aclocal doesn't complain in autogen.sh
3703 Might come in handy, and these warnings seem to be
3704 fatal in some environments.
3705 You may need to git clean -x -d -f your tree before
3706 git pulling/merging.
3708 2015-04-07 22:25:57 +0100 Tim-Philipp Müller <tim@centricular.com>
3712 Update autogen.sh to latest version
3714 2015-04-03 18:58:17 +0100 Tim-Philipp Müller <tim@centricular.com>
3717 Automatic update of common submodule
3718 From bc76a8b to c8fb372
3720 2015-03-06 12:12:49 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3722 * omx/gstomxaacdec.c:
3723 omxaudiodec: add comment explaining duplicate code path
3725 2015-03-06 12:09:06 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3727 * omx/gstomxaacdec.c:
3728 Revert "omxaudiodec: remove duplicate code path"
3729 This reverts commit a8d26ff27a8b43f589424a59294f9057641b2a46.
3731 2015-03-06 12:03:56 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3734 omx: handle both errors in the two steps of update_port_definition
3735 Also consider potential errors in the _get_parameter() in the return of the
3736 update_port_definition function.
3739 2015-03-06 10:57:53 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3741 * omx/gstomxaudioenc.c:
3742 omxaudioenc: impossible if statement
3743 ret is set to GST_STATE_CHANGE_SUCCESS and never touched, so it is impossible
3744 for it to be anything else at the if check. Remove the if check.
3747 2015-03-06 10:54:43 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3749 * omx/gstomxaudiodec.c:
3750 omxaudiodec: impossible if statement
3751 ret is set to GST_STATE_CHANGE_SUCCESS and never touched, so it is impossible
3752 for it to be anything else at the if check. Remove it.
3755 2015-03-06 10:50:30 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3757 * omx/gstomxaacdec.c:
3758 omxaudiodec: remove duplicate code path
3760 2014-12-19 11:19:55 +0200 George Kiagiadakis <george.kiagiadakis@collabora.com>
3763 omx: call handle_messages() only once in acquire_buffer() to avoid potential deadlock
3764 There is one rare case where calling handle_messages() more than once can cause a deadlock
3765 in the video decoder element:
3766 - sink pad thread starts the src pad task (gst_omx_video_dec_loop())
3767 - _video_dec_loop() calls gst_omx_port_acquire_buffer() on dec_out_port
3768 - blocks in gst_omx_component_wait_message() releasing comp->lock and comp->messages_lock
3769 (initially, there are no buffers configured on that port, so it waits for OMX_EventPortSettingsChanged)
3770 - the sink pad thread pushes a buffer to the decoder with gst_omx_port_release_buffer()
3771 - _release_buffer() grabs comp->lock and sends the buffer to OMX, which consumes it immediately
3772 - EmptyBufferDone gets called at this point, which signals _wait_message() to unblock
3773 - the message from EmptyBufferDone is processed in gst_omx_component_handle_messages()
3774 called from gst_omx_port_release_buffer()
3775 - gst_omx_port_release_buffer releases comp->lock
3776 - the src pad thread now gets to run, grabbing comp->lock while it exits from _wait_message()
3777 - _acquire_buffer() calls the _handle_messages() on the next line after _wait_message(),
3778 which does nothing (no pending messages)
3779 - then it goes to "retry:" and calls _handle_messages() again, which also does nothing
3780 (still no pending messages)
3781 - scheduler switches to a videocore thread that calls EventHandler, informing us about the
3782 OMX_EventPortSettingsChanged event that just arrived
3783 - EventHandler graps comp->messages_lock, but not comp->lock, so it can run in parallel at
3784 this point just fine.
3785 - scheduler switches back to the src pad thread (which is in the middle of _acquire_buffer())
3786 - the next _handle_messages() which is right before if (g_queue_is_empty (&port->pending_buffers))
3787 processes the OMX_EventPortSettingsChanged
3788 - the buffer queue is still empty, so that thread blocks again in _wait_message()
3789 - the sink pad thread tries to acquire the next input port buffer
3790 - _acquire_buffer() also blocks this thread in:
3791 if (comp->pending_reconfigure_outports) { ... _wait_message() ... }
3792 - DEADLOCK. gstreamer is waiting for omx to do something, omx waits for gstreamer to do something.
3793 By removing those extra _handle_messages() calls, we can ensure that all the checks of
3794 _acquire_buffer() will re-run. In the above case, after the scheduler switches back to
3795 the middle of _acquire_buffer(), the code will enter _wait_message(), which will see that
3796 there are pending messages and will return immediately, going back to "retry:" and
3797 re-doing all the checks properly.
3798 https://bugzilla.gnome.org/show_bug.cgi?id=741854
3800 2015-02-26 09:27:44 +0900 Wonchul Lee <chul0812@gmail.com>
3803 omx: cleanup code a bit to remove else statement
3804 https://bugzilla.gnome.org/show_bug.cgi?id=745191
3806 2015-01-12 16:13:35 +0100 Stefan Sauer <ensonic@users.sf.net>
3809 Automatic update of common submodule
3810 From f2c6b95 to bc76a8b
3812 2014-12-18 10:56:15 +0100 Sebastian Dröge <sebastian@centricular.com>
3815 Automatic update of common submodule
3816 From ef1ffdc to f2c6b95
3818 2014-11-27 17:12:42 +0100 Edward Hervey <bilboed@bilboed.com>
3821 Automatic update of common submodule
3822 From 7bb2bce to ef1ffdc
3824 2014-11-13 09:55:02 +0900 Jun Ji <jun.ji@lge.com>
3828 * omx/gstomxamrdec.c:
3829 * omx/gstomxamrdec.h:
3831 https://bugzilla.gnome.org/show_bug.cgi?id=739333
3833 2014-10-27 18:00:50 +0100 Sebastian Dröge <sebastian@centricular.com>
3836 Automatic update of common submodule
3837 From 84d06cd to 7bb2bce
3839 2014-10-21 13:03:44 +0100 Tim-Philipp Müller <tim@centricular.com>
3842 Automatic update of common submodule
3843 From a8c8939 to 84d06cd
3845 2014-10-21 13:00:10 +0200 Stefan Sauer <ensonic@users.sf.net>
3848 Automatic update of common submodule
3849 From 1f5d3c3 to a8c8939
3851 2014-09-30 10:47:20 +0300 Sebastian Dröge <sebastian@centricular.com>
3853 * omx/gstomxaudiodec.c:
3854 omxaudiodec: Clean up code a bit to get rid of useless NULL checks
3856 2014-09-30 10:50:07 +0900 junji <jun.ji@lge.com>
3858 * omx/gstomxaudiodec.c:
3859 omxaudiodec: Unmap input buffers after usage
3860 https://bugzilla.gnome.org/show_bug.cgi?id=736314
3862 2014-08-31 20:30:13 +0000 Michal Lazo <michal.lazo@mdragon.org>
3864 * omx/gstomxvideoenc.c:
3865 omxvideoenc: Setup aspect ratio on RPi
3866 Needs firmware from yesterday or newer to work with all possible
3867 aspect ratios. Before that it only supported a fixed list.
3868 https://bugzilla.gnome.org/show_bug.cgi?id=732533
3870 2014-08-28 10:44:31 +0300 Sebastian Dröge <sebastian@centricular.com>
3872 * omx/gstomxaudioenc.c:
3873 omxaudioenc: Implement the hack flag GST_OMX_HACK_NO_COMPONENT_RECONFIGURE
3875 2014-08-28 10:43:22 +0300 Sebastian Dröge <sebastian@centricular.com>
3877 * omx/gstomxaudioenc.c:
3878 omxaudioenc: Use the base class' open/close vfuncs instead of calling them ourselves
3880 2014-08-26 22:13:53 -0500 Peng Liu <pengliu.mail@gmail.com>
3882 * config/rpi/gstomx.conf:
3883 * omx/gstomxvideoenc.c:
3884 omxvideoenc: Implement the hack flag GST_OMX_HACK_NO_COMPONENT_RECONFIGURE
3885 Fix a video encoder stall problem on RPi when changing the aspect ratio.
3886 https://bugzilla.gnome.org/show_bug.cgi?id=732533
3888 2014-08-14 17:36:11 +0300 Sebastian Dröge <sebastian@centricular.com>
3890 * omx/gstomxaudiodec.c:
3891 * omx/gstomxaudiodec.h:
3892 * omx/gstomxaudioenc.c:
3893 * omx/gstomxaudioenc.h:
3894 * omx/gstomxvideodec.c:
3895 * omx/gstomxvideodec.h:
3896 * omx/gstomxvideoenc.c:
3897 * omx/gstomxvideoenc.h:
3898 omx: Let base classes handle EOS
3899 https://bugzilla.gnome.org//show_bug.cgi?id=734774
3901 2014-08-14 17:33:07 +0300 Sebastian Dröge <sebastian@centricular.com>
3903 * omx/gstomxaudiodec.c:
3904 omxaudiodec: Fix flushing logic and make it more similar to the video decoder
3906 === release 1.2.0 ===
3908 2014-07-23 11:28:12 +0200 Sebastian Dröge <sebastian@centricular.com>
3918 2014-07-22 09:23:00 +0200 Sebastian Dröge <sebastian@centricular.com>
3920 * config/bellagio/gstomx.conf:
3921 * config/rpi/gstomx.conf:
3922 config: Update ranks to PRIMARY+1 to have higher preference than avdec_*
3923 See https://bugzilla.gnome.org/show_bug.cgi?id=732161
3925 2014-07-20 17:46:30 +0200 Sebastian Dröge <sebastian@centricular.com>
3927 * omx/gstomxaudiosink.c:
3928 omxaudiosink: Set port to not flushing in prepare() and keep it at flushing in unprepare()
3929 https://bugzilla.gnome.org/show_bug.cgi?id=733168
3931 2014-07-13 22:15:18 +0200 Sebastian Dröge <sebastian@centricular.com>
3933 * omx/gstomxaacdec.c:
3934 * omx/gstomxaudiodec.c:
3935 * omx/gstomxaudiodec.h:
3936 * omx/gstomxmp3dec.c:
3937 omxaudiodec: Implement setting of fallback channel positions
3939 2014-07-13 18:22:39 +0200 Sebastian Dröge <sebastian@centricular.com>
3943 * omx/gstomxaacdec.c:
3944 * omx/gstomxaacdec.h:
3945 * omx/gstomxmp3dec.c:
3946 omx: Add AAC audio decoder
3948 2014-07-02 09:22:28 +0200 Sebastian Dröge <sebastian@centricular.com>
3950 * omx/gstomxaudiodec.c:
3951 omxaudiodec: Get PCM parameters from the out port, not the in port
3953 2014-05-15 13:24:39 +0200 Sebastian Dröge <sebastian@centricular.com>
3955 * omx/gstomxaudiodec.c:
3956 omxaudiodec: Implement hack for not disabling the output port after set_format until the output format is known
3957 Needed on some OMX implementations, e.g. the one from Atmel. It does
3958 not send the settings-changed event on the output port if it is
3961 2014-05-10 23:12:54 +0200 Sebastian Dröge <sebastian@centricular.com>
3965 * omx/gstomxaudiodec.c:
3966 * omx/gstomxaudiodec.h:
3967 * omx/gstomxmp3dec.c:
3968 * omx/gstomxmp3dec.h:
3969 omx: Add audio decoder base class and a subclass for MP3
3971 2014-07-01 09:38:01 +0200 Sebastian Dröge <sebastian@centricular.com>
3975 omx: Link to gmodule-2.0-no-export for being able to use the g_module_*() API
3976 https://bugzilla.gnome.org/show_bug.cgi?id=732518
3978 2014-06-30 15:00:54 +0200 Sebastian Dröge <sebastian@centricular.com>
3980 * examples/egl/testegl.c:
3981 examples: #define GST_USE_UNSTABLE_API for libgstgl
3983 2014-06-29 19:10:19 +0200 Sebastian Dröge <sebastian@centricular.com>
3985 * omx/gstomxh264enc.c:
3986 * omx/gstomxh264enc.h:
3987 omxh264enc: Properly accumulate headers and push before the next frame
3988 Fixes output of encoding on RPi, where each header buffer (SPS and PPS)
3989 is in a separate OMX buffer.
3990 https://bugzilla.gnome.org/show_bug.cgi?id=726669
3992 2014-06-29 19:04:54 +0200 Sebastian Dröge <sebastian@centricular.com>
3994 * omx/gstomxvideoenc.c:
3995 omxvideoenc: Implement flush() instead of the deprecated reset()
3997 2014-06-25 17:14:18 +0200 Sebastian Dröge <sebastian@centricular.com>
3999 * config/rpi/gstomx.conf:
4000 rpi: It's 44100Hz, not 41400Hz
4002 2014-06-25 11:12:51 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4005 configure.ac: require gstgl >= 1.3.3
4007 2014-04-25 13:25:05 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4011 example: enable testegl
4012 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
4014 2014-06-25 10:19:54 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4016 * examples/egl/testegl.c:
4017 testegl: do matrix mutlplication in the shader
4018 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
4020 2014-06-25 09:36:38 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4022 * examples/egl/testegl.c:
4023 testegl: add a comment for the parse command
4024 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
4026 2014-04-25 17:32:16 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4028 * examples/egl/Makefile.am:
4029 * examples/egl/cube_texture_and_coords.h:
4030 * examples/egl/testegl.c:
4031 testegl: convert code from GLESv1 to GLESv2
4032 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
4034 2014-04-25 13:21:59 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4036 * examples/egl/Makefile.am:
4037 * examples/egl/testegl.c:
4038 testegl: port to gstgl API
4039 - append a glfilter just before fakesink
4040 So that we get gltexture or eglimages
4041 - propagate our EGLDisplay to the pipeline
4042 see GST_QUERY_CONTEXT
4043 - share our EGLContext with the iternal gl context
4044 of the pipeline, see GST_QUERY_ALLOCATION
4045 - use GstVideoGLTextureUploadMeta to upload
4046 the incoming gltexture or eglimage to our gl texture
4047 TODO: convert from GLESv1 to GLESv2
4048 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
4050 2014-06-24 14:52:58 +0200 Sebastian Dröge <sebastian@centricular.com>
4052 * omx/gstomxbufferpool.c:
4053 * omx/gstomxbufferpool.h:
4054 * omx/gstomxvideodec.c:
4055 omxbufferpool: Copy buffers if the stride does not match and we can't use video meta
4056 https://bugzilla.gnome.org/show_bug.cgi?id=731672
4058 2014-06-24 14:52:43 +0200 Sebastian Dröge <sebastian@centricular.com>
4062 * omx/gstomxvp8dec.h:
4063 omx: Only include OMX_VideoExt.h conditionally
4064 It does not exist on the RPi for example.
4066 2014-06-24 13:59:44 +0200 Sebastian Dröge <sebastian@centricular.com>
4069 configure.ac: Require GStreamer core/base >= 1.2.2
4070 Needed at least for gst_video_decoder_release_frame().
4072 2014-06-24 13:02:13 +0200 Sebastian Dröge <sebastian@centricular.com>
4074 * omx/gstomxbufferpool.c:
4075 omxbufferpool: Fix format string compiler warning
4077 2014-06-22 21:11:45 +0000 Michal Lazo <xlazom00@gmail.com>
4079 * omx/gstomxbufferpool.c:
4080 omxbufferpool: Initialize debug category
4082 2014-06-24 12:42:22 +0200 Sebastian Dröge <sebastian@centricular.com>
4084 * omx/gstomxbufferpool.c:
4085 omxbufferpool: Properly convert OMX alignment to GStreamer alignment
4086 GStreamer uses a bitmask for the alignment while OMX uses the
4087 alignment itself. Let's convert.
4088 https://bugzilla.gnome.org/show_bug.cgi?id=710564
4090 2014-06-24 11:11:28 +0200 Sebastian Dröge <sebastian@centricular.com>
4092 * omx/gstomxh264enc.c:
4093 omxh264enc: Don't let baseclass finish frames for SPS/PPS buffers
4094 Otherwise we a) send them twice, and b) finish a frame for something
4095 that does not even include a frame.
4096 https://bugzilla.gnome.org/show_bug.cgi?id=726669
4098 2014-06-24 10:22:37 +0200 Sebastian Dröge <sebastian@centricular.com>
4100 * omx/gstomxvideo.h:
4101 omxvideo: Include the separate headers too for compatibility with 1.0.x
4103 2014-03-24 16:09:40 +0800 Zhao, Halley <halley.zhao@intel.com>
4106 * omx/gstomxvp8dec.h:
4107 omxvp8dec: use VP8 definition from OMX_VideoExt.h
4108 https://bugzilla.gnome.org/show_bug.cgi?id=726957
4110 2014-03-24 15:33:26 +0800 Zhao, Halley <halley.zhao@intel.com>
4113 configure: add --with-omx-header-path option for external omx headers
4114 https://bugzilla.gnome.org/show_bug.cgi?id=726957
4116 2014-06-18 23:04:33 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
4118 * omx/gstomxvideodec.c:
4119 omxvideodec: fix a query leak
4120 Also add a debug message if query fails.
4121 https://bugzilla.gnome.org/show_bug.cgi?id=731898
4123 2014-05-30 15:29:15 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4125 * omx/gstomxvideodec.c:
4126 omxvideodec: release frames with old PTS to avoid memory issue
4127 Interlaced stream could make the decoder use two input frames to produce
4128 one output frame causing the gstvideodecoder frame list to grow.
4129 Assuming the video decoder output frame in display order rather than in
4130 decoding order, this commit add a way to release frames with PTS less
4131 than current output frame.
4132 https://bugzilla.gnome.org/show_bug.cgi?id=730995
4134 2013-06-27 21:59:29 +0900 Kazunori Kobayashi <kkobayas@igel.co.jp>
4137 omx: Fix a missing g_free() in error path
4138 This fixes a memory leak with g_strdup() when an error occurs.
4139 https://bugzilla.gnome.org/show_bug.cgi?id=731141
4141 2014-06-02 15:34:09 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4143 * omx/gstomxvideodec.c:
4144 omxvideodec: add missing stream unlock in error path
4146 2014-05-31 15:12:05 +0200 Sebastian Dröge <sebastian@centricular.com>
4149 omx: Don't handle disabling/enabling ports exactly like flushing
4150 Otherwise we might abort a flush operation in another thread when
4151 enabling/disabling ports, leading to deadlocks sometimes.
4152 https://bugzilla.gnome.org/show_bug.cgi?id=730989
4154 2014-05-26 11:02:10 +0200 Sebastian Dröge <sebastian@centricular.com>
4156 * omx/gstomxvideodec.c:
4157 omxvideodec: Don't leak buffer pool config in error cases
4160 2014-05-21 10:53:43 +0200 Sebastian Dröge <sebastian@centricular.com>
4163 Automatic update of common submodule
4164 From 211fa5f to 1f5d3c3
4166 2014-05-19 09:10:07 +0200 Sebastian Dröge <sebastian@centricular.com>
4168 * omx/gstomxvideoenc.c:
4169 omxvideoenc: Don't forget to unref codec state
4172 2014-05-19 09:08:33 +0200 Sebastian Dröge <sebastian@centricular.com>
4174 * omx/gstomxvideodec.c:
4175 omxvideodec: Make output buffer pointer always initialized
4178 2014-05-19 09:06:42 +0200 Sebastian Dröge <sebastian@centricular.com>
4180 * omx/gstomxvideodec.c:
4181 omxvideodec: Check return value of gst_buffer_map()
4184 2014-05-19 09:04:09 +0200 Sebastian Dröge <sebastian@centricular.com>
4186 * omx/gstomxvideodec.c:
4187 omxvideodec: Check return value of gst_omx_port_set_enabled() for errors
4190 2014-05-19 09:01:46 +0200 Sebastian Dröge <sebastian@centricular.com>
4192 * omx/gstomxvideodec.c:
4193 omxvideodec: Check return values of buffer pool config parsing functions
4196 2014-05-19 08:48:50 +0200 Sebastian Dröge <sebastian@centricular.com>
4199 omx: Remove dead code, buf can never be NULL here as we just check for that the line above
4202 2014-05-19 08:47:36 +0200 Sebastian Dröge <sebastian@centricular.com>
4205 omx: Fix comparisons in gst_omx_state_to_string() case to actually make sense
4208 2014-05-19 08:45:10 +0200 Sebastian Dröge <sebastian@centricular.com>
4211 omx: Make sure to compare the error codes as unsigned integers so that comparisons >2**31 actually work
4214 2014-05-19 08:40:23 +0200 Sebastian Dröge <sebastian@centricular.com>
4217 omx: Fix comparisons in gst_omx_command_to_string() default cause to actually work
4220 2014-05-15 13:22:56 +0200 Sebastian Dröge <sebastian@centricular.com>
4222 * omx/gstomxaudioenc.c:
4223 omxaudioenc: Implement hack for not disabling the output port after set_format until the output format is known
4224 Needed on some OMX implementations, e.g. the one from Atmel. It does
4225 not send the settings-changed event on the output port if it is
4228 2014-05-15 13:21:07 +0200 Sebastian Dröge <sebastian@centricular.com>
4230 * omx/gstomxvideoenc.c:
4231 omxvideoenc: Implement hack for not disabling the output port after set_format until the output format is known
4232 Needed on some OMX implementations, e.g. the one from Atmel. It does
4233 not send the settings-changed event on the output port if it is
4236 2014-05-15 10:58:34 +0200 Sebastian Dröge <sebastian@centricular.com>
4240 * omx/gstomxvideodec.c:
4241 omx: Add a hack for not disabling the output port after set_format until the output format is known
4242 Needed on some OMX implementations, e.g. the one from Atmel. It does
4243 not send the settings-changed event on the output port if it is
4246 2014-05-12 12:33:32 +0200 Josep Torra <n770galaxy@gmail.com>
4248 * omx/gstomxaudiosink.c:
4249 omxaudiosink: implement _delay only in the RaspberryPI
4250 Make code implementation conditionally built for RaspberryPI because
4251 OMX_IndexConfigAudioRenderingLatency seems to be a Broadcom extension.
4252 On other targets the query position might not be accurate without
4253 implementing _delay appropriatelly.
4255 2014-05-12 08:56:15 +0200 Sebastian Dröge <sebastian@centricular.com>
4257 * omx/gstomxaudioenc.c:
4258 omxaudioenc: Correctly scale nTickCount by OMX_TICKS_PER_SECOND
4260 2014-05-10 22:48:23 +0200 Sebastian Dröge <sebastian@centricular.com>
4262 * omx/gstomxaudioenc.c:
4263 omxaudioenc: Drain encoder on NULL buffer and don't drain on flushing
4265 2014-05-10 22:47:56 +0200 Sebastian Dröge <sebastian@centricular.com>
4267 * omx/gstomxvideodec.c:
4268 omxvideodec: Set nTickCount based on the buffer's duration instead of something wrong
4270 2014-05-10 22:47:21 +0200 Sebastian Dröge <sebastian@centricular.com>
4272 * omx/gstomxvideoenc.c:
4273 omxvideoenc: Set nTickCount to the whole duration of the buffer instead of a wrong calculation
4275 2014-05-10 22:46:51 +0200 Sebastian Dröge <sebastian@centricular.com>
4277 * omx/gstomxaudiosink.c:
4278 omxaudiosink: Fix format string compiler warnings
4280 2014-04-04 14:11:58 +0200 Josep Torra <n770galaxy@gmail.com>
4282 * config/rpi/gstomx.conf:
4285 * omx/gstomxanalogaudiosink.c:
4286 * omx/gstomxanalogaudiosink.h:
4287 * omx/gstomxaudiosink.c:
4288 * omx/gstomxaudiosink.h:
4289 * omx/gstomxhdmiaudiosink.c:
4290 * omx/gstomxhdmiaudiosink.h:
4291 omxaudiosink: Implements OpenMAX based audio sinks
4292 Provides omxanalogaudiosink and omxhdmiaudiosink elements on
4294 - omxanalogaudiosink is capable to render raw mono or stereo audio
4295 through the jack output.
4296 - omxhdmiaudiosink is capable to render raw audio up to 8 channels
4297 and transmit ac3/dts(IEC 61937) through the HDMI output.
4298 - sinks provide a clock derived from rendered samples
4299 - sinks support the GstStreamVolume interface by implementing
4300 the volume and mute properties.
4301 https://bugzilla.gnome.org/show_bug.cgi?id=728962
4303 2014-05-03 10:17:35 +0200 Sebastian Dröge <sebastian@centricular.com>
4306 Automatic update of common submodule
4307 From bcb1518 to 211fa5f
4309 2014-04-29 15:16:16 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4311 * omx/gstomxvideodec.c:
4312 omxvideodec: can negotiate caps with memory:EGLImage feature when using EGLImage allocator
4313 Previously when using gst EGLImage allocator the caps was
4314 video/x-raw, format=RGBA instead of
4315 video/x-raw(memory:EGLImage), format=RGBA
4316 Kepp previous behavior in case negotiation fails with caps feature.
4317 It means it will still have a chance to use EGLImage even if the
4318 feature is not in the caps.
4319 https://bugzilla.gnome.org/show_bug.cgi?id=729196
4321 2014-04-23 09:57:48 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4323 * omx/gstomxvp8dec.h:
4324 omxvp8dec: fix typo in GST_TYPE_OMX_VP8_DEC define
4325 https://bugzilla.gnome.org/show_bug.cgi?id=728774
4327 2014-04-16 11:00:55 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4329 * omx/gstomxvideodec.c:
4330 omxvideodec: don't unref caps before logging field from it
4331 https://bugzilla.gnome.org/show_bug.cgi?id=728322
4333 2014-04-15 17:30:13 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4337 example: disable testegl since libgstegl has been removed
4338 As decided in bug #703343
4339 Not compatible with the new libgstgl API.
4340 A portage has been started, attachment 272800.
4341 https://bugzilla.gnome.org/show_bug.cgi?id=703343
4343 2014-04-15 17:11:08 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4345 * omx/gstomxvideodec.c:
4346 omxvideodec: use new libgstgl API since libgstegl has been removed
4347 There is no point to retrieve a ref/unref type
4348 instead of an EGLDisplay directly. It's like for EGLImage.
4349 https://bugzilla.gnome.org/show_bug.cgi?id=703343
4351 2014-04-15 17:06:38 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4354 * examples/Makefile.am:
4356 * omx/gstomxvideodec.c:
4357 configure.ac: check for libgstgl since libgstegl has been removed
4358 https://bugzilla.gnome.org/show_bug.cgi?id=703343
4360 2014-04-09 18:52:16 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4362 * omx/gstomxbufferpool.c:
4363 * omx/gstomxvideodec.c:
4364 omxvideodec: add support of more color format
4365 Add support for ABGR, ARGB, RGB16, BGR16, YUY2, UYVY, YVYU, GRAY8 and
4368 2014-04-09 18:51:57 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4370 * omx/gstomxvideodec.c:
4371 omxvideodec: simplify color format conversion in fill_buffer function
4373 2014-04-09 18:51:41 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4375 * omx/gstomxbufferpool.c:
4376 omxbufferpool: make video stride and offset calculation easier
4377 It will be easier to support more color format.
4379 2014-04-09 18:51:12 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4381 * omx/gstomxvideo.c:
4382 * omx/gstomxvideo.h:
4383 * omx/gstomxvideodec.c:
4384 omx: add an helper to convert OMX color format to GStreamer color format
4386 2014-03-10 17:43:50 +0100 Josep Torra <n770galaxy@gmail.com>
4388 * examples/egl/testegl.c:
4389 * omx/gstomxvideodec.c:
4390 omxvideodec: Implement pipeline draining to support adaptive scenarios
4391 When draining due a format change also drain
4392 the pipeline to reclaim back all buffers.
4393 https://bugzilla.gnome.org/show_bug.cgi?id=726107
4395 2014-03-27 13:57:32 +0100 Josep Torra <n770galaxy@gmail.com>
4397 * examples/egl/testegl.c:
4398 examples: fix several memory leaks in the testegl example
4399 Ensure to call to image_data_free in order to release GPU resources.
4400 Also ensure to destroy EGLImage and GLTexture from proper
4402 https://bugzilla.gnome.org/show_bug.cgi?id=726107
4404 2014-03-25 17:16:31 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
4406 * examples/egl/testegl.c:
4407 examples: keep a ref on the buffer instead of the memory
4409 https://bugzilla.gnome.org/show_bug.cgi?id=726107
4411 2014-03-07 20:08:05 +0100 Josep Torra <n770galaxy@gmail.com>
4413 * omx/gstomxvideodec.c:
4414 omxvideodec: fixes race condition during seeks
4415 Acording 6.1.3 Seek Event Sequence in the OpenMAX IL 1.1.2 spec
4416 document in order to flush the component it needs to be in
4418 https://bugzilla.gnome.org/show_bug.cgi?id=726038
4420 2014-01-29 18:31:26 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
4422 * omx/gstomxvideodec.c:
4423 omxvideodec: use flush because reset is deprecated
4424 https://bugzilla.gnome.org/show_bug.cgi?id=726038
4426 2014-01-27 17:03:50 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
4428 * omx/gstomxvideodec.c:
4429 omxvideodec: populate the most downstream output port on reset
4430 Make seeking work when using egl_render component
4431 https://bugzilla.gnome.org/show_bug.cgi?id=726038
4433 2014-03-24 17:49:59 +0100 Josep Torra <n770galaxy@gmail.com>
4435 * omx/gstomxbufferpool.c:
4436 omxbufferpool: return buffers to the pool instead of freeing them
4437 We have to return the buffers back to the pool in when stopping to
4438 not mess with the GstBufferPool accounting.
4439 The OMX buffers will be freed when those won't be in charge of the
4440 pool in the chained up call to 'stop'.
4441 Fixes segfaults on finalize and pool not being properly deactivated.
4442 https://bugzilla.gnome.org/show_bug.cgi?id=726337
4444 2014-03-19 12:12:49 +0100 Christian König <christian.koenig@amd.com>
4446 * omx/gstomxvideodec.c:
4447 omxvideodec: add missing unlock in the error path
4448 Signed-off-by: Christian König <christian.koenig@amd.com>
4449 https://bugzilla.gnome.org/show_bug.cgi?id=726958
4451 2014-03-18 23:36:59 +0100 Michal Lazo <xlazom00@gmail.com>
4453 * omx/gstomxh264enc.c:
4454 * omx/gstomxh264enc.h:
4457 2014-03-17 09:57:11 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
4459 * omx/gstomxbufferpool.c:
4460 omxbufferpool: fix memory leak if used on output port
4461 When using GstOMXBufferPool on an output port, it internally uses
4462 a GPtrArray to manage the GstBuffers instead of the default queue
4463 from the GstBufferPool base class.
4464 In this case GstBufferPool::default_free_buffer is not called when
4465 the pool is stopped. Because the queue is empty. So explicitely
4466 call gst_omx_buffer_pool_free_buffer on each buffer contained in
4468 https://bugzilla.gnome.org/show_bug.cgi?id=726337
4470 2014-03-16 17:32:05 +0100 Sebastian Dröge <sebastian@centricular.com>
4472 * omx/gstomxh264enc.c:
4473 omxh264enc: Fix compiler warnings
4475 2014-03-16 17:19:08 +0100 Michal Lazo <xlazom00@gmail.com>
4477 * omx/gstomxh264enc.c:
4478 * omx/gstomxh264enc.h:
4479 omxh264enc: IDR interval, SPS and PPS headers for rpi
4480 https://bugzilla.gnome.org/show_bug.cgi?id=720031
4482 2014-03-13 14:26:58 +0100 Christian König <christian.koenig@amd.com>
4486 * omx/gstomxvideo.c:
4487 omxvideo: fix debug category initialisation
4488 https://bugzilla.gnome.org/show_bug.cgi?id=726024
4490 2014-03-13 19:04:47 +0100 Christian König <christian.koenig@amd.com>
4492 * omx/gstomxbufferpool.h:
4493 omxbufferpool: add proper type definitions
4494 https://bugzilla.gnome.org/show_bug.cgi?id=726325
4496 2014-03-02 10:30:04 +0100 Christian König <christian.koenig@amd.com>
4499 omx: consolidate message waiting code
4500 Add a wait_message helper function and remove all those duplicated code.
4501 https://bugzilla.gnome.org/show_bug.cgi?id=725493
4503 2014-03-12 12:48:12 +0100 Sebastian Dröge <sebastian@centricular.com>
4505 * omx/gstomxvideo.c:
4506 omx: Copy old copyright notice into the new file
4508 2014-03-12 12:47:34 +0100 Sebastian Dröge <sebastian@centricular.com>
4510 * omx/gstomxvideo.c:
4511 * omx/gstomxvideo.h:
4512 * omx/gstomxvideodec.c:
4513 * omx/gstomxvideoenc.c:
4514 omx: Rename function from _4_ to _for_ for clarity
4516 2014-03-03 16:15:24 +0100 Christian König <christian.koenig@amd.com>
4519 * omx/gstomxvideo.c:
4520 * omx/gstomxvideo.h:
4521 * omx/gstomxvideodec.c:
4522 * omx/gstomxvideoenc.c:
4523 omxvideo: start sharing more code between video decoder and encoder
4524 Identical functionality spread of two different components.
4525 We can't use a common base class because of different inheritance,
4526 but let's try to share the code anyway.
4527 https://bugzilla.gnome.org/show_bug.cgi?id=726024
4529 2014-03-12 12:43:49 +0100 Sebastian Dröge <sebastian@centricular.com>
4531 * examples/egl/Makefile.am:
4532 examples: Only build RPi EGL example if RPi was chosen as target
4534 2014-03-12 12:42:23 +0100 Sebastian Dröge <sebastian@centricular.com>
4536 * omx/gstomxbufferpool.h:
4537 omxbufferpool: Fix header include guard
4539 2014-03-05 11:41:02 +0100 Christian König <christian.koenig@amd.com>
4542 * omx/gstomxbufferpool.c:
4543 * omx/gstomxbufferpool.h:
4544 * omx/gstomxvideodec.c:
4545 omxvideodec: separate the buffer pool from the decoder
4546 https://bugzilla.gnome.org/show_bug.cgi?id=726025
4548 2014-03-04 17:41:20 +0100 Christian König <christian.koenig@amd.com>
4552 * omx/gstomxvideodec.c:
4553 omx: simplify tunnel functions
4554 Specifying the component is error prone and unnecessary.
4555 https://bugzilla.gnome.org/show_bug.cgi?id=726021
4557 2014-03-07 17:12:24 +0100 Christian König <christian.koenig@amd.com>
4559 * omx/gstomxvideodec.c:
4560 omxvideodec: fix memory leak in gst_omx_video_dec_allocate_output_buffers
4561 https://bugzilla.gnome.org/show_bug.cgi?id=725907
4563 2014-03-07 13:18:49 +0100 Christian König <christian.koenig@amd.com>
4565 * omx/gstomxvideodec.c:
4566 omxvideodec: fix memory leak gst_omx_video_dec_negotiate
4567 https://bugzilla.gnome.org/show_bug.cgi?id=725907
4569 2014-03-05 18:54:05 +0100 Christian König <christian.koenig@amd.com>
4571 * omx/gstomxvideoenc.c:
4572 omxvideoenc: fix a memory leak in gst_omx_video_enc_getcaps
4573 https://bugzilla.gnome.org/show_bug.cgi?id=725826
4575 2014-03-05 17:43:33 +0100 Josep Torra <n770galaxy@gmail.com>
4578 Makefile.am: build examples
4579 There's no reason to not build the examples now that are ported to 1.x.
4581 2014-03-05 17:25:09 +0100 Josep Torra <n770galaxy@gmail.com>
4583 * examples/egl/testegl.c:
4584 examples: avoid a clashing name with the recently added GstEGLImagePool
4585 Fixes build with current master.
4587 2013-09-05 03:41:10 -0600 Christian König <christian.koenig@amd.com>
4589 * omx/gstomxvideoenc.c:
4590 omxvideoenc: simplify _find_nearest_frame
4591 Just the same as we did with the decoder. Also give the
4592 function a gst_omx_video_enc prefix to distinct it from
4593 the decoder function.
4594 https://bugzilla.gnome.org/show_bug.cgi?id=724236
4596 2013-09-05 02:23:39 -0600 Christian König <christian.koenig@amd.com>
4598 * omx/gstomxvideodec.c:
4599 omxvideodec: simplify _find_nearest_frame
4600 No need to make it more complicated and error prone than
4601 necessary. Also give the function a gst_omx_video_dec prefix
4602 to distinct it from the encoder function.
4603 https://bugzilla.gnome.org/show_bug.cgi?id=724236
4605 2013-09-05 02:05:52 -0600 Christian König <christian.koenig@amd.com>
4607 * omx/gstomxvideodec.c:
4608 omxvideodec: remove dead code
4609 This code doesn't seems to be used for quite a while,
4610 remove it before it starts to rot.
4611 https://bugzilla.gnome.org/show_bug.cgi?id=724236
4613 2014-03-01 22:28:24 +0100 Christian König <christian.koenig@amd.com>
4616 omx: fix two serious message handling bugs
4617 Waiting for the next message if we already got one
4618 is nonsense and can lead to lockups.
4619 https://bugzilla.gnome.org/show_bug.cgi?id=725468
4621 2014-03-01 18:49:41 +0100 Christian König <christian.koenig@amd.com>
4623 * omx/gstomxvideoenc.c:
4624 omxvideoenc: fix startup race condition
4625 The reset function shouldn't start the src pad
4626 loop if it wasn't started before.
4627 Signed-off-by: Christian König <christian.koenig@amd.com>
4629 2014-03-01 18:48:17 +0100 Christian König <christian.koenig@amd.com>
4631 * omx/gstomxvideodec.c:
4632 omxvideodec: fix startup race condition
4633 The reset function shouldn't start the src pad
4634 loop if it wasn't started before.
4635 Signed-off-by: Christian König <christian.koenig@amd.com>
4637 2014-02-28 09:36:13 +0100 Sebastian Dröge <sebastian@centricular.com>
4640 Automatic update of common submodule
4641 From fe1672e to bcb1518
4643 2014-02-26 22:15:00 +0100 Stefan Sauer <ensonic@users.sf.net>
4646 Automatic update of common submodule
4647 From 1a07da9 to fe1672e
4649 2014-01-30 10:45:18 +0100 Edward Hervey <bilboed@bilboed.com>
4652 Automatic update of common submodule
4653 From d48bed3 to 1a07da9
4655 2014-01-25 17:44:14 +0100 Sebastian Dröge <sebastian@centricular.com>
4657 * omx/gstomxaudioenc.c:
4658 * omx/gstomxvideodec.c:
4659 * omx/gstomxvideoenc.c:
4660 omx: Don't handle FLUSHING and NOT_LINKED as errors
4661 Also don't stop the task on NOT_LINKED. We're not a demuxer.
4663 2013-12-22 22:35:31 +0000 Tim-Philipp Müller <tim@centricular.com>
4666 Automatic update of common submodule
4667 From dbedaa0 to d48bed3
4669 2013-11-05 11:22:02 +0000 Tim-Philipp Müller <tim@centricular.com>
4672 Automatic update of common submodule
4673 From 865aa20 to dbedaa0
4675 2013-09-28 13:32:37 +0200 Josep Torra <n770galaxy@gmail.com>
4677 * examples/egl/testegl.c:
4678 examples: simplify the thread synchronization code
4679 Make everithing more simple and fix the races conditions remaining in
4680 the previous approaches.
4682 2013-09-25 19:17:17 +0200 Sebastian Dröge <slomo@circular-chaos.org>
4684 * config/rpi/gstomx.conf:
4685 rpi: The WMV/VC1 decoder can only do WMV9 and VC1, no older versions
4687 2013-09-24 18:34:42 +0100 Tim-Philipp Müller <tim@centricular.net>
4690 Automatic update of common submodule
4691 From 6b03ba7 to 865aa20
4693 2013-09-24 18:48:24 +0200 Josep Torra <n770galaxy@gmail.com>
4695 * examples/egl/testegl.c:
4696 examples: fix another race condition
4697 Fix a race condition that caused randome deadlocks on EOS.
4699 2013-09-20 17:19:53 +0200 Josep Torra <n770galaxy@gmail.com>
4701 * config/rpi/gstomx.conf:
4702 rpi: fix a copy paste error in the config file
4704 2013-09-20 17:09:52 +0200 Josep Torra <n770galaxy@gmail.com>
4706 * examples/egl/testegl.c:
4707 examples: fix a race condition when seeking
4708 Fixes a race condition that caused pipeline deadlock during seeks.
4710 2013-09-20 10:38:12 +0200 Josep Torra <n770galaxy@gmail.com>
4712 * examples/egl/testegl.c:
4713 examples: display QoS statistics
4715 2013-09-20 09:34:37 +0200 Josep Torra <n770galaxy@gmail.com>
4717 * examples/egl/testegl.c:
4718 examples: use dedicated thread for rendering the scene
4719 Produces smother animation and prevents dropping frames due busy
4722 2013-09-20 08:25:21 +0200 Josep Torra <n770galaxy@gmail.com>
4724 * examples/egl/testegl.c:
4725 examples: don't force an specific audio sink
4726 Let playbin2 choose the audiosink available in the system.
4728 2013-09-20 08:19:48 +0200 Josep Torra <n770galaxy@gmail.com>
4730 * examples/egl/Makefile.am:
4731 examples: drop remnants of initial appsink attempt
4733 2013-09-20 16:18:18 +0200 Edward Hervey <edward@collabora.com>
4736 Automatic update of common submodule
4737 From b613661 to 6b03ba7
4739 2013-09-19 18:45:36 +0100 Tim-Philipp Müller <tim@centricular.net>
4742 Automatic update of common submodule
4743 From 74a6857 to b613661
4745 2013-09-19 17:38:30 +0100 Tim-Philipp Müller <tim@centricular.net>
4748 Automatic update of common submodule
4749 From 01a7a46 to 74a6857
4751 2013-08-20 16:00:07 +0100 Tim-Philipp Müller <tim@centricular.net>
4754 * omx/gstomxvideodec.c:
4755 omx: don't use the 'z' modifier to print size_t
4756 gcc will warn in some cases even if the size of the type
4757 is exactly that of size_t on the platform.
4758 https://bugzilla.gnome.org/show_bug.cgi?id=699008
4760 2013-07-01 15:48:47 +0200 Roman Arutyunyan <arutyunyan.roman@gmail.com>
4762 * omx/gstomxvideoenc.c:
4763 gstomxvideoenc: Set bitrate in setcaps
4764 Otherwise it gets lost whenever we configure new caps
4765 https://bugzilla.gnome.org/show_bug.cgi?id=698049
4767 2013-06-30 18:17:05 +0700 Ilya Smelykh <ilya@videoexpertsgroup.com>
4769 * examples/egl/testegl.c:
4770 examples: enable audio in testegl example
4772 2013-06-12 09:38:22 +0200 Sebastian Dröge <slomo@circular-chaos.org>
4775 configure: Allow build without gstreamer-egl
4777 2013-06-07 12:39:18 +0700 Ilya Smelykh <ilya@videoexpertsgroup.com>
4779 * examples/egl/Makefile.am:
4780 * examples/egl/testegl.c:
4781 examples: testegl example port to 1.x
4782 https://bugzilla.gnome.org/show_bug.cgi?id=701706
4784 2013-06-05 15:17:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4787 Automatic update of common submodule
4788 From 098c0d7 to 01a7a46
4790 2013-05-20 12:06:34 +0200 Josep Torra <n770galaxy@gmail.com>
4792 * omx/gstomxaudioenc.c:
4793 * omx/gstomxvideodec.c:
4794 * omx/gstomxvideoenc.c:
4795 omx: Take lock on EOS to update the flow return value
4796 Fixes "GThread-ERROR **: file gthread-posix.c: line 171
4797 (g_mutex_free_posix_impl): error 'Device or resource busy' during
4798 'pthread_mutex_destroy ((pthread_mutex_t *) mutex)'" in _finalize.
4800 2013-05-15 10:54:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4803 Automatic update of common submodule
4804 From 5edcd85 to 098c0d7
4806 2013-04-11 17:35:19 +0200 Josep Torra <n770galaxy@gmail.com>
4810 * examples/Makefile.am:
4811 * examples/egl/Makefile.am:
4812 * examples/egl/cube_texture_and_coords.h:
4813 * examples/egl/testegl.c:
4814 examples: add an example aplication based OpenGL ES + EGL
4815 Application that shows how to integrate playbin with an OpenGL ES
4816 scene through EGL. Renders a video on the surfaces of an animated cube.
4817 The code is not ported to 1.x so it's not built by default.
4819 2013-05-10 12:25:07 +0200 Josep Torra <n770galaxy@gmail.com>
4821 * omx/gstomxvideodec.c:
4822 omxvideodec: Redesign video size change reconfiguration code
4823 Ensure stop the decoder before clossing the tunnel.
4825 2013-05-06 16:25:27 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4828 Makefile.am: Add -I common/m4
4829 This allows autoreconf to work correctly and automatic regeneration
4830 of autotools files if something changed.
4832 2013-05-06 19:03:59 +0530 jitendra <jvarshney20@gmail.com>
4836 * omx/gstomxaudioenc.c:
4837 * omx/gstomxvideodec.c:
4838 * omx/gstomxvideoenc.c:
4839 omx: Add pads based on element type
4840 This allows to later add sources and sink that only have a srcpad
4842 https://bugzilla.gnome.org/show_bug.cgi?id=699754
4844 2013-04-27 02:50:25 +0200 Carlos Rafael Giani <dv@pseudoterminal.org>
4847 omx: fixed type error in printf call
4849 https://bugzilla.gnome.org/show_bug.cgi?id=699008
4851 2013-04-08 17:26:16 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4855 * omx/gstomxvideodec.c:
4856 Check for gstreamer-egl
4857 And don't use if not available.
4858 https://bugzilla.gnome.org/show_bug.cgi?id=697574
4860 2013-04-23 09:53:18 +0100 Tim-Philipp Müller <tim@centricular.net>
4863 configure: error out if no OMX target has been set explicitly with --with-omx-target=x
4864 Avoids people building for e.g. the Raspberry Pi and then wondering
4865 why things don't work as expected (since structs are packed differently
4868 2013-04-22 23:55:03 +0100 Tim-Philipp Müller <tim@centricular.net>
4871 Automatic update of common submodule
4872 From 3cb3d3c to 5edcd85
4874 2013-04-18 22:07:28 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4877 * omx/gstomxaudioenc.c:
4878 * omx/gstomxh263enc.c:
4879 * omx/gstomxh264enc.c:
4880 * omx/gstomxmpeg4videoenc.c:
4881 * omx/gstomxvideodec.c:
4882 * omx/gstomxvideoenc.c:
4883 omx: more printf format fixes
4884 Fix printf formats again, so that gst-omx compiles warning-
4885 free on the Raspberry Pi as well. Unfortunately OMX_UINT32
4886 maybe be typedefed to uint32_t or unsigned long, which
4887 doesn't work well with our debugging printf format strings,
4888 so just use %u for those and cast to guint.
4890 2013-04-18 16:40:06 +0200 Josep Torra <n770galaxy@gmail.com>
4893 omx: fixes unused variable 'comp' when GStreamer is built without debug
4895 2013-04-18 16:03:56 +0200 Josep Torra <n770galaxy@gmail.com>
4897 * omx/gstomxvideodec.c:
4898 omxvideodec: don't use 'self->dec_out_port' anymore and use just 'port'
4899 Fixes some criticals.
4901 2013-04-18 15:21:32 +0200 Josep Torra <n770galaxy@gmail.com>
4903 * omx/gstomxvideodec.c:
4904 omxvideodec: fixes 'port' may be used uninitialized in this function
4906 2013-04-18 12:03:31 +0200 Josep Torra <n770galaxy@gmail.com>
4908 * omx/gstomxvideodec.c:
4909 omxvideodec: silence warnings building for RPI related to 'vcos_*'
4911 2013-04-18 11:19:52 +0200 Josep Torra <n770galaxy@gmail.com>
4913 * omx/gstomxvideodec.c:
4914 omxvideodec: Use new type from libgstvideo
4916 2013-04-16 14:50:49 +0530 jitendra <jvarshney20@gmail.com>
4918 * omx/gstomxaudioenc.c:
4919 * omx/gstomxvideodec.c:
4920 * omx/gstomxvideoenc.c:
4921 omx: Disable output port before transition to idle state
4922 https://bugzilla.gnome.org/show_bug.cgi?id=698109
4924 2012-10-24 12:19:41 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4927 gst: Add better support for static plugins
4929 2013-04-14 17:57:34 +0100 Tim-Philipp Müller <tim@centricular.net>
4932 Automatic update of common submodule
4933 From aed87ae to 3cb3d3c
4935 2013-04-12 17:58:30 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4938 configure: add --disable-fatal-warnings for disabling -Werror
4940 2013-04-09 21:02:09 +0200 Stefan Sauer <ensonic@users.sf.net>
4943 Automatic update of common submodule
4944 From 04c7a1e to aed87ae
4946 2013-04-08 17:02:32 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4949 * omx/gstomxaudioenc.c:
4950 * omx/gstomxh263enc.c:
4951 * omx/gstomxh264enc.c:
4952 * omx/gstomxmpeg4videoenc.c:
4953 * omx/gstomxvideodec.c:
4954 * omx/gstomxvideoenc.c:
4955 omx: fix printf formats in debug messages
4956 OMX_U32 is typedefed to an unsigned long,
4957 OMX_TICKS to a 64-bit integer.
4959 2013-04-08 16:52:19 +0200 Josep Torra <n770galaxy@gmail.com>
4961 * omx/gstomxvideodec.c:
4962 omxvideodec: use the correct printf format in a debug message
4964 2013-04-08 16:31:33 +0200 Josep Torra <n770galaxy@gmail.com>
4966 * omx/gstomxvideodec.c:
4967 omxvideodec: use the correct OMX_IndexParam value
4968 Fixes playback is not smooth in the EGL path.
4970 2013-04-05 13:45:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4972 * omx/gstomxvideodec.c:
4973 omxvideodec: Don't use API that is not in master yet
4974 It's not really needed here yet, will be needed in future versions
4976 2013-02-25 11:55:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4982 * omx/gstomxvideodec.c:
4983 * omx/gstomxvideodec.h:
4984 omxvideodec: Add support for egl_render on RPi
4986 2013-03-22 19:26:54 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4991 2013-03-22 19:23:14 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4993 * omx/gstomxh263enc.c:
4994 * omx/gstomxh264enc.c:
4995 * omx/gstomxmpeg4videoenc.c:
4996 omx: fix compiler warnings when compiling with -DG_DISABLE_ASSERT
4997 As we do for releases. Fixes 'variable may be used uninitialized'
5000 === release 1.0.0 ===
5002 2013-03-22 17:16:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5013 2013-03-19 16:40:09 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5015 * omx/gstomxtheoradec.h:
5016 * omx/gstomxvp8dec.h:
5017 omx: fix typo in copyright headers
5019 2013-03-19 13:46:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5021 * config/rpi/gstomx.conf:
5022 rpi: Fix commit that added the VC1 decoder
5024 2013-03-19 13:27:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5026 * config/rpi/gstomx.conf:
5027 * omx/gstomxh263dec.c:
5028 * omx/gstomxh264dec.c:
5029 * omx/gstomxmjpegdec.c:
5030 * omx/gstomxmpeg2videodec.c:
5031 * omx/gstomxmpeg4videodec.c:
5032 * omx/gstomxtheoradec.c:
5033 * omx/gstomxvideodec.c:
5034 * omx/gstomxvp8dec.c:
5035 * omx/gstomxwmvdec.c:
5036 omx: Add more constraints to the default sink template caps
5038 2013-03-19 13:10:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5040 * config/rpi/gstomx.conf:
5041 rpi: Add VC1/WMV3 decoder
5042 WMV2 and WMV1 (aka WMV 1-8) are not supported by RPi.
5044 2013-03-19 12:59:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5046 * config/rpi/gstomx.conf:
5047 rpi: Add MJPEG decoder
5049 2013-03-19 12:56:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5051 * config/rpi/gstomx.conf:
5052 rpi: Add VP8 decoder
5054 2013-03-19 12:55:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5056 * omx/gstomxvideodec.c:
5057 omxvideodec: Set ENDOFFRAME flag for the end of frames
5059 2013-03-19 12:28:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5061 * config/rpi/gstomx.conf:
5062 rpi: Add Theora decoder to the config
5064 2013-03-19 09:36:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5069 * omx/gstomxtheoradec.c:
5070 * omx/gstomxtheoradec.h:
5071 omx: Add Theora decoder
5073 2013-03-18 16:43:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5076 omx: Remove additional comma
5078 2013-03-18 16:34:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5080 * config/rpi/gstomx.conf:
5083 * omx/gstomxmpeg2dec.h:
5084 * omx/gstomxmpeg2videodec.c:
5085 * omx/gstomxmpeg2videodec.h:
5086 omx: Rename MPEG2 decoder for consistency everywhere
5088 2013-03-18 16:30:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5092 * omx/gstomxmjpegdec.c:
5093 * omx/gstomxmjpegdec.h:
5094 omx: Add MJPEG decoder support
5096 2013-03-18 16:06:54 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5101 * omx/gstomxvp8dec.c:
5102 * omx/gstomxvp8dec.h:
5103 omx: Add VP8 decoder support
5105 2013-03-18 15:44:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5107 * config/rpi/gstomx.conf:
5108 rpi: Add h263 decoder and rename MPEG2 decoder for consistency
5110 2013-03-16 13:20:27 +0000 Tim-Philipp Müller <tim@centricular.net>
5112 * omx/gstomxmpeg2dec.c:
5113 omxmpeg2dec: mpeg-2 decoder should be able to handle mpeg-1 too
5114 https://bugzilla.gnome.org/show_bug.cgi?id=695879
5116 2013-03-16 10:13:06 +0100 Josep Torra <n770galaxy@gmail.com>
5119 omx: minor stylistic change for consistency with other similar code
5121 2013-03-16 10:00:24 +0100 Josep Torra <n770galaxy@gmail.com>
5123 * omx/gstomxaudioenc.c:
5124 * omx/gstomxvideodec.c:
5125 * omx/gstomxvideoenc.c:
5126 omx: Clarify that loop task is also paused in EOS
5128 2013-03-16 09:59:01 +0100 Josep Torra <n770galaxy@gmail.com>
5130 * omx/gstomxvideoenc.c:
5131 omxvideoenec: Don't forget propagate flow return value upstream
5133 2013-03-15 13:16:39 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5136 omx: improve debug logging some more
5138 2013-03-15 14:09:45 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5140 * omx/gstomxvideodec.c:
5141 omxvideodec: Make sure that the first frame we pass to OpenMAX is a sync frame
5143 2013-03-15 11:46:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5145 * omx/gstomxaudioenc.c:
5146 * omx/gstomxvideodec.c:
5147 * omx/gstomxvideoenc.c:
5148 omx: Stop output port task after draining
5150 2013-03-15 10:58:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5153 omx: Reset EOS flag in more places
5155 2013-03-15 10:38:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5157 * omx/gstomxvideodec.c:
5158 omxvideodec: Deallocate output buffers with the right function
5160 2013-03-15 01:06:05 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5164 omx: log commands as strings
5165 Makes logs easier to read.
5167 2013-03-15 00:47:47 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5171 omx: log states as strings
5173 2013-03-15 00:28:02 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5177 omx: log component name in debug messages
5178 Useful when we have more different components
5179 active at the same time.
5181 2013-03-15 09:51:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5183 * omx/gstomxvideodec.c:
5184 omxvideodec: Don't interpolate timestamps
5185 We will get exactly one frame per input buffer and assigning
5186 timestamps between frames if more than one OMX buffer is required
5187 per frame easily confuses timestamp tracking in OMX.
5189 2013-03-15 09:32:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5191 * omx/gstomxvideodec.c:
5192 omxvideodec: Give the codec_data the timestamp of the first frame and no duration
5194 2013-03-14 17:31:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5196 * config/rpi/gstomx.conf:
5197 omx: The MPEG4 encoder is not available on RPi and probably never will
5199 2013-03-14 17:26:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5202 omx: Reset some more buffer fields as required
5204 2013-03-14 17:01:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5206 * config/rpi/gstomx.conf:
5208 omx: The hack to disable usage of EOS buffers is not necessary anymore on RPi
5210 2013-03-14 17:00:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5213 omx: Reset the flags for output ports when releasing a buffer, not for input ports
5215 2013-03-14 15:03:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5217 * omx/gstomxh263enc.c:
5218 * omx/gstomxh264enc.c:
5219 * omx/gstomxmpeg4videoenc.c:
5220 omx: Only unref caps after usage of its fields
5222 2013-03-14 14:51:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5224 * omx/gstomxvideodec.c:
5225 omxvideodec: Simplify bufferpool implementation
5227 2013-03-13 13:23:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5229 * omx/gstomxvideodec.c:
5230 omxvideodec: Improve min/max buffer counts handling
5232 2013-03-14 12:49:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5236 * omx/gstomxaudioenc.c:
5237 * omx/gstomxvideodec.c:
5238 * omx/gstomxvideoenc.c:
5239 omx: Handle the OMX_EventBufferFlag to detect EOS too
5241 2013-03-13 10:29:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5245 omx: Mark OpenMAX buffers as EGLImage if they contain one
5246 Needs special handling in some places, e.g. because nFilledLen
5249 2013-03-13 10:21:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5251 * omx/gstomxvideoenc.c:
5252 omxvideoenc: Properly check the nVersion field
5254 2013-03-13 09:34:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5256 * omx/gstomxvideoenc.c:
5257 omxvideoenc: RPi returns garbage for OMX_IndexParamVideoBitrate, work around that
5259 2013-03-12 20:02:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5261 * omx/gstomxvideodec.c:
5262 omxvideodec: Make sure to always get the right buffer
5264 2013-03-12 19:35:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5266 * omx/gstomxvideodec.c:
5267 omxvideodec: Make sure the buffer is released to the pool if it's not the one we wanted
5269 2013-03-12 19:17:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5271 * omx/gstomxvideodec.c:
5272 omxvideodec: Drop too late frames instead of finishing them
5274 2013-03-12 19:16:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5276 * omx/gstomxvideodec.c:
5277 omx: Release buffers to the correct port
5279 2013-03-13 09:37:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5282 omx: Always load the OpenMAX IL cores with G_MODULE_BIND_LOCAL
5284 2013-03-12 18:20:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5287 omx: Lazy-load symbols of libbcm_host.so
5288 It exports eglIntOpenMAXILDoneMarker(), which is also
5289 exported by libopenmaxil.so... but we need the version
5290 from libopenmaxil.so as the other one is just a stub.
5292 2013-03-11 13:59:15 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5294 * omx/gstomxaacenc.c:
5295 * omx/gstomxh263enc.c:
5296 * omx/gstomxmpeg4videoenc.c:
5297 omx: Don't set profile/level in other encoders if downstream caps don't specify any
5299 2013-03-11 13:49:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5301 * omx/gstomxh264enc.c:
5302 omxh264enc: If caps specify no profile/level use the component's defaults
5304 2013-03-11 13:45:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5306 * omx/gstomxvideoenc.c:
5307 omxvideoenc: Always allocate output buffers from the loop function
5309 2013-03-11 13:12:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5311 * omx/gstomxh264enc.c:
5312 omxh264enc: The h264 encoders are supposed to output byte-stream/au
5314 2013-03-11 11:47:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5316 * omx/gstomxvideoenc.c:
5317 omxvideoenc: Wait until the Executing state is reached before passing buffers to the component
5319 2013-03-11 10:39:25 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5321 * omx/gstomxvideodec.c:
5322 omxvideodec: Don't provide buffers to downstream
5323 This only works reliable if we have a way to tell downstream to
5324 release all our buffers for reconfiguration.
5326 2013-03-11 10:29:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5328 * omx/gstomxaudioenc.c:
5329 omxaudioenc: Disable output port when setting a new format
5331 2013-03-11 10:29:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5333 * omx/gstomxvideoenc.c:
5334 omxvideoenc: Disable output port when setting a new format
5336 2013-03-11 10:22:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5338 * omx/gstomxvideodec.c:
5339 omxvideodec: Disable output port when setting a new format
5340 Based on a patch by Josep Torra <n770galaxy@gmail.com>
5342 2013-03-11 10:04:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5344 * omx/gstomxaudioenc.c:
5345 * omx/gstomxvideodec.c:
5346 * omx/gstomxvideoenc.c:
5347 omx: Catch errors when releasing buffers to a port and handle them
5349 2013-03-10 12:09:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5351 * omx/gstomxvideoenc.c:
5352 omxvideoenc: Use the correct video codec state when filling an input buffer
5354 2013-03-10 12:05:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5356 * omx/gstomxvideoenc.c:
5357 omxvideoenc: Store correct input state
5359 2013-03-10 11:27:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5361 * omx/gstomxvideoenc.c:
5362 omxvideoenc: Allocate output buffers as early as possible
5364 2013-03-10 11:01:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5367 omx: Log unknown events
5369 2013-03-09 14:14:40 +0100 Josep Torra <n770galaxy@gmail.com>
5371 * omx/gstomxaudioenc.c:
5372 * omx/gstomxvideodec.c:
5373 * omx/gstomxvideoenc.c:
5374 omx: Fix deadlock in encoders and add explainatory comments.
5376 2013-03-09 13:27:08 +0100 Josep Torra <n770galaxy@gmail.com>
5378 * omx/gstomxvideodec.c:
5379 omxvideodec: fix printf format identifier
5381 2013-03-09 13:07:59 +0100 Josep Torra <n770galaxy@gmail.com>
5383 * omx/gstomxvideodec.c:
5384 omx: Minor changes on debuging info
5386 2013-03-09 13:00:33 +0100 Josep Torra <n770galaxy@gmail.com>
5388 * omx/gstomxvideodec.c:
5389 omxvideodec: avoid a deadlock
5391 2013-03-08 15:56:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5393 * omx/gstomxvideodec.c:
5394 omxvideodec: Don't forget to populate output port
5396 2013-03-08 15:11:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5398 * omx/gstomxaudioenc.c:
5399 * omx/gstomxvideodec.c:
5400 * omx/gstomxvideoenc.c:
5401 omx: Flush and stop srcpad when configuring new caps
5403 2013-03-07 17:40:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5405 * config/rpi/gstomx.conf:
5407 Revert "omx: use no-component-reconfigure hack on the Raspberry PI"
5408 This reverts commit e123b2089f69a413241f30a2428ea6edd8f231e7.
5409 It's not required anymore after the fix from the last commit.
5411 2013-03-07 17:38:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5413 * omx/gstomxvideodec.c:
5414 omxvideodec: Only negotiate a color format with downstream on the initial caps
5416 2013-03-07 17:29:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5418 * omx/gstomxvideodec.c:
5419 omxvideodec: Make sure the output port is disabled while we allocate buffers
5421 2013-03-07 17:27:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5424 omx: Also wait for disabled output ports to be reconfigured
5426 2013-03-07 14:10:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5428 * omx/gstomxvideodec.c:
5429 * omx/gstomxvideodec.h:
5430 omxvideodec: Add buffer pool for sharing OpenMAX memory with downstream
5432 2013-03-07 11:11:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5436 * omx/gstomxaudioenc.c:
5437 * omx/gstomxvideodec.c:
5438 * omx/gstomxvideoenc.c:
5439 omx: Add timeout to the flush operation and move buffer populating to a separate function
5441 2013-03-06 17:33:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5443 * config/rpi/gstomx.conf:
5446 omx: Remove min buffer count hack for RPi again
5447 It's not necessary anymore
5449 2013-03-06 17:05:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5453 * omx/gstomxaudioenc.c:
5454 * omx/gstomxvideodec.c:
5455 * omx/gstomxvideoenc.c:
5456 omx: Do number of buffers configuration explicitely
5458 2013-03-07 11:24:54 +0100 Josep Torra <n770galaxy@gmail.com>
5460 * omx/gstomxvideodec.c:
5461 omxvideodec: fixes reconfiguration
5462 Avoid having fixed fields from previous caps on reconfiguration.
5464 2013-03-07 11:02:39 +0100 Josep Torra <n770galaxy@gmail.com>
5466 * config/rpi/gstomx.conf:
5468 omx: use no-component-reconfigure hack on the Raspberry PI
5470 2013-03-07 00:03:28 +0000 Tim-Philipp Müller <tim@centricular.net>
5473 Automatic update of common submodule
5474 From 2de221c to 04c7a1e
5476 2013-03-01 15:32:47 +0100 Josep Torra <n770galaxy@gmail.com>
5478 * omx/gstomxvideoenc.h:
5479 omxvideoenc: drop unused data member
5481 2013-03-01 12:23:54 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5483 * omx/gstomxh263enc.c:
5484 * omx/gstomxh264enc.c:
5485 * omx/gstomxmpeg4videoenc.c:
5486 omxvideoenc: And set it actually on the right port
5488 2013-03-01 12:18:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5490 * omx/gstomxh263enc.c:
5491 * omx/gstomxh264enc.c:
5492 * omx/gstomxmpeg4videoenc.c:
5493 omxvideoenc: Set the coding type in the subclasses to the specific codec
5495 2013-03-01 11:49:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5497 * omx/gstomxvideoenc.c:
5498 omxvideoenc: gst_omx_port_update_port_definition() returns a OMX_ERRORTYPE, not a gboolean
5500 2013-03-01 11:44:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5502 * omx/gstomxvideodec.c:
5503 * omx/gstomxvideoenc.c:
5504 omxvideo{dec,enc}: Don't use the input state if it wasn't set yet
5506 2013-03-01 11:25:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5508 * omx/gstomxaudioenc.c:
5509 omxaudioenc: Only enable the output port after we know the output format
5511 2013-03-01 11:24:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5513 * omx/gstomxvideoenc.c:
5514 omxvideoenc: Only enable the output port after we know the output format
5516 2013-02-28 17:02:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5518 * omx/gstomxvideodec.c:
5519 omxvideodec: Only enable the output port after we know the output format
5521 2013-03-01 11:18:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5525 omx: Handle errors more gracefully
5527 2013-02-28 15:48:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5531 * omx/gstomxaudioenc.c:
5532 * omx/gstomxh263dec.c:
5533 * omx/gstomxh264dec.c:
5534 * omx/gstomxmpeg2dec.c:
5535 * omx/gstomxmpeg4videodec.c:
5536 * omx/gstomxvideodec.c:
5537 * omx/gstomxwmvdec.c:
5538 omx: Return the OMX_ERRORTYPE from gst_omx_port_update_port_definition
5540 2013-02-28 15:37:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5543 omx: Return port definition update errors
5545 2013-02-28 13:57:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5547 * config/rpi/gstomx.conf:
5550 omx: Add hack for RPi for the minimum number of buffers required for a port
5551 The value in the port definition is invalid and the initial actual
5552 buffer count should be used.
5554 2013-02-28 13:26:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5557 omx: Always tell the component about the right number of buffers that we're going to allocate
5559 2013-02-28 13:07:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5562 omx: Invert assertion to let it express what was intended
5564 2013-02-28 11:19:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5568 * omx/gstomxaudioenc.c:
5569 * omx/gstomxvideodec.c:
5570 * omx/gstomxvideoenc.c:
5571 omx: Add API for allocating a specific number of buffers and using EGLImages or buffers allocated elsewhere
5573 2013-02-27 16:55:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5575 * omx/gstomxaudioenc.c:
5576 * omx/gstomxvideodec.c:
5577 * omx/gstomxvideoenc.c:
5578 omx: Refactor code flow a bit if output port settings have changed
5580 2013-02-27 15:49:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5584 * omx/gstomxaudioenc.c:
5585 * omx/gstomxvideodec.c:
5586 * omx/gstomxvideoenc.c:
5587 omx: Clean up port settings change handling
5589 2013-02-27 11:30:14 +0100 Josep Torra <n770galaxy@gmail.com>
5591 * omx/gstomxvideodec.c:
5592 omxvideodec: initialize param structure before using it
5594 2013-02-27 10:21:39 +0100 Josep Torra <n770galaxy@gmail.com>
5596 * omx/gstomxvideoenc.c:
5597 omxvideoenc: prevent a NULL pointer access
5599 2013-02-26 17:25:49 +0100 Josep Torra <n770galaxy@gmail.com>
5601 * omx/gstomxvideodec.c:
5602 omxvideodec: prevent a NULL pointer access
5604 2013-02-25 13:11:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5607 omx: Fix deadlock during reconfiguration
5609 2013-02-25 12:38:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5612 * omx/gstomxaudioenc.c:
5613 * omx/gstomxvideodec.c:
5614 * omx/gstomxvideoenc.c:
5615 omx: Auto-detect the port indizes if possible
5617 2013-02-25 11:42:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5619 * omx/gstomxvideodec.c:
5620 * omx/gstomxvideoenc.c:
5621 omx: Refactor querying of component supported caps into its own function
5623 2013-02-25 10:41:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5627 * omx/gstomxaudioenc.c:
5628 * omx/gstomxvideodec.c:
5629 * omx/gstomxvideoenc.c:
5630 omx: Refactor waiting for buffers to be released by the component to a separate function
5632 2013-01-11 17:44:13 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5636 omx: Add methods to set up and close a tunnel between components
5638 2013-02-25 09:15:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5640 * omx/gstomxaacenc.c:
5641 * omx/gstomxaudioenc.c:
5642 * omx/gstomxaudioenc.h:
5643 omxaudioenc: Rename component variable
5645 2013-02-25 09:15:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5647 * omx/gstomxh263enc.c:
5648 * omx/gstomxh264enc.c:
5649 * omx/gstomxmpeg4videoenc.c:
5650 * omx/gstomxvideoenc.c:
5651 * omx/gstomxvideoenc.h:
5652 omxvideoenc: Rename component variable
5654 2013-02-25 09:12:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5656 * omx/gstomxvideodec.c:
5657 * omx/gstomxvideodec.h:
5658 omxvideodec: Rename component variable
5660 2013-02-22 16:27:33 +0100 Josep Torra <n770galaxy@gmail.com>
5662 * omx/gstomxvideoenc.c:
5663 omxvideoenc: remove duplicated line
5665 2013-02-22 10:42:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5668 Retry loading libbcm_host.so without an absolute path if that failed
5670 2013-02-21 20:32:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5672 * config/bellagio/Makefile.am:
5673 Add missing file from last commit
5675 2013-02-21 11:01:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5677 * config/Makefile.am:
5678 * config/bellagio/gstomx.conf:
5681 Add OpenMAX IL target for Bellagio
5682 Not tested since a very long time though.
5684 2013-02-21 10:59:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5688 Allow using external OpenMAX IL headers
5690 2013-02-21 10:14:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5695 2013-02-21 10:13:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5697 * config/Makefile.am:
5698 * config/rpi/Makefile.am:
5699 * config/rpi/gstomx.conf:
5701 Install the RPI config when the RPI target is selected
5703 2013-02-21 10:08:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5706 Set default hacks for the RPI target and always initialize bcm_host
5708 2013-02-21 10:05:37 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5711 Add configure parameter for setting the OpenMAX IL target
5713 2013-02-12 11:55:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5716 omx: Add FIXME for the future
5718 2013-02-12 11:49:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5722 * omx/gstomxaudioenc.c:
5723 * omx/gstomxaudioenc.h:
5724 * omx/gstomxvideodec.c:
5725 * omx/gstomxvideodec.h:
5726 * omx/gstomxvideoenc.c:
5727 * omx/gstomxvideoenc.h:
5728 omx: Some minor refactoring and cleanup
5730 2013-02-12 11:45:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5733 omx: Don't access the port's buffers array if it wasn't allocated yet
5735 2013-02-12 11:44:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5738 omx: Mark an array as const
5740 2013-02-12 11:41:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5744 * omx/gstomxaudioenc.c:
5745 * omx/gstomxvideodec.c:
5746 * omx/gstomxvideoenc.c:
5747 omx: Split enabling/disabling of port into sending the command and waiting for it
5748 This allows to do anything necessary after sending the command to actually let it finish
5750 2013-02-12 11:37:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5753 omx: Flushing is also allowed in Paused state
5755 2013-02-12 11:28:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5757 * omx/gstomxvideoenc.c:
5758 omxvideoenc: Set stride, slice height and buffer size
5760 2013-02-12 11:09:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5762 * config/raspberry-pi.conf:
5763 config: Add h264 and mpeg2 encoders to the raspberry pi config
5764 Not completely working yet though.
5766 2013-02-12 11:03:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5768 * omx/gstomxvideoenc.c:
5769 omxvideoenc: Properly negotiate OMX color format with the component
5771 2013-02-12 10:53:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5773 * omx/gstomxvideoenc.c:
5774 omxvideoenc: Implement getcaps() vfunc
5776 2013-01-29 21:32:53 +0000 Tim-Philipp Müller <tim@centricular.net>
5779 configure: use 1.0 gstconfig.h to detect disabled subsystems
5780 Update unused configure check for GStreamer core subsystem
5781 features from 0.10 to 1.0.
5783 2013-01-28 20:44:41 +0100 Stefan Sauer <ensonic@users.sf.net>
5786 Automatic update of common submodule
5787 From a942293 to 2de221c
5789 2013-01-24 14:02:36 +0100 Julian Scheel <julian@jusst.de>
5791 * config/raspberry-pi.conf:
5794 * omx/gstomxmpeg2dec.c:
5795 * omx/gstomxmpeg2dec.h:
5796 omx: add mpeg2 video decoder
5797 This adds a decoder class for mpeg2, as well as an extended
5798 configuration for raspberry pi.
5799 https://bugzilla.gnome.org/show_bug.cgi?id=692446
5800 Signed-off-by: Julian Scheel <julian@jusst.de>
5802 2013-01-18 16:47:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5805 omx: Minimize the time when the messages lock is held
5806 Fixes a deadlock if any OMX functions are called when the
5807 messages are handled.
5808 Thanks to Nicolas Dufresne for noticing.
5810 2013-01-18 15:28:20 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5813 omx: improve debug message when we can't find the config file
5814 Mention where we looked for the config file.
5816 2013-01-18 12:34:38 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5819 build: fix autogen.sh with automake 1.13
5820 AM_CONFIG_HEADER -> AC_CONFIG_HEADERS
5822 2013-01-17 18:07:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5825 * omx/gstomxaudioenc.h:
5826 * omx/gstomxvideodec.h:
5827 * omx/gstomxvideoenc.h:
5828 omx: Fix includes to properly work with the 1.0 releases
5830 2013-01-15 15:08:28 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5833 Automatic update of common submodule
5834 From a72faea to a942293
5836 2013-01-15 14:34:45 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5839 omx: Update port definition when changing some port setting
5841 2013-01-14 11:41:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5845 omx: Rename from libgstopenmax.so to ligstomx.so for consistency
5847 2013-01-11 15:32:22 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
5850 omx: Add a method to send message
5852 2013-01-11 15:44:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5856 omx: Atomic ops are not required anymore for the reconfiguration
5858 2013-01-11 12:52:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5860 * omx/gstomxaudioenc.c:
5861 * omx/gstomxvideodec.c:
5862 * omx/gstomxvideoenc.c:
5863 omx: Fix some memory leaks and suboptimal locking
5865 2013-01-11 12:34:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5867 * omx/gstomxvideoenc.c:
5868 omxvideoenc: Don't forget to unmap frame in error cases
5870 2013-01-11 12:29:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5872 * omx/gstomxvideoenc.c:
5873 omxvideoenc: Fix copying of the video frames to the OMX buffers
5875 2013-01-11 12:24:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5877 * omx/gstomxvideodec.c:
5878 omxvideodec: Fix copying of the video frames from the OMX buffers
5880 2013-01-10 14:44:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5885 * omx/gstomxaudioenc.c:
5886 * omx/gstomxrecmutex.c:
5887 * omx/gstomxrecmutex.h:
5888 omx: Implement new approach for locking that should solve all deadlocks on RPi
5889 No mutex is locked while calling any OpenMAX functions anymore
5890 and everything from the OpenMAX callbacks is inserted into a message
5891 queue and handled from outside the callbacks.
5892 Also there's only a single mutex and condition variable per component
5893 now for handling anything from OpenMAX callbacks and a single mutex
5894 for keeping our component/port state sane.
5896 2012-12-20 19:30:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5898 * omx/gstomxvideodec.c:
5899 omxvideodec: Set the OMX buffer nFilledLength field properly
5901 2012-12-20 18:48:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5903 * omx/gstomxrecmutex.c:
5904 * omx/gstomxrecmutex.h:
5905 omxrecmutex: Fix another race condition when two threads are trying to lock for recursion at the same time
5907 2012-12-20 18:16:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5909 * omx/gstomxrecmutex.c:
5910 * omx/gstomxrecmutex.h:
5911 omxrecmutex: Fix yet another race condition that resulted in deadlocks
5913 2012-12-20 17:46:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5916 * omx/gstomxrecmutex.c:
5917 * omx/gstomxrecmutex.h:
5918 omx: Fix another race condition in the recursive mutex
5919 Between lock() and begin_recursion() it was possible for another thread to
5920 try to do a recursive_lock(). This would block because the mutex was already
5921 locked(), but not ready for recursive locking yet. unlock() would never
5922 happen in the original thread because it was waiting for the other thread
5924 Happened on the Raspberry Pi.
5926 2012-12-20 14:45:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5928 * omx/gstomxrecmutex.c:
5929 * omx/gstomxrecmutex.h:
5930 omxrecmutex: Fix a small race condition when unlocking a non-recursive lock
5932 2012-12-20 12:30:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5934 * omx/gstomxaudioenc.c:
5935 * omx/gstomxvideodec.c:
5936 * omx/gstomxvideoenc.c:
5937 omx: Fix ununsed variable compiler warning
5939 2012-12-20 12:27:47 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5941 * omx/gstomxaudioenc.c:
5942 * omx/gstomxvideodec.c:
5943 * omx/gstomxvideoenc.c:
5944 omx: No need to start the srcpad task in ::start() already
5945 It will be started properly after the caps are set.
5947 2012-12-20 12:23:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5949 * omx/gstomxvideodec.c:
5950 omxvideodec: OMX_ErrorNoMore is no error and just means we ended iteration
5952 2012-12-20 12:20:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5954 * omx/gstomxaudioenc.c:
5955 * omx/gstomxvideodec.c:
5956 * omx/gstomxvideoenc.c:
5957 omx: Improve debug output
5959 2012-12-20 12:02:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5961 * omx/gstomxvideodec.c:
5962 omxvideodec: Don't forget to free a GList
5964 2012-12-20 11:56:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5966 * omx/gstomxvideodec.c:
5967 omxvideodec: Map OMX_COLOR_FormatYUV420PackedPlanar to I420 too
5968 This is used on the Raspberry Pi.
5970 2012-12-20 11:55:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5972 * omx/gstomxvideodec.c:
5973 omxvideodec: During negotiation of the output format make sure we use the correct OpenMAX format
5975 2012-12-20 11:42:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5977 * omx/gstomxvideodec.c:
5978 omxvideodec: If negotiation fails this could also mean that the component can't do it at this point yet
5980 2012-12-20 11:40:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5982 * omx/gstomxvideodec.c:
5983 omxvideodec: Improve format negotiation a bit
5984 Don't leak caps and make sure to fixate caps.
5986 2012-12-19 13:05:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5989 omx: Also initialize nStep field of the OMX structures
5991 2012-12-19 13:03:37 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5994 omx: Initialize struct version with the OMX version we compiled with
5996 2012-12-19 12:44:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5998 * omx/gstomxvideodec.c:
5999 omxvideodec: Extract data from the input buffer, not the codec data
6001 2012-12-19 12:19:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6004 * tools/listcomponents.c:
6005 omx: Use has_suffix() instead of has_prefix() for the Broadcom hack
6007 2012-12-19 12:08:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6011 * tools/Makefile.am:
6012 * tools/listcomponents.c:
6013 tools: Add tool to list all components and their roles
6015 2012-12-19 11:31:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6018 omx: Add hack to load and initialize libbcm_host.so
6019 Needed on the Raspberry Pi. Patch based on a patch by
6020 George Kiagiadakis <george.kiagiadakis@collabora.com>
6022 2012-12-19 11:22:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6026 configure: Add configure option to pack OpenMAX structures
6027 This is required to set to 4 for the Raspberry Pi for example.
6029 2012-12-19 11:07:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6032 configure: Require GStreamer 1.0.0
6034 2012-04-20 17:13:52 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
6037 omx: Initialize structures to version 1.1.2
6039 2012-12-19 09:51:22 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6042 * config/Makefile.am:
6043 * config/raspberry-pi.conf:
6045 config: Add raspberry-pi configuration in a different directory
6047 2012-05-20 20:11:59 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
6049 * omx/gstomx-raspberry.conf:
6050 raspberry: Add a gstomx.conf for the Raspberry Pi
6052 2012-12-12 17:45:39 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6055 * omx/gstomxvideoenc.h:
6056 omx: Fix some compilation errors caused by circular includes
6058 2012-11-19 11:29:44 +0000 Tim-Philipp Müller <tim@centricular.net>
6061 Automatic update of common submodule
6062 From 6bb6951 to a72faea
6064 2012-11-12 15:14:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6066 * omx/gstomxvideodec.c:
6067 * omx/gstomxvideoenc.c:
6068 omx: Fix refcount problem with frames being dropped because of decoder bugs
6070 2012-11-12 11:29:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6074 * omx/gstomxaudioenc.c:
6075 * omx/gstomxaudioenc.h:
6076 * omx/gstomxrecmutex.c:
6077 * omx/gstomxrecmutex.h:
6078 * omx/gstomxvideodec.c:
6079 * omx/gstomxvideodec.h:
6080 * omx/gstomxvideoenc.c:
6081 * omx/gstomxvideoenc.h:
6082 omx: Update to new GLib thread API
6084 2012-10-22 14:34:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6086 * omx/gstomxvideodec.c:
6087 * omx/gstomxvideoenc.c:
6088 omx: Use open/close vfuncs
6090 2012-10-22 14:28:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6092 * omx/gstomxvideodec.c:
6093 * omx/gstomxvideoenc.c:
6094 omx: Handle video meta correctly
6096 2012-06-20 13:11:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6099 * omx/gstbasevideocodec.c:
6100 * omx/gstbasevideocodec.h:
6101 * omx/gstbasevideodecoder.c:
6102 * omx/gstbasevideodecoder.h:
6103 * omx/gstbasevideoencoder.c:
6104 * omx/gstbasevideoencoder.h:
6105 * omx/gstbasevideoutils.c:
6106 * omx/gstbasevideoutils.h:
6107 * omx/gstomxh263dec.c:
6108 * omx/gstomxh263enc.c:
6109 * omx/gstomxh264dec.c:
6110 * omx/gstomxh264enc.c:
6111 * omx/gstomxmpeg4videodec.c:
6112 * omx/gstomxmpeg4videoenc.c:
6113 * omx/gstomxvideodec.c:
6114 * omx/gstomxvideodec.h:
6115 * omx/gstomxvideoenc.c:
6116 * omx/gstomxvideoenc.h:
6117 * omx/gstomxwmvdec.c:
6118 omx: Port to video base classes from -base
6120 2012-10-17 17:57:43 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
6122 * omx/gstomxaacenc.c:
6123 * omx/gstomxh263dec.c:
6124 * omx/gstomxh263enc.c:
6125 * omx/gstomxh264dec.c:
6126 * omx/gstomxh264enc.c:
6127 * omx/gstomxmpeg4videodec.c:
6128 * omx/gstomxmpeg4videoenc.c:
6129 * omx/gstomxwmvdec.c:
6130 omx: gst_element_class_set_details_simple() -> set_static_metadata()
6132 2012-10-06 15:01:11 +0100 Tim-Philipp Müller <tim@centricular.net>
6135 Automatic update of common submodule
6136 From 6c0b52c to 6bb6951
6138 2012-09-22 16:10:38 +0100 Tim-Philipp Müller <tim@centricular.net>
6141 Automatic update of common submodule
6142 From 4f962f7 to 6c0b52c
6144 2012-06-21 20:22:13 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
6147 omx: fix debug statement
6149 2012-06-21 20:21:03 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
6152 omx: use recursive_lock inside set_last_error(), since this function may be called from an event handler
6154 2012-08-22 13:31:59 +0200 Stefan Sauer <ensonic@users.sf.net>
6157 Automatic update of common submodule
6158 From 668acee to 4f962f7
6160 2012-08-05 16:42:43 +0100 Tim-Philipp Müller <tim@centricular.net>
6163 Automatic update of common submodule
6164 From 94ccf4c to 668acee
6166 2012-08-03 19:32:13 +0100 Tim-Philipp Müller <tim@centricular.net>
6169 omx: fix plugin name for new GST_PLUGIN_DEFINE API
6171 2012-07-23 08:47:32 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6174 Automatic update of common submodule
6175 From 98e386f to 94ccf4c
6177 2012-07-10 09:57:09 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6179 * omx/gstbasevideodecoder.c:
6180 omx: Update for allocation query API changes
6182 2012-06-20 11:09:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6184 * omx/gstomxaudioenc.c:
6185 * omx/gstomxvideodec.c:
6186 * omx/gstomxvideoenc.c:
6187 omx: Fix compilation after gst_pad_start_task() API changes
6189 2012-06-08 15:06:35 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
6192 Automatic update of common submodule
6193 From 03a0e57 to 98e386f
6195 2012-06-06 18:20:18 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
6198 Automatic update of common submodule
6199 From 1fab359 to 03a0e57
6201 2012-06-01 10:30:27 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
6204 Automatic update of common submodule
6205 From f1b5a96 to 1fab359
6207 2012-05-31 13:10:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6210 Automatic update of common submodule
6211 From 92b7266 to f1b5a96
6213 2012-05-30 12:47:59 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6216 Automatic update of common submodule
6217 From ec1c4a8 to 92b7266
6219 2012-05-30 11:26:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6222 Automatic update of common submodule
6223 From 3429ba6 to ec1c4a8
6225 2012-05-13 15:58:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6228 Automatic update of common submodule
6229 From dc70203 to 3429ba6
6231 2012-05-08 16:13:32 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
6234 omx: Fix spelling mistake found by lintian: s/Seperate/Separate/
6236 2012-04-30 23:58:43 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
6241 * omx/gstomxaudioenc.c:
6242 * omx/gstomxrecmutex.c:
6243 * omx/gstomxrecmutex.h:
6244 * omx/gstomxvideodec.c:
6245 * omx/gstomxvideoenc.c:
6246 Implement a new custom recursive mutex type and fix locking in callbacks so that in-context calls are allowed.
6247 According to the OMX specification, implementations are allowed to call
6248 callbacks in the context of their function calls. However, our callbacks
6249 take locks and this causes deadlocks if the unerlying OMX implementation
6250 uses this kind of in-context calls.
6251 A solution to the problem would be a recursive mutex. However, a normal
6252 recursive mutex does not fix the problem because it is not guaranteed
6253 that the callbacks are called from the same thread. What we see in Broadcom's
6254 implementation for example is:
6256 - OMX_Foo waits on a condition
6257 - A callback is executed in a different thread
6258 - When the callback returns, its calling function
6259 signals the condition that OMX_Foo waits on
6260 - OMX_Foo wakes up and returns
6261 The solution I came up with here is to take a second lock inside the callback,
6262 but only if recursion is expected to happen. Therefore, all calls to OMX
6263 functions are guarded by calls to gst_omx_rec_mutex_begin_recursion() / _end_recursion(),
6264 which effectively tells the mutex that at this point we want to allow calls
6265 to _recursive_lock() to succeed, although we are still holding the master lock.
6267 2012-04-20 14:51:34 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
6271 omx: Add hack to disable setting roles to components.
6275 2012-04-30 23:20:24 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
6278 * omx/gstomxvideodec.c:
6279 omxvideodec: Implement no-empty-eos-buffer hack, as in omxvideoenc.
6281 omx/gstomxvideodec.c
6283 2012-04-30 23:19:55 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
6285 * omx/gstomxvideodec.c:
6286 omxvideodec: Fix coding style in the drain-may-not-return hack code
6288 2012-04-25 19:03:48 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
6291 omx: Fix trivial debug print bug
6293 2012-04-25 19:01:32 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
6297 * omx/gstomxvideodec.c:
6298 omxvideodec: Add hack for Ducati components not returning from drain
6299 This happens on the Galaxy Nexus, and causes the pipeline to hang waiting
6300 endlessly for a drain. The hack replaces the wait with a wait + 500ms timeout.
6302 2012-04-25 16:35:40 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
6305 omx: Fix deadlock between ending a flush and the event handler
6306 gst_omx_port_set_flushing() calls OMX_FillThisBuffer at the end of a flush
6307 without releasing the port lock, and this can cause a deadlock with the
6308 EventHandler. This patches fixes this by dropping the lock for the duration of
6309 the fill buffer call.
6311 2012-04-24 15:41:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6313 * omx/gstbasevideodecoder.c:
6314 * omx/gstbasevideoencoder.c:
6315 omx: Update video encoder/decoder base classes from gst-plugins-bad
6317 2012-04-16 09:16:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6320 configure: Modernize autotools setup a bit
6321 Also we now only create tar.bz2 and tar.xz tarballs.
6323 2012-04-16 09:12:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6326 Automatic update of common submodule
6328 2012-04-16 08:34:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6330 * omx/gstomxaudioenc.c:
6331 omxaudioenc: Use gst_buffer_extract() to copy the input buffer data to the OpenMAX buffer
6333 2012-04-13 17:16:42 -0400 Alessandro Decina <alessandro.decina@collabora.com>
6336 Fix relative/absolute path glitch
6337 Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
6339 2012-04-12 15:57:32 -0400 Olivier Crête <olivier.crete@collabora.com>
6344 * omx/gstbasevideocodec.c:
6345 * omx/gstbasevideocodec.h:
6346 * omx/gstbasevideodecoder.c:
6347 * omx/gstbasevideodecoder.h:
6348 * omx/gstbasevideoencoder.c:
6349 * omx/gstbasevideoencoder.h:
6352 * omx/gstomxaacenc.c:
6353 * omx/gstomxaudioenc.c:
6354 * omx/gstomxaudioenc.h:
6355 * omx/gstomxh263dec.c:
6356 * omx/gstomxh263enc.c:
6357 * omx/gstomxh264dec.c:
6358 * omx/gstomxh264enc.c:
6359 * omx/gstomxmpeg4videodec.c:
6360 * omx/gstomxmpeg4videoenc.c:
6361 * omx/gstomxvideodec.c:
6362 * omx/gstomxvideodec.h:
6363 * omx/gstomxvideoenc.c:
6364 * omx/gstomxvideoenc.h:
6365 * omx/gstomxwmvdec.c:
6368 2012-01-18 16:53:16 -0300 Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
6372 Enable building with Android's buildsystem
6373 This change adds prelimary buildsystem hooks to
6374 build gst-omx with the Android buildsystem. Like
6375 the rest of GStreamer's Android hooks, the process
6376 relies on the availability of androgenizer. A tool
6377 developed by Collabora to automatically generate
6378 Android.mk files from within the auto* setup.
6379 Androgenizer is currently available at:
6380 http://cgit.collabora.com/git/user/derek/androgenizer.git/
6382 2011-12-13 10:17:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6384 * omx/gstbasevideocodec.c:
6385 basevideocodec: Don't use G_TYPE_REGISTER_BOXED() yet
6386 This would require GLib 2.26.
6388 2011-12-14 10:09:34 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
6390 * omx/gstomxaudioenc.c:
6391 omxaudioenc: Add hack for encoder components that don't allow empty EOS buffers
6393 2011-12-14 10:07:29 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
6395 * omx/gstomxvideoenc.c:
6396 omxvideoenc: Fix deadlock when using the EOS hack
6398 2011-12-12 14:26:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6400 * omx/gstomxvideoenc.c:
6401 omxvideoenc: Remove workaround for basevideocodec bug
6403 2011-12-12 14:26:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6405 * omx/gstomxvideodec.c:
6406 omxvideodec: Remove workaround for basevideocodec bug
6408 2011-12-05 17:57:01 +0000 Matej Knopp <matej.knopp@gmail.com>
6410 * omx/gstbasevideocodec.c:
6411 * omx/gstbasevideocodec.h:
6412 * omx/gstbasevideodecoder.c:
6413 * omx/gstbasevideoencoder.c:
6414 basevideo: Make GstVideoFrame a reference counted boxed object
6415 ...and also clear all existing frames when resetting the decoder or encoder.
6417 2011-12-09 12:17:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6421 * omx/gstomxvideoenc.c:
6422 omx: Add hack for encoder components that don't allow empty EOS buffers
6424 2011-12-09 10:21:47 +0100 Dake Gu <Dake.Gu@palm.com>
6426 * omx/gstomxaacenc.c:
6427 omxaacenc: Generate and set codec_data on the caps for raw AAC
6429 2011-10-31 11:36:06 +0100 Alessandro Decina <alessandro.decina@collabora.co.uk>
6431 * omx/gstbasevideoencoder.c:
6432 basevideoencoder: handle failures in start() and stop()
6434 2011-08-26 10:50:38 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
6436 * omx/gstbasevideoencoder.c:
6437 basevideoenc: do not try to calculate latency from an unknown framerate
6438 It'll divide by zero, and latency is unknown for an unknown framerate.
6439 Fixes an assert in the schroenc test.
6440 https://bugzilla.gnome.org/show_bug.cgi?id=657419
6442 2011-12-08 11:50:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6444 * omx/gstbasevideoencoder.c:
6445 basevideoencoder: Only make the header buffer metadata writable, not the buffer
6447 2011-12-08 10:18:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6449 * omx/gstbasevideoencoder.c:
6450 basevideoencoder: Fix handling of force-keyunit events
6452 2011-12-06 13:28:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6454 * omx/gstomxaudioenc.c:
6455 omxaudioenc: Don't forward EOS events immediately but let all other events be handled by the base class
6456 Previously this logic was inversed, which did not make any sense at all.
6458 2011-12-06 12:47:25 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6460 * omx/gstomxaudioenc.c:
6461 * omx/gstomxaudioenc.h:
6462 omxaudioenc: Use correct timestamp, duration and filled length for the EOS buffers
6464 2011-12-06 12:47:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6466 * omx/gstomxvideodec.c:
6467 * omx/gstomxvideodec.h:
6468 omxvideodec: Use correct timestamp, duration and filled length for the EOS buffers
6470 2011-12-06 12:46:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6472 * omx/gstomxvideoenc.c:
6473 * omx/gstomxvideoenc.h:
6474 omxvideoenc: Use correct timestamp, duration and filled length for the EOS buffers
6476 2011-12-05 13:18:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6479 omx: Improve debugging of buffer handling
6481 2011-12-05 08:12:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6483 * omx/gstomxvideoenc.c:
6484 omxvideoenc: Drop EOS events in ::finish()
6485 The event will be forwarded downstream from the srcpad
6486 loop function after the last buffer was generated by the
6487 component. Forwarding it after ::finish() will use the
6488 sinkpad streaming thread and does not guarantee that
6489 the encoder is completely drained.
6491 2011-12-01 16:20:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6493 * omx/gstomxvideodec.c:
6494 omxvideodec: Properly drop frames due to QoS
6495 Instead of finishing them they should be passed to drop(), which
6496 will then send QoS messages.
6498 2011-11-29 12:21:32 +0100 Jonas Larsson <jonas@hallerud.se>
6500 * omx/gstomxh264enc.c:
6501 omxh264enc: Add support for resending headers after a forced-keyframe
6503 2011-11-29 12:12:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6505 * omx/gstbasevideocodec.h:
6506 * omx/gstbasevideoencoder.c:
6507 basevideoencoder: Pass the all-headers field of the force-key-unit event to the subclass
6509 2011-11-29 12:12:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6511 * omx/gstbasevideoencoder.c:
6512 * omx/gstbasevideoencoder.h:
6513 basevideoencoder: Implement full support for the new force-key-unit event
6514 Including support for the running-time and count fields.
6516 2011-11-29 09:31:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6518 * omx/gstbasevideoencoder.c:
6519 basevideoencoder: Use new force-keyunit event API from gst-plugins-base
6521 2011-11-29 09:18:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6523 * omx/gstbasevideoencoder.c:
6524 * omx/gstbasevideoencoder.h:
6525 basevideoencoder: Adjusting padding is not required for -bad libraries
6527 2011-11-28 19:48:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6529 * omx/gstbasevideoencoder.h:
6530 basevideoencoder: Move some fields to the private part of the instance struct
6532 2011-11-28 19:36:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6534 * omx/gstbasevideoencoder.c:
6535 basevideoencoder: Make headers metadata writable before pushing downstream
6536 The timestamp, duration, etc of the headers has to be changed.
6538 2011-11-28 19:35:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6540 * omx/gstbasevideoencoder.c:
6541 * omx/gstbasevideoencoder.h:
6542 basevideoencoder: Push the downstream force-keyframe event after the next keyframe
6543 Even if the corresponding GstVideoFrame doesn't have the is_sync_point
6546 2011-11-28 19:29:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6548 * omx/gstbasevideoencoder.c:
6549 * omx/gstbasevideoencoder.h:
6550 basevideoencoder: Don't push an upstream force-keyunit event downstream
6552 2011-11-25 11:48:08 +0100 Jonas Larsson <jonas@hallerud.se>
6554 * omx/gstbasevideoencoder.c:
6555 * omx/gstbasevideoencoder.h:
6556 basevideoencoder: Add initial support for the all-headers field of the force-keyframe event
6559 2011-11-25 11:37:39 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
6561 * omx/gstbasevideodecoder.c:
6562 basevideodecoder: some more debug logging
6564 2011-11-23 20:03:32 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
6566 * omx/gstbasevideodecoder.c:
6567 * omx/gstbasevideodecoder.h:
6568 basevideodecoder: add API to drop a frame and post a QoS message on the bus
6569 https://bugzilla.gnome.org/show_bug.cgi?id=640017
6570 API: gst_base_video_decoder_drop_frame()
6572 2011-11-22 23:04:49 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
6574 * omx/gstbasevideodecoder.c:
6575 docs: fix comment in gst_base_video_decoder_get_max_decode_time() docs
6577 2011-11-22 19:57:07 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
6579 * omx/gstbasevideodecoder.c:
6580 basevideodecoder: fix weird event list handling
6581 Get rid of weird code that copies a list manually, taking
6582 ownership of the elements and then frees the old list. Instead,
6583 just take over the old list entirely. (If the intent was to
6584 reverse the list, one could use g_list_reverse() instead).
6585 Then, push events in the list out from last to first (since they
6586 were prepended as they came in) instead of just pushing out the
6587 last in the list and leaking the others.
6589 2011-11-25 11:31:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6593 * omx/gstbaseaudiodecoder.c:
6594 * omx/gstbaseaudiodecoder.h:
6595 * omx/gstbaseaudioencoder.c:
6596 * omx/gstbaseaudioencoder.h:
6597 * omx/gstbaseaudioutils.c:
6598 * omx/gstbaseaudioutils.h:
6599 * omx/gstomxaacenc.c:
6600 * omx/gstomxaudioenc.c:
6601 * omx/gstomxaudioenc.h:
6602 omxaudioenc: Use audio base classes from gst-plugins-base instead of having our own copies
6604 2011-11-18 10:00:31 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6606 * omx/gstomxaudioenc.c:
6607 omxaudioenc: First set ports to flushing before waiting for the srcpad streaming thread to finish
6609 2011-11-18 09:59:43 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6611 * omx/gstomxvideoenc.c:
6612 omxvideoenc: First set ports to flushing before waiting for the srcpad streaming thread to finish
6614 2011-11-18 09:58:58 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6616 * omx/gstomxvideodec.c:
6617 omxvideodec: First set ports to flushing before waiting for the srcpad streaming thread to finish
6619 2011-11-17 14:38:54 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6622 omx: Only disabling of a port is like flushing, enabling is like unflushing
6624 2011-11-17 13:33:35 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6627 omx: Enabling/disabling a port is also like flushing
6628 The component returns all buffers to us and shouldn't get any
6629 new buffers passed anymore.
6631 2011-11-17 11:26:33 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6633 * omx/gstomxaudioenc.c:
6634 omxaudioenc: Signal the drain GCond even if downstream returned an error
6636 2011-11-17 11:26:20 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6638 * omx/gstomxvideoenc.c:
6639 omxvideoenc: Signal the drain GCond even if downstream returned an error
6641 2011-11-17 11:25:52 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6643 * omx/gstomxvideodec.c:
6644 omxvideodec: Signal the drain GCond even if downstream returned an error
6646 2011-11-17 10:34:19 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6648 * omx/gstbasevideoencoder.c:
6649 basevideoencoder: Only call ::reset once in READY->PAUSED
6651 2011-11-17 10:19:35 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6653 * omx/gstomxaudioenc.c:
6654 omxaudioenc: Shutdown component in PAUSED->READY and deallocate buffers
6656 2011-11-17 10:19:30 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6658 * omx/gstomxvideoenc.c:
6659 omxvideoenc: Shutdown component in PAUSED->READY and deallocate buffers
6661 2011-11-17 10:19:10 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6663 * omx/gstomxvideodec.c:
6664 omxvideodec: Shutdown component in PAUSED->READY and deallocate buffers
6666 2011-11-16 12:02:08 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6668 * omx/gstomxvideoenc.c:
6669 omxvideoenc: Set force_keyframe to FALSE after handling it
6670 There's no reason why the base class should forward the event
6671 further downstream if we already handled it and will insert a
6674 2011-11-16 11:21:25 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6676 * omx/gstomxvideodec.c:
6677 omxvideodec: Always push buffers downstream, even if we didn't find a corresponding GstVideoFrame
6679 2011-11-15 09:47:55 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6682 omx: Fix debug level for flushing in wrong state from ERROR to DEBUG
6683 It's not really an error and doesn't matter at all if flush is called
6684 when the component is not running.
6686 2011-11-15 08:40:07 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6688 * omx/gstomxh264enc.c:
6689 omxh264enc: Detect bytestream stream format and don't put SPS/PPS into the caps for this format
6691 2011-11-15 08:28:32 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6693 * omx/gstomxvideoenc.c:
6694 * omx/gstomxvideoenc.h:
6695 omxvideoenc: Add vfunc for handling the output frames
6696 This can be used by subclasses to override the buffer flags
6697 or to handle some frames differently than the default behaviour.
6699 2011-11-14 12:50:26 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6701 * omx/gstomxvideodec.c:
6702 omxvideodec: Don't release buffers twice if dropping because of QoS
6704 2011-11-14 09:13:06 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6707 omx: Add XXX to the nOffset reset hack comment for QCOM
6709 2011-11-10 15:18:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6711 * omx/gstomxaudioenc.c:
6712 omxaudioenc: Make srcpad caps setting threadsafe
6714 2011-11-10 15:17:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6716 * omx/gstomxvideoenc.c:
6717 omxvideoenc: Make srcpad caps setting threadsafe
6719 2011-11-10 15:17:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6721 * omx/gstomxvideodec.c:
6722 omxvideodec: Make srcpad caps setting threadsafe
6724 2011-11-10 15:10:14 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6726 * omx/gstomxaudioenc.c:
6727 omxaudioenc: Make the srcpad task and the sinkpad streaming thread handling threadsafe
6729 2011-11-10 15:03:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6731 * omx/gstomxaudioenc.c:
6732 omxaudioenc: Always flush the ports and make sure no processing is happening in ::flush
6733 This fixes a race condition that happened when seeking
6734 very often in a short period of time.
6736 2011-11-10 15:02:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6738 * omx/gstomxvideoenc.c:
6739 omxvideoenc: Always flush the ports and make sure no processing is happening in ::reset
6740 This fixes a race condition that happened when seeking
6741 very often in a short period of time.
6743 2011-11-10 15:01:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6745 * omx/gstomxvideoenc.c:
6746 omxvideoenc: Fix minor race condition when draining after upstream signalled EOS
6748 2011-11-10 14:56:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6750 * omx/gstomxaudioenc.c:
6751 omxaudioenc: Improve EOS handling
6752 If downstream return UNEXPECTED we should still signal the
6753 drain cond because nothing will trigger this again later.
6755 2011-11-10 14:56:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6757 * omx/gstomxvideoenc.c:
6758 omxvideoenc: Improve EOS handling
6759 If downstream return UNEXPECTED we should still signal the
6760 drain cond because nothing will trigger this again later.
6762 2011-11-10 14:54:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6764 * omx/gstomxaudioenc.c:
6765 omxaudioenc: Improve debugging of EOS and draining
6767 2011-11-10 14:54:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6769 * omx/gstomxvideoenc.c:
6770 omxvideoenc: Improve debugging of EOS and draining
6772 2011-11-10 14:51:06 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6774 * omx/gstomxvideodec.c:
6775 omxvideodec: Log if acquiring buffer for EOS failed
6777 2011-11-10 14:42:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6779 * omx/gstomxvideodec.c:
6780 omxvideodec: The component is not started in READY
6782 2011-11-10 14:39:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6784 * omx/gstomxaudioenc.c:
6785 omxaudioenc: No need to signal the drain cond when going from READY to PAUSED
6786 Also the component is not started in READY
6788 2011-11-10 14:40:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6790 * omx/gstomxvideoenc.c:
6791 omxvideoenc: No need to signal the drain cond when going from READY to PAUSED
6792 Also the component is not started in READY.
6794 2011-11-09 15:46:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6796 * omx/gstomxvideodec.c:
6797 omxvideodec: Always flush the ports and make sure no processing is happening in ::reset
6798 This fixes a race condition that happened when seeking
6799 very often in a short period of time.
6801 2011-11-09 15:45:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6803 * omx/gstomxvideodec.c:
6804 omxvideodec: Fix minor race condition when draining after upstream signalled EOS
6806 2011-11-09 15:44:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6808 * omx/gstomxvideodec.c:
6809 omxvideodec: Improve EOS handling
6810 If downstream return UNEXPECTED we should still signal the
6811 drain cond because nothing will trigger this again later.
6813 2011-11-09 15:43:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6815 * omx/gstomxvideodec.c:
6816 omxvideodec: Improve debugging of EOS and draining
6818 2011-11-09 15:42:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6820 * omx/gstomxvideodec.c:
6821 omxvideodec: The component is not started already when going from READY to PAUSED
6823 2011-11-09 15:42:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6825 * omx/gstomxvideodec.c:
6826 omxvideodec: No need to signal the drain cond when going from READY to PAUSED
6828 2011-11-09 15:41:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6831 omx: Always reset buffer flags for output ports, even in flushing/error state
6833 2011-11-09 09:00:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6835 * omx/gstomxvideodec.c:
6836 omxvideodec: Improve debugging in case of QoS-related frame drops
6838 2011-11-08 12:46:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6840 * omx/gstomxvideoenc.c:
6841 omxvideoenc: Release the video codec stream lock before acquiring an input buffer
6842 Otherwise the srcpad task might block on this lock and
6843 no buffers ever become available again.
6845 2011-11-08 12:45:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6847 * omx/gstomxaudioenc.c:
6848 omxaudioenc: Release the audio encoder stream lock before acquiring an input buffer
6849 Otherwise the srcpad task might block on this lock and
6850 no buffers ever become available again.
6852 2011-11-08 12:42:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6854 * omx/gstomxvideodec.c:
6855 omxvideodec: Release the video codec stream lock before acquiring an input buffer
6856 Otherwise the srcpad task might block on this lock and
6857 no buffers ever become available again.
6859 2011-11-08 11:07:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6861 * omx/gstomxaudioenc.c:
6862 * omx/gstomxaudioenc.h:
6863 omxaudioenc: Don't try to drain the component after EOS
6864 And don't send EOS twice in any case. This most likely
6865 will cause the component to not output it again and
6866 is not necessary anyway.
6868 2011-11-08 11:03:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6870 * omx/gstomxvideoenc.c:
6871 * omx/gstomxvideoenc.h:
6872 omxvideoenc: Don't try to drain the component after EOS
6873 And don't send EOS twice in any case. This most likely
6874 will cause the component to not output it again and
6875 is not necessary anyway.
6877 2011-11-08 10:46:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6879 * omx/gstomxvideodec.c:
6880 * omx/gstomxvideodec.h:
6881 omxvideodec: Don't try to drain the component after EOS
6882 And don't send EOS twice in any case. This most likely
6883 will cause the component to not output it again and
6884 is not necessary anyway.
6886 2011-11-08 09:09:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6888 * omx/gstomxvideodec.c:
6889 omxvideodec: Implement dropping of too late frames via QoS
6891 2011-11-08 08:31:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6893 * omx/gstomxaudioenc.c:
6894 omxaudioenc: Minor code refactoring
6896 2011-11-08 08:31:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6898 * omx/gstomxvideoenc.c:
6899 omxvideoenc: Minor code refactoring
6901 2011-11-08 08:31:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6903 * omx/gstomxvideodec.c:
6904 omxvideodec: Make sure to always release buffers back to OMX
6906 2011-11-08 08:24:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6909 omx: Also properly release buffers when in error state
6911 2011-11-08 08:22:08 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
6914 omx: Properly release buffers during flushing
6915 We can't pass them back to OMX_FillThisBuffer() or OMX_EmptyThisBuffer()
6916 but instead of doing nothing we have to put them back into our queue.
6917 Otherwise the buffer is leaked and we will have too few buffers in
6920 2011-11-07 14:00:47 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6922 * omx/gstomxvideodec.c:
6923 omxvideodec: Free pending frames after draining component
6925 2011-11-07 14:00:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6927 * omx/gstomxvideoenc.c:
6928 omxvideoenc: Free pending frames after draining the component
6930 2011-11-07 11:07:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6932 * omx/gstomxvideoenc.c:
6933 omxvideoenc: Make handling and usage of the base video codec frames threadsafe
6935 2011-11-07 11:05:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6937 * omx/gstomxvideoenc.c:
6938 omxvideoenc: Fix deadlock between srcpad stream lock and ::reset()
6940 2011-11-07 11:04:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6942 * omx/gstomxvideodec.c:
6943 omxvideoenc: Make handling and usage of the base video codec frames threadsafe
6945 2011-11-07 10:58:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6947 * omx/gstomxvideoenc.c:
6948 omxvideoenc: Free all pending frames after draining the component
6950 2011-11-07 10:58:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6952 * omx/gstomxvideodec.c:
6953 omxvideodec: Always free all pending frames when caps changes require reconfiguration
6955 2011-11-04 09:43:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6957 * omx/gstomxaudioenc.c:
6958 omxaudioenc: Only drain the component a single time and only after processing started
6960 2011-11-04 09:43:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6962 * omx/gstomxvideodec.c:
6963 omxvideodec: Only drain the component a single time and only after processing started
6965 2011-11-04 09:43:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6967 * omx/gstomxvideoenc.c:
6968 omxvideoenc: Only drain the component a single time and only after processing started
6970 2011-11-04 09:04:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6973 omx: Reset buffer flags to 0 after it was consumed by the component or the element
6974 Some implementations don't reset the flags and the standard is not
6975 really clear on the expected behaviour. Let's just always reset the
6976 flags as they're not valid at this point anymore.
6978 2011-11-02 13:50:14 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6980 * omx/gstomxvideoenc.c:
6981 * omx/gstomxvideoenc.h:
6982 omxvideoenc: Better handling of encoder parameters
6983 Only set them if necessary and allow to use the component
6986 2011-11-02 13:22:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6988 * omx/gstomxvideoenc.c:
6989 omxvideoenc: Make unsupported bitrate/quantizer settings less fatal
6991 2011-11-02 10:39:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6993 * omx/gstomxvideodec.c:
6994 omxvideodec: If no stride was set for the OMX output port assume GStreamer stride
6995 This is not really correct but there's nothing else we could do.
6997 2011-11-02 10:39:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6999 * omx/gstomxvideoenc.c:
7000 omxvideoenc: If no stride was set for the OMX input port assume GStreamer stride
7001 This is not really correct but there's nothing else we could do.
7003 2011-11-01 16:46:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7005 * omx/gstomxaudioenc.c:
7006 * omx/gstomxaudioenc.h:
7007 omxaudioenc: Implement draining of the component and use it
7008 This makes sure that all buffers are encoded and pushed downstream
7009 before flushing the ports and losing some buffers.
7011 2011-11-01 16:41:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7013 * omx/gstomxvideoenc.c:
7014 * omx/gstomxvideoenc.h:
7015 omxvideoenc: Implement draining of the component and use it
7016 This makes sure that all buffers are encoded and pushed downstream
7017 before flushing the ports and losing some buffers.
7019 2011-11-01 16:08:59 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7021 * omx/gstomxvideodec.c:
7022 * omx/gstomxvideodec.h:
7023 omxvideodec: Implement draining of the component and use it
7024 This makes sure that all buffers are decoded and pushed downstream
7025 before flushing the ports and losing some buffers.
7027 2011-10-20 14:32:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7029 * omx/gstomxvideodec.c:
7030 omxvideodec: Fix deadlock if ::reset is called before finding the corresponding frame of a decoded buffer
7032 2011-11-01 15:10:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7034 * omx/gstomxaudioenc.c:
7035 * omx/gstomxaudioenc.h:
7036 * omx/gstomxvideoenc.h:
7037 omxaudioenc: Forward downstream flow returns to upstream
7039 2011-11-01 15:10:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7041 * omx/gstomxvideoenc.c:
7042 omxvideoenc: Forward downstream flow returns to upstream
7044 2011-11-01 13:58:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7046 * omx/gstomxvideodec.c:
7047 * omx/gstomxvideodec.h:
7048 omxvideodec: Forward downstream flow returns to upstream
7050 2011-10-25 14:23:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7053 omx: Add minimal README file
7055 2011-10-20 15:21:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7057 * omx/gstomxvideodec.c:
7058 omxvideodec: Fix deadlock caused by calling reset while the loop function does something with the base video codec stream lock
7060 2011-10-20 15:20:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7062 * omx/gstomxvideoenc.c:
7063 omxvideoenc: Fix deadlock caused by calling reset while the loop function does something with the base video codec stream lock
7065 2011-10-20 14:30:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7067 * omx/gstomxvideodec.c:
7068 omxvideodec: Move locking at the correct place
7070 2011-10-14 10:27:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7074 omx: Remove QCOM hack to reset nOffset in EmptyBufferDone
7075 This is now done in a generic way that does not require any
7076 hacks because it will work without any side effects on any
7079 2011-10-14 10:26:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7082 omx: Reset nOffset to 0 in EmptyBufferDone if nFilledLen is 0
7083 Some OMX implementations don't reset nOffset when the complete
7084 buffer is emptied but instead only reset nFilledLen. We reset
7085 nOffset to 0 if nFilledLen == 0, which is safe to do because
7086 the offset *must* be 0 if the buffer is not filled at all.
7087 Seen in QCOM's OMX implementation.
7089 2011-10-04 10:56:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7091 * omx/gstomxvideoenc.c:
7092 omxvideoenc: If one parameter/configuration is not supported don't skip the next
7094 2011-10-03 09:12:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7096 * omx/gstomxh264dec.c:
7097 omxh264dec: Require stream-format=byte-stream
7098 Other stream-formats are unlikely to be supported by OMX components.
7100 2011-09-29 10:37:32 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7102 * omx/gstomxvideodec.c:
7103 * omx/gstomxvideodec.h:
7104 omxvideodec: Add API for subclasses to prepare/convert frames
7106 2011-09-27 15:08:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7108 * omx/gstomxaudioenc.c:
7109 omxaudioenc: Switch to Idle first and wait before switching to Loaded and deallocating buffers
7110 Allocating buffers before the Idle state is reached can lead to crashes.
7112 2011-09-27 15:08:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7114 * omx/gstomxvideoenc.c:
7115 omxvideoenc: Switch to Idle first and wait before switching to Loaded and deallocating buffers
7116 Allocating buffers before the Idle state is reached can lead to crashes.
7118 2011-09-27 15:05:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7120 * omx/gstomxvideodec.c:
7121 omxvideodec: Switch to Idle first and wait before switching to Loaded and deallocating buffers
7122 Allocating buffers before the Idle state is reached can lead to crashes.
7124 2011-09-27 14:15:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7128 * omx/gstomxvideodec.c:
7129 omxvideodec: New hack for QCOM to recreate the component instead of reconfiguring it on caps changes
7131 2011-09-27 12:13:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7134 omx: Change a g_assert() into a GST_WARNING_OBJECT()
7136 2011-09-26 13:04:18 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7140 omx: Add hack for Qualcomm's OMX implementation to manually reset nOffset in EmptyBufferDone
7142 2011-09-23 17:02:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7144 * omx/gstomxaudioenc.c:
7145 omxaudioenc: Add a check to prevent a zero-sized OMX buffer
7147 2011-09-23 17:02:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7149 * omx/gstomxvideoenc.c:
7150 omxvideoenc: Add some more checks for correct OMX buffer sizes
7152 2011-09-23 15:53:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7154 * omx/gstomxvideodec.c:
7155 omxvideodec: Add some more checks for OMX buffer sizes
7157 2011-09-14 10:15:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7161 * omx/gstomxaudioenc.c:
7162 * omx/gstomxvideodec.c:
7163 * omx/gstomxvideoenc.c:
7164 omx: Wait until the Executing state is reached before calling OMX_FillThisBuffer()
7165 This correctly works around the QCOM race condition that happens when calling
7166 FTB after setting the new state and before reaching it.
7168 2011-09-02 14:43:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7170 * omx/gstomxvideodec.c:
7171 omxvideodec: Negotiate video format with downstream and what the component claims to support
7173 2011-08-25 19:56:58 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
7175 * omx/gstbasevideoencoder.c:
7176 basevideoencoder: fix element leak
7177 and this concludes an hour of yelling at the bloody test failing,
7178 only to track down the problem not being in the test.
7179 https://bugzilla.gnome.org/show_bug.cgi?id=657368
7181 2011-08-19 09:20:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7183 * omx/gstomxvideoenc.c:
7184 omxvideoenc: Release basevideocodec stream lock while waiting for a buffer
7185 This prevents deadlocks if no empty input buffers are available and
7186 releasing input buffers requires the loop function to handle some
7187 output buffers first.
7189 2011-08-19 09:19:22 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7191 * omx/gstomxvideodec.c:
7192 omxvideodec: Release basevideocodec stream lock while waiting for a buffer
7193 This prevents deadlocks if no empty input buffers are available and
7194 releasing input buffers requires the loop function to handle some
7195 output buffers first.
7197 2011-08-18 10:24:26 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7199 * omx/gstbasevideodecoder.c:
7200 basevideodecoder: Fix deadlock
7202 2011-08-18 10:03:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7204 * omx/gstbaseaudiodecoder.c:
7205 baseaudiodecoder: Don't take the stream lock in the seek handler
7206 This will lead to deadlocks
7208 2011-08-18 10:02:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7210 * omx/gstbasevideocodec.c:
7211 * omx/gstbasevideocodec.h:
7212 * omx/gstbasevideodecoder.c:
7213 * omx/gstbasevideoencoder.c:
7214 basevideo: Fix locking, especially if both pads have different streaming threads
7216 2011-08-18 09:42:02 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7218 * omx/gstbasevideodecoder.c:
7219 * omx/gstbasevideoencoder.c:
7220 basevideo: Don't call g_type_class_peek_parent() in class_init
7221 This is already done by the GObject boilerplate macro
7223 2011-08-18 09:40:46 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7225 * omx/gstbaseaudiodecoder.c:
7226 baseaudiodecoder: Don't call g_type_class_peek_parent() in class_init
7227 This is already done by the boilerplate macro
7229 2011-08-18 09:34:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7231 * omx/gstbaseaudiodecoder.c:
7232 * omx/gstbaseaudiodecoder.h:
7233 baseaudiodecoder: Fix thread safety issues if both pads have different streaming threads
7235 2011-08-18 09:17:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7237 * omx/gstbaseaudiodecoder.c:
7238 baseaudiodecoder: Delay sending of serialized events to finish_frame()
7240 2011-08-17 14:33:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7242 * omx/gstomxaudioenc.c:
7243 omxaudioenc: Always require at least OMX_MIN_PCMPAYLOAD_MSEC per input buffer
7245 2011-08-17 14:28:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7247 * omx/gstbaseaudioencoder.c:
7248 * omx/gstbaseaudioencoder.h:
7249 baseaudioencoder: Add support for requesting a minimum and maximum number of samples per frame
7250 This extends the special case of a fixed number of samples per frame
7251 that was supported before already.
7253 2011-08-17 14:17:18 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7255 * omx/gstomxaudioenc.c:
7256 omxaudioenc: Handle inbuf==NULL properly in ::handle_frame()
7258 2011-08-17 13:04:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7260 * omx/gstomxaacenc.c:
7261 omxaacenc: Implement ::get_num_samples() vfunc
7263 2011-08-17 13:03:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7265 * omx/gstomxaudioenc.c:
7266 * omx/gstomxaudioenc.h:
7267 omxaudioenc: Add vfunc to get the number of samples inside a buffer
7269 2011-08-17 11:34:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7271 * omx/gstomxaudioenc.c:
7272 omxaudioenc: Release baseaudioencoder stream lock while waiting for a buffer in ::handle_frame()
7273 This prevents deadlocks if no empty input buffers are available and
7274 releasing input buffers requires the loop function to handle some
7275 output buffers first.
7277 2011-08-17 11:34:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7279 * omx/gstbaseaudioencoder.c:
7280 * omx/gstbaseaudioencoder.h:
7281 baseaudioencoder: Fix thread safety issues if both pads have different streaming threads
7283 2011-08-17 09:58:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7285 * omx/gstbaseaudioencoder.c:
7286 baseaudioencoder: Taking the OBJECT lock in reset() is not needed
7288 2011-08-16 11:03:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7290 * omx/gstomxaudioenc.c:
7291 omxaudioenc: Remove hack that only applies to the video encoder class
7293 2011-08-16 10:49:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7298 * omx/gstomxaacenc.c:
7299 * omx/gstomxaacenc.h:
7300 omxaacenc: Add initial version of OpenMAX AAC encoder element
7302 2011-08-15 15:10:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7305 * omx/gstomxaudioenc.c:
7306 * omx/gstomxaudioenc.h:
7307 omxaudioenc: Add initial version of audio encoder base class
7309 2011-08-15 14:14:11 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7311 * omx/gstbaseaudioencoder.c:
7312 baseaudioencoder: Delay sending of serialized events to finish_frame()
7314 2011-08-15 13:06:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7317 * omx/gstbaseaudiodecoder.c:
7318 * omx/gstbaseaudiodecoder.h:
7319 * omx/gstbaseaudioencoder.c:
7320 * omx/gstbaseaudioencoder.h:
7321 audio: Integrate audio base classes into the build system and fixup
7323 2011-08-15 12:56:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7325 * omx/gstbaseaudiodecoder.c:
7326 * omx/gstbaseaudiodecoder.h:
7327 * omx/gstbaseaudioencoder.c:
7328 * omx/gstbaseaudioencoder.h:
7329 * omx/gstbaseaudioutils.c:
7330 * omx/gstbaseaudioutils.h:
7331 audio: Add audio decoder/encoder base classes
7332 Taken from http://cgit.collabora.com/git/user/manauw/gst-plugins-bad.git/log/?h=baseaudio
7334 2011-08-12 12:25:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7336 * omx/gstbasevideoencoder.c:
7337 basevideoencoder: Proxy the width/height/framerate/PAR constraints of downstream caps to upstream
7338 This allows to specify constraints on the compressed downstream caps
7339 by muxers or capsfilters, which will then be forwarded to upstream
7340 and allows video converters to fulfill the constraints.
7341 Code based on Mark Nauwelaerts audio encoder base class.
7343 2011-08-12 12:13:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7345 * omx/gstbasevideoencoder.h:
7346 basevideoencoder: Remove old ::getcaps() comment
7348 2011-08-12 12:06:23 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7350 * omx/gstbasevideoencoder.c:
7351 * omx/gstbasevideoencoder.h:
7352 basevideoencoder: Remove ::get_caps() vfunc
7353 Subclasses can set the caps more efficiently and this only
7354 caused additional indirections.
7356 2011-08-10 10:24:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7358 * omx/gstomxh263enc.c:
7359 * omx/gstomxh264enc.c:
7360 * omx/gstomxmpeg4videoenc.c:
7361 * omx/gstomxvideoenc.c:
7362 omxvideoenc: Use "video/x-raw-yuv" as sink template caps instead of strict I420 caps
7364 2011-08-10 10:23:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7366 * omx/gstomxmpeg4videodec.c:
7367 omxmpeg4videodec: Don't require width/height on sink pad caps
7369 2011-08-10 10:11:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7371 * omx/gstomxh263dec.c:
7372 * omx/gstomxh264dec.c:
7373 * omx/gstomxmpeg4videodec.c:
7374 * omx/gstomxvideodec.c:
7375 * omx/gstomxwmvdec.c:
7376 omxvideodec: Use "video/x-raw-yuv" as src template caps instead of strict I420 caps
7378 2011-08-10 09:56:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7380 * omx/gstomxvideoenc.c:
7381 omxvideoenc: Set the state back to StateLoaded even if an error happened
7383 2011-08-10 09:49:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7386 omx: Don't hold any locks while calling OMX_SendCommand()
7387 It might call into one of the callbacks and lead to deadlocks, e.g.
7388 with the Qualcomm OMX implementation.
7390 2011-08-10 09:32:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7395 2011-08-10 09:23:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7398 omx: Reset pending reconfigure output ports when changing the state from Executing to any lower state
7400 2011-08-10 09:08:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7403 omx: Fix crash when setting last error after the ports were freed
7405 2011-08-10 09:03:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7408 omx: Free component structure
7410 2011-08-10 09:02:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7413 omx: Make component destruction safer
7415 2011-08-10 08:53:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7418 omx: Set pAppPrivate of buffers to NULL when deallocating buffers
7419 This prevents usage of freed memory later if the OMX component
7420 has weird behaviour.
7422 2011-08-10 08:52:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7424 * omx/gstomxvideodec.c:
7425 omxvideodec: Set the state back to StateLoaded even if an error happened
7427 2011-08-10 08:51:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7430 omx: Add some assertions to check if the buffer pAppPrivate is still correct
7432 2011-08-08 13:04:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7435 omx: Add parenthesis at correct places in the struct init macro
7437 2011-08-08 12:12:58 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7440 omx: Only prevent setting a higher state if the component is in an error state
7442 2011-08-03 16:02:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7444 * omx/gstbasevideodecoder.c:
7445 basevideodecoder: Use the cached video frame size instead of recalculating it
7447 2011-08-03 15:35:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7450 omx: Improve debugging in param/config getter/setter wrappers
7452 2011-08-03 13:10:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7454 * omx/gstomxvideodec.c:
7455 omxvideodec: Don't abort if the color format is not supported but give a useful error message
7457 2011-08-02 15:14:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7459 * omx/gstomxh263enc.c:
7460 * omx/gstomxh264enc.c:
7461 * omx/gstomxmpeg4videoenc.c:
7462 * omx/gstomxvideoenc.c:
7463 omxvideoenc: Don't fail if setting the bitrate or profile is not supported by the component
7464 Also always set/get the profile, even if there are no peer caps.
7466 2011-08-02 15:14:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7468 * omx/gstbasevideoencoder.c:
7469 basevideoencoder: Make access to the list of frames threadsafe
7471 2011-08-01 13:22:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7475 omx: Add a hacks flag for the Qualcomm 7x30 OMX_FillThisBuffer() race and make it optional
7477 2011-07-29 13:56:59 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7480 omx: Add workaround for QCOM 7x30 race condition
7482 2011-07-29 12:06:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7486 * omx/gstomxh263enc.c:
7487 * omx/gstomxh263enc.h:
7488 omxh263enc: Add H.263 encoder element
7490 2011-07-29 11:26:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7492 * omx/gstomxmpeg4videoenc.c:
7493 omxmpeg4videoenc: Add support for setting profile/level via caps
7495 2011-07-28 14:14:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7497 * omx/gstomxh264enc.c:
7498 omxh264enc: Add support for setting profile/level via caps
7500 2011-07-28 12:58:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7502 * omx/gstomxvideoenc.c:
7503 omxvideoenc: Add support for forcing the next frame to be a keyframe
7505 2011-07-28 11:54:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7507 * omx/gstomxvideoenc.c:
7508 * omx/gstomxvideoenc.h:
7509 omxvideoenc: Add support for setting bitrate/quantization related parameters
7511 2011-07-28 10:23:08 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7515 omx: Add wrapper functions for OMX_[GS]et{Config,Parameter}
7517 2011-07-28 09:54:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7521 omx: Add macro to initialize OpenMAX structures
7523 2011-07-28 09:08:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7525 * omx/gstomxvideoenc.c:
7526 omxvideoenc: Don't output 0-byte buffers
7528 2011-07-25 15:05:08 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7531 omx: Ensure that the pAppPrivate pointer in OMX buffers is set correctly
7533 2011-07-25 13:19:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7535 * omx/gstomxvideodec.c:
7536 * omx/gstomxvideoenc.c:
7537 omxvideo{enc,dec}: Only set/unset flushing state on ports if they were created already
7539 2011-07-25 12:01:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7543 * omx/gstomxwmvdec.c:
7544 * omx/gstomxwmvdec.h:
7545 omxwmvdec: Add WMV video decoder element
7547 2011-07-25 11:44:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7551 * omx/gstomxh263dec.c:
7552 * omx/gstomxh263dec.h:
7553 omxh263dec: Add H.263 decoder element
7555 2011-07-25 11:32:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7559 * omx/gstomxh264enc.c:
7560 * omx/gstomxh264enc.h:
7561 omxh264enc: Add H.264 encoder element
7563 2011-07-25 10:48:58 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7565 * omx/gstomxvideodec.c:
7566 omxvideodec: Try harder to deallocate the buffers after errors happened
7568 2011-07-25 10:47:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7570 * omx/gstomxvideoenc.c:
7571 omxvideoenc: Try harder to deallocate the buffers after errors happened
7573 2011-07-25 10:46:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7576 omx: Deallocate port buffers before freeing the component
7577 They should be deallocated by the caller before reaching the
7578 Loaded state but to be on the safe side we will make sure
7579 they're really deallocated here.
7581 2011-07-21 11:15:14 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7583 * omx/gstomxvideoenc.c:
7584 omxvideoenc: Add initial support for stride conversion
7586 2011-07-21 10:38:26 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7588 * omx/gstomxh264dec.c:
7589 * omx/gstomxmpeg4videodec.c:
7590 * omx/gstomxmpeg4videoenc.c:
7591 omx: Set default roles for the components if none were set from the config file
7593 2011-07-21 10:36:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7596 omx: Failure to set the component role is fatal
7598 2011-07-21 07:53:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7600 * omx/gstomxvideoenc.c:
7601 omxvideoenc: Add support for setting codec_data on the srcpad caps
7603 2011-07-21 07:44:34 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7605 * omx/gstomxvideoenc.c:
7606 omxvideoenc: Free/drop GstVideoFrames that resulted in an empty buffer
7608 2011-07-21 07:44:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7610 * omx/gstbasevideoencoder.c:
7611 basevideoencoder: Allow finishing of frames with no src_buffer to drop/free the GstVideoFrame
7613 2011-07-21 07:31:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7615 * omx/gstomxvideoenc.c:
7616 omxvideoenc: Remove obsolete TODO comment
7618 2011-07-20 11:09:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7622 omx: Use libgstopenmax.so for the plugin filename and openmax for the plugin name
7623 Resolves conflicts with gst-openmax.
7625 2011-07-20 08:34:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7631 * omx/gstomxmpeg4videoenc.c:
7632 * omx/gstomxmpeg4videoenc.h:
7633 * omx/gstomxvideoenc.c:
7634 * omx/gstomxvideoenc.h:
7635 omxvideoenc: Add video encoder base class and MPEG4 video encoder
7636 Unfortunately requires lots of hacks again to work properly with
7639 2011-07-20 10:39:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7641 * omx/gstbasevideoencoder.c:
7642 basevideoencoder: Only get caps from the subclass if they were not set yet by the subclass
7644 2011-07-20 09:25:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7646 * omx/gstbasevideoencoder.c:
7647 * omx/gstbasevideoencoder.h:
7648 basevideoencoder: Delay sending of serialized sink events until finish_frame()
7650 2011-07-20 09:09:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7652 * omx/gstbasevideoencoder.c:
7653 * omx/gstbasevideoencoder.h:
7654 basevideoencoder: Add ::reset vfunc and handle ::reset/::finish the same way as in the decoder
7656 2011-07-19 12:50:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7658 * omx/gstbasevideoencoder.c:
7659 basevideoencoder: Use a temporary GstVideoState until the subclass accepted the caps
7660 Also store the caps in the GstVideoState and assume a PAR of 1/1 instead
7661 of 0/1 if no PAR is specified in the caps.
7663 2011-07-19 12:29:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7666 * omx/gstomxvideodec.c:
7667 omx: Improve debug output a bit
7669 2011-07-19 10:33:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7673 * omx/gstomxvideodec.c:
7674 omx: Rework port reconfiguration again and only use the Bellagio specific hacks with Bellagio
7675 We only reconfigure ports that need to be reconfigured now instead of
7678 2011-07-19 10:33:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7683 * omx/gstomxvideodec.c:
7684 * omx/gstomxvideodec.h:
7685 omx: Add infrastructure to enable special hacks for broken OpenMAX implementations
7687 2011-07-18 13:10:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7690 omx: When acquiring a buffer from an input port always wait until all output ports are reconfigured
7692 2011-07-18 08:41:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7694 * omx/gstomxvideodec.c:
7695 omxvideodec: Add support for converting between omx and gst rowstrides
7697 2011-07-14 10:34:09 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7700 omx: Provide all buffers to output ports after enabling them
7702 2011-07-14 08:29:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7704 * omx/gstomxvideodec.c:
7705 omxvideodec: Add support for NV12 / OMX_COLOR_FormatYUV420SemiPlanar
7707 2011-07-14 07:58:41 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7709 * omx/gstomxvideodec.c:
7710 * omx/gstomxvideodec.h:
7711 omxvideodec: Only flush the component ports after we passed input to them
7713 2011-07-13 21:19:34 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7715 * omx/gstomxvideodec.c:
7716 omxvideodec: Only change states downwards if an upper state was reached
7718 2011-07-13 20:37:02 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7722 * omx/gstomxvideodec.c:
7723 * omx/gstomxvideodec.h:
7724 omx: Add support for setting the component-role
7726 2011-07-13 20:22:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7730 * omx/gstomxvideodec.c:
7731 omx: Improve error reporting by formatting the error codes better and also providing their string representation
7733 2011-07-13 14:36:14 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7736 build: Dist autogen.sh
7738 2011-07-13 14:35:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7742 build: Only require GStreamer >= 0.10.29 and GLib >= 2.16
7744 2011-07-13 14:04:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7747 build: Dist gstomx.conf
7749 2011-07-13 14:04:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7752 build: Clean _stdint.h on "make distclean"
7754 2011-07-13 14:02:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7756 * omx/gstomxvideodec.c:
7757 omxvideodec: Fix typo
7759 2011-07-13 13:59:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7764 2011-07-13 12:46:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7766 * omx/gstomxvideodec.c:
7767 omxvideodec: Set SYNCFRAME flag on the OMX buffers for non-delta units
7769 2011-07-13 12:37:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7771 * omx/gstomxvideodec.c:
7772 omxvideodec: Free all pending frames when resetting the decoder
7773 Workaround for https://bugzilla.gnome.org/show_bug.cgi?id=654529
7775 2011-07-13 09:59:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7777 * omx/gstomxvideodec.c:
7778 omxvideodec: Handle output buffers without a corresponding GstVideoFrame more gracefully
7779 This can happen on EOS in some cases and when the input is not
7782 2011-07-13 09:31:22 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7784 * omx/gstomxvideodec.c:
7785 omxvideodec: Fix deadlock when finishing old frames that are left over by the decoder
7787 2011-07-12 11:37:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7789 * omx/gstomxh264dec.c:
7790 omxh264dec: It's called H.264, not H264
7792 2011-07-12 11:36:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7794 * omx/gstomxh264dec.c:
7795 * omx/gstomxmpeg4videodec.c:
7796 * omx/gstomxvideodec.c:
7797 * omx/gstomxvideodec.h:
7798 omxvideodec: Make sink/src pad template caps configurable
7800 2011-07-12 11:13:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7803 omx: Allow to set a preferred configuration directory with the GST_OMX_CONFIG_DIR environment variable
7805 2011-07-12 10:55:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7807 * omx/gstomxh264dec.c:
7808 * omx/gstomxmpeg4videodec.c:
7809 * omx/gstomxvideodec.c:
7810 omxvideodec: Make core/component-name and in/outport index configurable
7812 2011-07-12 10:05:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7817 omx: Add initial version of configuration system
7818 This now only registers elements that are specified in the
7820 The configuration file is a keyfile in the first XDG configuration
7821 directory with the name gstomx.conf.
7823 2011-07-12 08:53:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7827 * omx/gstomxh264dec.c:
7828 * omx/gstomxh264dec.h:
7829 * omx/gstomxh264videodec.h:
7830 omxh264dec: Rename from omxh264videodec to omxh264dec
7832 2011-07-12 08:40:48 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7834 * omx/gstomxh264videodec.c:
7835 omxh264videodec: Require alignment=au and stream-format={avc,bytestream}
7837 2011-07-11 12:59:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7839 * omx/gstbasevideodecoder.c:
7840 basevideodecoder: First inform subclass about resetting before resetting/freeing all internal state
7841 The subclass might want to access the old state.
7843 2011-07-11 12:36:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7845 * omx/gstbasevideodecoder.c:
7846 basevideodecoder: Track present position on discont before resetting it
7848 2011-07-11 11:52:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7850 * omx/gstbasevideodecoder.c:
7851 basevideodecoder: Also protect the list of pending frames from concurrent access when pushing all pendings events
7853 2011-07-11 11:28:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7855 * omx/gstbasevideocodec.c:
7856 * omx/gstbasevideocodec.h:
7857 * omx/gstbasevideodecoder.c:
7858 basevideocodec: Protect access to the list of pending frames with the object lock
7859 This is required if ::finish_frame() and all buffer output happens
7860 on a different thread than the sinkpad streaming thread.
7862 2011-07-11 09:35:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7864 * omx/gstbasevideodecoder.c:
7865 basevideodecoder: Set the correct lists to NULL after freeing
7867 2011-07-11 08:54:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7869 * omx/gstbasevideodecoder.c:
7870 basevideodecoder: Work with a copy of the GstVideoState in setcaps until the caps are accepted
7871 Also fix a refcount problem with the codec_data.
7873 2011-07-12 08:34:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7877 * omx/gstomxh264videodec.c:
7878 * omx/gstomxh264videodec.h:
7879 omxh264videodec: Add h.264 video decoder
7881 2011-07-12 08:29:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7883 * omx/gstomxmpeg4videodec.c:
7884 omxmpeg4videodec: Fix debug category name
7886 2011-07-09 11:41:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7889 * omx/gstbasevideocodec.h:
7890 * omx/gstbasevideodecoder.c:
7891 * omx/gstbasevideoencoder.c:
7892 * omx/gstbasevideoutils.c:
7893 * omx/gstbasevideoutils.h:
7894 basevideo: Move the utils from the codec header to its own header
7896 2011-07-09 11:32:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7898 * omx/gstbasevideocodec.c:
7899 * omx/gstbasevideodecoder.c:
7900 basevideo: Use GSlice for allocating GstVideoFrame and don't duplicate code in the decoder base class
7902 2011-07-09 11:05:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7904 * omx/gstomxvideodec.c:
7905 omxvideodec: Use the destroy notify to free the coder_hook
7907 2011-07-09 10:57:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7909 * omx/gstbasevideocodec.c:
7910 * omx/gstbasevideocodec.h:
7911 * omx/gstbasevideodecoder.c:
7912 basevideo: Add destroy notify for the coder_hook to prevent memory leaks
7915 2011-07-09 10:44:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7918 basevideo: Fix GType names to not conflict with the public video base classes
7919 It's still not possible to include headers of both in the same file
7920 or compile/link both into the same plugin but that shouldn't be
7923 2011-07-08 15:42:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7925 * omx/gstomxvideodec.c:
7926 omxvideodec: Fix some minor memory leaks
7928 2011-07-08 15:25:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7932 * omx/gstomxvideodec.c:
7933 omx: Rework port reconfiguration
7934 We always reconfigure all ports now if the settings of one
7935 port changes to prevent lots of race conditions, dropped
7936 frames and similar issues.
7938 2011-07-08 13:16:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7940 * omx/gstomxvideodec.c:
7941 * omx/gstomxvideodec.h:
7942 omxvideodec: Use the frames storage of the base class instead of implementing our own
7943 They could get out of sync and we could store already destroyed frames.
7945 2011-07-07 12:51:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7948 omx: Clarify GQueue/GPtrArray element types
7950 2011-07-07 12:23:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7954 * omx/gstomxvideodec.c:
7955 omx: Add more checks to acquire_buffer() and return the current state additional to the buffer
7956 Also refactor the code flow in the video decoder for this. This makes
7957 the usage of acquire_buffer() easier and more atomic.
7959 2011-07-07 12:22:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7961 * omx/gstomxvideodec.c:
7962 omxvideodec: Also flush/unflush the input port when changing the state PAUSED<->READY
7964 2011-07-07 12:21:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7967 omx: Don't broadcast port->port_cond after allocating buffers successfully
7968 Allocating buffers must happen while no thread is waiting for the
7969 cond and especially must happen from the thread that would acquire
7970 buffers from the port.
7972 2011-07-07 11:27:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7974 * omx/gstomxvideodec.c:
7975 omxvideodec: Don't leak the codec_data after sending it
7977 2011-07-07 10:27:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7980 omx: Always check if the component is in an error state before waiting for a condition variable to be signalled
7981 Otherwise we might wait forever because nothing is going to signal
7982 the condition variable anymore.
7984 2011-07-07 10:22:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7987 omx: Always hold port->port_lock before signalling port->port_cond when notifying about errors
7988 Otherwise a port might be in the critical section, has checked the error state
7989 already but waits after port->port_cond is signalled, which will lead
7992 2011-07-07 10:07:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7994 * omx/gstomxvideodec.c:
7995 omxvideodec: Remove reconfiguration test hack
7997 2011-07-06 13:27:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8000 omx: Improve debug output a bit
8002 2011-07-06 13:26:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8005 omx: Always try to deallocate buffers, even if there's a component error
8007 2011-07-06 13:26:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8010 omx: Use G_USEC_PER_SEC for clarity instead of 1000000
8012 2011-07-06 13:19:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8014 * omx/gstomxvideodec.c:
8015 omxvideodec: Error out if the GStreamer allocated buffer is smaller than the OpenMAX output buffer
8016 Usually this must never happen but currently it happens during reconfigurations
8017 because of a race condition. Still it's better than crashing.
8019 2011-07-06 10:40:13 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8023 omx: Don't use port_def.bEnabled to check if the Enable/Disable command is finished
8024 bEnabled should be set immediately after sending the command, it's only
8025 Bellagio that waits until the command is finished before setting it.
8027 2011-07-06 10:30:11 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8029 * omx/gstomxvideodec.c:
8030 omxvideodec: Remove obsolete FIXME comment
8032 2011-07-06 10:29:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8036 omx: Improve error handling and reporting
8038 2011-07-06 08:48:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8040 * omx/gstomxmpeg4videodec.c:
8041 * omx/gstomxvideodec.c:
8042 * omx/gstomxvideodec.h:
8043 omxvideodec: Make the inport and outport index configurable by the subclass
8045 2011-06-28 08:51:23 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8050 * omx/gstomxmpeg4videodec.c:
8051 * omx/gstomxmpeg4videodec.h:
8052 * omx/gstomxvideodec.c:
8053 * omx/gstomxvideodec.h:
8054 omx: Add initial version of OpenMAX framework, video decoder base class and MPEG4 video decoder
8055 This currently hardcodes a lot of stuff but works at least.
8056 Also adds a generic framework for handling OpenMAX cores, components
8059 2011-06-28 11:47:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8061 * omx/gstbasevideocodec.c:
8062 * omx/gstbasevideocodec.h:
8063 * omx/gstbasevideodecoder.c:
8064 * omx/gstbasevideodecoder.h:
8065 basevideodecoder: Don't reorder serialized src events
8066 And allow to drop EOS by the subclass if ::finish returns
8070 2011-06-27 09:41:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8072 * omx/gstbasevideocodec.c:
8073 * omx/gstbasevideocodec.h:
8074 * omx/gstbasevideodecoder.c:
8075 basevideo: Add the caps to the GstVideoState and clean up caps/codec_data properly
8077 2011-06-27 09:37:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8079 * omx/gstbasevideocodec.c:
8080 * omx/gstbasevideocodec.h:
8081 * omx/gstbasevideodecoder.c:
8082 * omx/gstbasevideodecoder.h:
8083 * omx/gstbasevideoencoder.c:
8084 * omx/gstbasevideoencoder.h:
8085 * omx/gstbasevideoutils.c:
8086 basevideo: Add video encoder/decoder base classes from gst-plugins-bad
8088 2011-06-21 11:17:35 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8090 * omx/openmax/OMX_Audio.h:
8091 * omx/openmax/OMX_Component.h:
8092 * omx/openmax/OMX_ComponentExt.h:
8093 * omx/openmax/OMX_ContentPipe.h:
8094 * omx/openmax/OMX_Core.h:
8095 * omx/openmax/OMX_CoreExt.h:
8096 * omx/openmax/OMX_IVCommon.h:
8097 * omx/openmax/OMX_Image.h:
8098 * omx/openmax/OMX_Index.h:
8099 * omx/openmax/OMX_IndexExt.h:
8100 * omx/openmax/OMX_Other.h:
8101 * omx/openmax/OMX_Types.h:
8102 * omx/openmax/OMX_Video.h:
8103 * omx/openmax/OMX_VideoExt.h:
8104 openmax: Add OpenMAX IL 1.1.2 headers