1 2022-09-21 19:19:45 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
4 meson: Use implicit builtin dirs in pkgconfig generation
5 Starting with Meson 0.62, meson automatically populates the variables
6 list in the pkgconfig file if you reference builtin directories in the
7 pkgconfig file (whether via a custom pkgconfig variable or elsewhere).
8 We need this, because ${prefix}/libexec is a hard-coded value which is
9 incorrect on, for example, Debian.
10 Bump requirement to 0.62, and remove version compares that retained
11 support for older Meson versions.
12 Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1245
13 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3061>
15 2021-03-24 14:20:18 -0500 Zebediah Figura <z.figura12@gmail.com>
18 meson: Build with -Wl,-z,nodelete to prevent unloading of dynamic libraries and plugins
19 GLib made the unfortunate decision to prevent libgobject from ever being
20 unloaded, which means that now any library which registers a static type
21 can't ever be unloaded either (and any library that depends on those,
23 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/778>
25 2022-09-01 11:51:48 -0400 Thibault Saunier <tsaunier@igalia.com>
28 meson: Namespace the plugins_doc_dep/libraries variables
29 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
31 2022-06-29 10:55:13 +0100 Tim-Philipp Müller <tim@centricular.com>
34 coding style: allow declarations after statement
35 See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1243/
36 and https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/78
37 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2683>
39 2022-04-06 12:56:30 +0100 Tim-Philipp Müller <tim@centricular.com>
42 Bump GLib requirement to >= 2.62
43 Can't require 2.64 yet because of
44 https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/323
45 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2568>
47 2022-03-30 11:06:02 -0400 Xavier Claessens <xavier.claessens@collabora.com>
50 Use gmodule-no-export-2.0
51 We don't need `-Wl,--export-dynamic`, that's used only for executables
52 that needs to export an API to be used by plugins they load.
53 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
55 2022-03-25 15:00:20 -0400 Xavier Claessens <xavier.claessens@collabora.com>
59 * tests/check/meson.build:
61 Remove glib and gobject dependencies everywhere
62 They are part of gst_dep already and we have to make sure to always have
63 gst_dep. The order in dependencies matters, because it is also the order
64 in which Meson will set -I args. We want gstreamer's config.h to take
65 precedence over glib's private config.h when it's a subproject.
66 While at it, remove useless fallback args for gmodule/gio dependencies,
67 only gstreamer core needs it.
68 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
70 2022-03-18 13:42:27 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
73 meson: Bump all meson requirements to 0.60
74 Lots of new warnings ever since
75 https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1934
76 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1977>
78 2022-02-21 11:37:26 -0500 Xavier Claessens <xavier.claessens@collabora.com>
82 devenv: Add some missing GStreamer specific env variables
83 This should make "meson devenv" closer to what "gst-env.py" sets.
84 - GST_VALIDATE_SCENARIOS_PATH
85 - GST_VALIDATE_APPS_DIR
87 - GST_ENCODING_TARGET_PATH
92 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1768>
94 2022-02-04 11:15:47 +0000 Tim-Philipp Müller <tim@centricular.com>
98 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1635>
100 === release 1.20.0 ===
102 2022-02-03 19:53:25 +0000 Tim-Philipp Müller <tim@centricular.com>
111 2022-02-03 19:53:18 +0000 Tim-Philipp Müller <tim@centricular.com>
114 Update ChangeLogs for 1.20.0
116 === release 1.19.90 ===
118 2022-01-28 14:28:35 +0000 Tim-Philipp Müller <tim@centricular.com>
127 2022-01-28 14:28:28 +0000 Tim-Philipp Müller <tim@centricular.com>
130 Update ChangeLogs for 1.19.90
132 2022-01-05 02:07:59 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
135 meson: Add explicit check: kwarg to all run_command() calls
136 This is required since Meson 0.61.0, and causes a warning to be
138 https://github.com/mesonbuild/meson/commit/2c079d855ed87488bdcc6c5c06f59abdb9b85b6c
139 https://github.com/mesonbuild/meson/issues/9300
140 This exposed a bunch of places where we had broken run_command()
141 calls, unnecessary run_command() calls, and places where check: true
143 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1507>
145 2021-11-03 18:44:03 +0000 Tim-Philipp Müller <tim@centricular.com>
150 === release 1.19.3 ===
152 2021-11-03 15:43:36 +0000 Tim-Philipp Müller <tim@centricular.com>
161 2021-11-03 15:43:32 +0000 Tim-Philipp Müller <tim@centricular.com>
164 Update ChangeLogs for 1.19.3
166 2021-10-18 15:47:00 +0100 Tim-Philipp Müller <tim@centricular.com>
168 * tests/check/meson.build:
169 meson: update for meson.build_root() and .build_source() deprecation
170 -> use meson.project_build_root() or .global_build_root() instead.
171 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1183>
173 2021-10-18 00:40:14 +0100 Tim-Philipp Müller <tim@centricular.com>
177 * tests/check/meson.build:
178 meson: update for dep.get_pkgconfig_variable() deprecation
179 ... in favour of dep.get_variable('foo', ..) which in some
180 cases allows for further cleanups in future since we can
181 extract variables from pkg-config dependencies as well as
182 internal dependencies using this mechanism.
183 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1183>
185 2021-10-14 18:38:26 +0100 Tim-Philipp Müller <tim@centricular.com>
188 meson: bump meson requirement to >= 0.59
189 For monorepo build and ugly/bad, for advanced feature
190 option API like get_option('xyz').required(..) which
191 we use in combination with the 'gpl' option.
192 For rest of modules for consistency (people will likely
193 use newer features based on the top-level requirement).
194 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1084>
196 2021-09-28 10:11:15 +1000 Brad Hards <bradh@frogmouth.net>
199 doc: update IRC links to OFTC
200 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/945>
202 2021-09-26 01:07:02 +0100 Tim-Philipp Müller <tim@centricular.com>
206 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/925>
208 === release 1.19.2 ===
210 2021-09-23 01:36:02 +0100 Tim-Philipp Müller <tim@centricular.com>
219 2021-07-09 15:14:15 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
221 * omx/gstomxvideodec.c:
222 omxvideodec: fix OMX flags on header buffer
223 The header (SPS/PPS) buffer should have the CODECONFIG flag
224 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/49>
226 2021-07-09 14:52:59 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
228 * omx/gstomxvideodec.c:
229 omxvideodec: allow to start decoder on HEADER buffer
230 If the headers are sent in their own buffer
231 it won't have the SYNC_FRAME flag but we still
232 do want to start decoding rather than dropping it.
233 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/49>
235 2018-09-06 21:56:57 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
238 * omx/gstomxh264dec.c:
239 * omx/gstomxh265dec.c:
240 * omx/gstomxvideodec.c:
241 omxh26xdec: videodecoder support subframe
242 Use of subframe API from videodecoder base class.
243 This subframe allows to decode subframe instead of
244 waiting for a whole frame.
245 The subframe uses the same frame over the whole
246 subframe passing process and will wait
247 for a signal to know the last subframe.
248 In this implementation it will use
249 GST_VIDEO_BUFFER_FLAG_MARKER as the
250 end of batch of subframes.
251 This implement subframe mode negotation for the Zynq based on caps
252 negotation. This mode can be combined with low-latency mode, in order to
253 reach the lowest possible latency (assuming the stream is within the
254 low-latency constraints for the HW).
255 ... ! video/x-h264,alignment=nal ! omxh264dec ! ...
256 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/49>
258 2021-06-01 15:29:18 +0100 Tim-Philipp Müller <tim@centricular.com>
263 === release 1.19.1 ===
265 2021-06-01 00:16:41 +0100 Tim-Philipp Müller <tim@centricular.com>
274 2020-11-04 18:48:13 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
277 meson: Enable some MSVC warnings for parity with GCC/Clang
278 This makes it easier to do development with MSVC by making it warn
279 on common issues that GCC/Clang error out for in our CI configuration.
280 Continuation from https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/223
281 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/75>
283 2020-10-16 12:45:09 +0200 Stéphane Cerveau <scerveau@collabora.com>
285 * examples/egl/testegl.c:
287 meson: update glib minimum version to 2.56
288 In order to support the symbol g_enum_to_string in various
289 project using GStreamer ( gst-validate etc.), the glib minimum
290 version should be 2.56.0.
291 Remove compat code as glib requirement
293 Version used by Ubuntu 18.04 LTS
294 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/74>
296 2020-10-05 12:32:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
298 * omx/gstomxvideodec.c:
299 omxvideodec: support interlace-mode=interleaved input
300 interlace-mode=alternate is a special case of interlace-mode=interleaved
301 where the fields are split using two different buffers.
302 The Zynq decoder always produces alternate content and we
303 used to assume that upstream will set interlace-mode=alternate in its
305 This is no longer the case as h265parse is now setting
306 alternate-mode=interleaved on alternate content to not break compat with
307 elements not supporting alternate.
308 As a result the decoder now accept both 'interleaved' and 'alternate' on
309 its input and ensures that its ouput has interlace-mode=alternate.
310 Needed to fix https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/825
311 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/72>
313 2020-09-08 17:31:06 +0100 Tim-Philipp Müller <tim@centricular.com>
316 ci: include template from gst-ci master branch again
318 2020-09-08 16:59:09 +0100 Tim-Philipp Müller <tim@centricular.com>
323 === release 1.18.0 ===
325 2020-09-08 00:10:02 +0100 Tim-Philipp Müller <tim@centricular.com>
335 2020-08-27 17:19:44 +0100 Tim-Philipp Müller <tim@centricular.com>
337 * config/tizonia/meson.build:
338 meson: fix Tizonia build
339 Was failing for release versions with
340 meson.build:414:10: ERROR: Can not set values on configuration object that has been used.
341 Caused by !69, but CI didn't notice at the time because it was set to a git version.
343 === release 1.17.90 ===
345 2020-08-20 16:16:35 +0100 Tim-Philipp Müller <tim@centricular.com>
354 2020-07-08 17:39:20 +0100 Tim-Philipp Müller <tim@centricular.com>
358 * scripts/extract-release-date-from-doap-file.py:
359 meson: set release date from .doap file for releases
360 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/69>
362 2020-07-03 02:04:16 +0100 Tim-Philipp Müller <tim@centricular.com>
367 === release 1.17.2 ===
369 2020-07-03 00:37:06 +0100 Tim-Philipp Müller <tim@centricular.com>
378 2020-06-20 00:28:37 +0100 Tim-Philipp Müller <tim@centricular.com>
383 === release 1.17.1 ===
385 2020-06-19 19:27:38 +0100 Tim-Philipp Müller <tim@centricular.com>
394 2020-06-16 01:20:27 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
396 * docs/gst_plugins_cache.json:
397 docs: Update plugin cache json
398 https://gitlab.freedesktop.org/alatiera/gst-ci/-/jobs/3109574
399 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/68>
401 2020-06-03 22:24:09 -0400 Thibault Saunier <tsaunier@igalia.com>
403 * docs/gst_plugins_cache.json:
404 docs: Update documentation cache
406 2019-12-23 18:23:55 -0800 Dylan Yip <dylan.yip@xilinx.com>
409 omx: Add latest OMX_ALG_Index's to omx_index_type_to_str
410 Add following indexes to omx_index_type_to_str:
411 OMX_ALG_IndexParamVideoAccessUnitDelimiter
412 OMX_ALG_IndexParamVideoBufferingPeriodSEI
413 OMX_ALG_IndexParamVideoPictureTimingSEI
414 OMX_ALG_IndexParamVideoRecoveryPointSEI
415 OMX_ALG_IndexParamVideoMasteringDisplayColourVolumeSEI
416 OMX_ALG_IndexParamVideoContentLightLevelSEI
417 OMX_ALG_IndexConfigVideoRegionOfInterestByValue
418 OMX_ALG_IndexConfigVideoColorPrimaries
420 2020-05-20 17:05:33 +0200 Stéphane Cerveau <scerveau@collabora.com>
423 zynq: change API to use public 2020.01 from vcu-omx-il
424 This new release 2020.01 fixes an API typo
425 Change to OMX_ALG_IndexConfigVideoHighDynamicRangeSEI
426 instead of OMX_ALG_IndexConfigVideoHighDynamicRangeSEIs
429 2017-12-27 17:18:54 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
431 * omx/gstomxvideoenc.c:
432 omxvideoenc: factor out gst_omx_video_enc_allocate_out_buffers()
434 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/66>
436 2020-04-10 11:47:03 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
438 * omx/gstomxh265enc.c:
441 * omx/gstomxvideodec.c:
442 * omx/gstomxvideoenc.c:
443 omxvideoenc: remove unsupported formats from caps template
444 Our encoder implementation actually supports a small subset of the
445 formats supported by the decoder. Those are the formats for which we
446 have a copy path in gst_omx_video_enc_fill_buffer() and which are not
447 filtered out in filter_supported_formats().
449 2020-04-10 09:59:02 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
452 video: remove BGR from supported format
453 It's not supported by either decoder or encoder and is even not listed in
454 gst_omx_video_get_format_from_omx() so it can't work.
456 2020-04-10 10:21:16 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
458 * omx/gstomxvideoenc.c:
459 omxvideoenc: add GRAY8 support
460 It's supported by Zynq encoder and was already in the sink caps
463 2020-04-10 11:18:49 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
465 * omx/gstomxvideoenc.c:
466 omxvideoenc: factor out gst_omx_video_enc_copy_plane()
467 No semantic change, I'm going to use it to copy GRAY8 buffers which is
468 actually a single plane 8-bits format.
470 2020-04-10 10:58:34 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
472 * omx/gstomxvideoenc.c:
473 omxvideoenc: use gst_video_meta_get_plane_height() to compute slice height
474 This new API saves us from doing manual computation and actually work
475 with single planar formats, such as GRAY8.
477 2020-04-07 19:59:12 +0200 Stéphane Cerveau <scerveau@collabora.com>
479 * omx/gstomxh264enc.c:
480 * omx/gstomxh265enc.c:
482 * omx/gstomxvideoenc.c:
483 omxh26xenc: fix coverity with frame test
484 Coverity was complaining with:
485 Null pointer dereferences (REVERSE_INULL) Null-checking "frame"
486 suggests that it may be null, but it has already been
487 dereferenced on all paths leading to the check.
488 The frame == NULL has been removed as 'frame' is actively used
489 in the code above without any change of dereferencing and setting
490 its value to NULL before the test.
493 2020-03-19 16:23:41 +0100 Stéphane Cerveau <scerveau@collabora.com>
495 * omx/gstomxvideoenc.c:
496 gstomxvideoenc: fix subframe output_buffer
497 Using more than 1 subframes was failing with
498 frame->output_buffer = NULL
500 2020-02-06 10:21:49 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
502 * omx/gstomxvideodec.c:
503 omxvideodec: add support of alternate interlace mode on zynq
505 2020-02-06 10:11:13 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
507 * omx/gstomxh265enc.c:
508 * omx/gstomxvideoenc.c:
509 omxvideoenc: add support of alternate interlace mode on zynq
510 It's only supported by the Zynq HEVC encoder for now.
512 2020-02-06 10:12:50 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
515 omx: add alternate flags to buffer_flags_map
516 Zynq specific flags used to tag top/bottom fields in alternate mode.
518 2020-02-06 09:57:48 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
521 * omx/gstomxvideoenc.c:
522 omxvideo(enc): use GST_VIDEO_INFO_FIELD_RATE_N()
523 Does not change anything for now but will be needed when we'll support
524 interlace-mode=alternate as the field rate will be twice the frame rate.
525 Made the code safe from division by 0 while I was on it.
527 2020-02-06 09:36:20 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
529 * omx/gstomxvideodec.c:
530 * omx/gstomxvideoenc.c:
531 omxvideo{enc,dec}: use GST_VIDEO_INFO_FIELD_HEIGHT()
532 Does not change anything for now but will be needed when we'll support
533 interlace-mode=alternate as the fields will have half the frame height.
535 2020-02-25 10:45:47 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
538 omx: don't log error when failing to load conf file with generic target
539 The generic target is meant to only test building gst-omx. It doesn't
540 provide any configuration file and so is not supposed to register any
542 I'm not aware of any user building gst-omx with this target and
543 providing their own conf file to actually register elements. But best to
544 not break this use case anyway so let's just downgrade the log message.
545 Fix GST_ERROR in the 'check fedora' CI job.
547 2020-01-27 11:56:53 +0100 Stéphane Cerveau <scerveau@collabora.com>
550 meson: add glib project fallback
551 Add a fallback from glib project to provide glib, gio and
552 gmodule dependencies.
554 2020-01-15 11:06:12 +0000 Stéphane Cerveau <scerveau@collabora.com>
556 * omx/gstomxvideoenc.c:
557 omxvideoenc: fix warning
558 Fix warning test when OMX_BUFFERFLAG_ENDOFFRAME
561 2018-08-28 13:03:14 -0700 Varunkumar Allagadapa <varunkum@xilinx.com>
563 * omx/gstomxvideoenc.c:
564 * omx/gstomxvideoenc.h:
565 omxvideoenc: Add look-ahead property to ZYNQ_USCALE_PLUS encoder
566 This patch adds look-ahead property to encoder
567 The value indicates look ahead size in frames,
568 the number of frames processed ahead of second pass encoding.
569 Dual pass encoding is disabled if look-ahead
570 value is less than 2.
572 2018-08-06 13:02:41 -0700 Varunkumar Allagadapa <varunkum@xilinx.com>
574 * omx/gstomxvideoenc.c:
575 * omx/gstomxvideoenc.h:
576 omxvideoenc: Add long-term-ref support to ZYNQ_USCALE_PLUS encoder
577 Custom API that upstream elements can use to notify encoders about
578 marking longterm ref. pictures or using longterm ref. pictures in
580 This patch adds below properties:
581 long-term-ref: Enable/Disable dynamically marking long-term
582 reference pictures in encoding process
583 long-term-freq: Periodicity of long-term reference picture
584 marking in encoding process.
585 If a picture is marked as long-term reference picture then it remains
586 in the DPB list for ever unless it overrides with new long-term pitcure with
587 same index. Encoder can use this long-term picture as refence for
589 This feature is mostly useful to avoid visual artifacts propagation in streaming use cases
590 when packet loss happens. Instead of requesting for IDR, client can request for use long-term
591 reference picture for encoding.
593 2020-01-07 10:24:19 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
596 meson: display OMX target when configuring
597 I'm adding more gst-omx CI (
598 https://gitlab.freedesktop.org/gstreamer/gst-ci/issues/20 ) having the
599 OMX targets displayed in the logs makes things clearer.
601 2019-08-30 10:27:32 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
604 omx: remove useless double negations
605 flush and port->flushing are both gboolean.
607 2019-12-20 22:19:06 -0800 Julien Isorce <jisorce@oblong.com>
610 meson: fix tizonia build
611 meson.build was both using path to gst-omx/openmax/OMX*
612 headers and path to OMX headers provided by tizilheaders.pc
613 so this patch makes sure we only use the later.
614 Also bump tizonia minimum version to 0.19.0 which
615 is the latest release.
617 2019-05-16 10:50:18 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
619 * omx/gstomxh265enc.c:
620 * omx/gstomxh265enc.h:
621 omxh265enc: handle CODECCONFIG buffers
622 Exact same code as omxh264enc.
624 2019-05-16 10:38:49 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
626 * omx/gstomxh264enc.c:
627 omxh264enc: send codec data downstream
628 We are operating in stream-format=byte-stream so the codec data buffer
629 is meant to be part of the buffer flow.
630 The base class will push it when a key frame is requested (as we stored
631 it with gst_video_encoder_set_headers()) but we still have to push it
632 right away as part of the normal buffer flow.
633 Also set the HEADER flag on this buffer.
635 2019-05-16 10:38:49 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
637 * omx/gstomxh264enc.c:
638 omxh264enc: no need to check if codeconfig has startcode
639 We currently only support stream-format=byte-stream so there is no point
640 re-checking for it when handling CODECCONFIG buffer.
642 2018-09-04 20:12:17 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
644 * omx/gstomxh264enc.c:
645 * omx/gstomxh265enc.c:
646 omxh26xenc: Negotiate subframe mode
647 We now negotiate subframe mode through the caps. To enabled subframe
648 mode, the caps need to specify alignment=nal:
649 ... ! omxh264enc ! video/x-h264,alignment=nal ! ...
650 ... ! omxh265enc ! video/x-h265,alignment=nal ! ...
652 2018-08-31 12:24:34 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
654 * omx/gstomxvideoenc.c:
655 omxvideoenc: use subframe base class API
656 Use subframe base class support.
658 2018-09-04 19:34:59 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
662 omx: Add helper to enable/disable/read subframe mode
664 2019-12-19 13:51:17 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
667 zynq: add mapping for latest custom indexes
668 Fix warning when building using version 2019.2 of OMX headers.
670 2019-09-12 16:29:59 -0700 Varunkumar Allagadapa <varunkumar.allagadapa@xilinx.com>
672 * omx/gstomxvideoenc.c:
673 omxvideoenc: update qp-mode settings
674 Adds load-qp-absolute and load-qp-relative qp-modes
676 2019-12-10 18:34:25 +0900 Shinya Saito <ssaito@igel.co.jp>
678 * omx/gstomxvideoenc.c:
679 omxvideoenc: Add stride check for input buffer extraction
680 Stride of input buffer may be different from
681 that of omx input port even if both sizes are the same.
683 2019-05-15 14:04:47 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
685 * omx/gstomxvideoenc.c:
686 omxvideoenc: pass padding requirements to ALLOCATION query
687 By passing the expected video buffer layout, the upstream producer
688 may be able to produce buffers fitting those requierements allowing
689 gst-omx to use dynamic buffer mode rather than having to copy each input
691 This is particularly useful with v4l2src as it can request the capture
692 driver to produce buffers with the required paddings.
694 2019-07-09 13:07:32 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
696 * omx/gstomxbufferpool.c:
699 omxbufferpool: use gst_video_meta_set_alignment()
700 Tell buffer consumer about our paddings.
701 v4l2src can now uses these paddings information when trying to import
702 buffers to configure the v4l2 driver accordingly.
704 2019-05-30 11:11:34 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
706 * omx/gstomxvideoenc.c:
707 omxvideoenc: fix buffer size in debug log
708 Use the actual OMX buffer size rather than the info.size as OMX
709 may require larger buffer if the port requires some padding.
711 2019-10-14 00:48:32 +0100 Tim-Philipp Müller <tim@centricular.com>
718 * config/Makefile.am:
719 * config/bellagio/Makefile.am:
720 * config/rpi/Makefile.am:
721 * config/tizonia/Makefile.am:
722 * config/zynqultrascaleplus/Makefile.am:
724 * examples/Makefile.am:
725 * examples/egl/Makefile.am:
729 * tests/check/.gitignore:
730 * tests/check/Makefile.am:
731 * tests/check/generic/.gitignore:
733 Remove autotools build
735 2019-10-07 16:59:10 +0000 Stéphane Cerveau <scerveau@collabora.com>
737 * omx/gstomxallocator.c:
738 omxallocator: fix leak with a proper chaining finalize
740 2019-09-20 15:02:24 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
742 * omx/gstomxvideoenc.c:
743 omxvideoenc: revert draining on ALLOCATION and DRAIN query
744 My latest patch introduces some regressions which I have no time to
745 debug properly at the moment so just revert it for now.
747 2019-09-17 13:02:54 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
749 * omx/gstomxvideoenc.c:
750 omxvideoenc: let encoder base class handle ALLOCATION query
751 Fixing a regression introduced in my previous patch
752 (7c40a91c31aa4bcbb191f7c6a5d222edf9dfd9d1).
753 The ALLOCATION query needs to be handled by GstVideoEncoder (to call
754 propose_allocation()) so chain up the query handling rather than early
757 2019-08-29 12:20:56 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
759 * omx/gstomxvideoenc.c:
760 omxvideoenc: drain encoder on ALLOCATION and DRAIN queries
761 Ensure that the encoder releases all its input buffers when requested by
762 upstream. Encoder input buffers may be shared with downstreaming (when
763 using dmabuf), upstream may then request the encoder to
764 drain when reconfiguring before destroying its buffers.
765 Also drain on ALLOCATION query as we already do in kmssink as that
766 notify of a format change.
767 Fix "decoder ! encoder" pipeline when decoding a file with different
770 2019-08-28 15:52:41 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
773 omx: log the number of pending buffers when port is EOS
775 2019-08-28 15:49:00 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
778 omx: log when an output port is eos
780 2019-08-27 15:47:28 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
782 * omx/gstomxvideoenc.c:
783 omxvideoenc: log the full input format
784 Make it easier to debug dynamic format changes.
786 2019-08-21 12:25:40 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
788 * omx/gstomxvideodec.c:
789 omxvideodec: fix dmabuf import
790 When importing dmabuf, UseBuffer() has to be called with the fd as
791 pBuffer rather than the mapped address of the buffer.
793 2019-08-21 12:48:25 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
795 * omx/gstomxbufferpool.c:
796 omxbufferpool: fix dmabuf import
797 When importing dmabuf from downstream, we want the allocator to be in
798 OTHER_POOL mode despite output_mode being DMABUF.
799 So check first if other_pool is set before checking for pool's
802 2019-08-22 17:55:54 +0900 Shinya Saito <ssaito@igel.co.jp>
804 * omx/gstomxvideoenc.c:
805 omxvideoenc: Remove unnecessary gst_video_frame_unmap()
807 2019-07-25 16:30:13 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
809 * omx/gstomxvideodec.c:
810 omxvideodec: log supported caps by the decoder
811 Can be useful when debugging to check the caps supported by the decoder
814 2019-07-11 12:03:46 +0900 Shinya Saito <ssaito@igel.co.jp>
816 * omx/gstomxvideoenc.c:
817 omxvideoenc: Unref frame of codec config buffer
818 After handling codec config, codec frame should be unreffed.
820 2019-06-14 16:27:37 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
823 omxvideo: check difference between frame and requested ts
824 This has proven to be very useful when debugging to detect bugs where we
825 match the wrong gst frame with an output OMX buffer.
827 2019-06-14 10:57:29 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
831 * omx/gstomxvideodec.c:
832 * omx/gstomxvideoenc.c:
833 omxvideo: add debug infos to find_nearest_frame()
834 Those debug infos have proved to be very helpful when debugging
835 timestamp issues. They are often linked to gst-omx picking the wrong
836 frame when trying to map from OMX.
838 2019-03-05 16:57:40 +0900 Shinya Saito <ssaito@igel.co.jp>
840 * omx/gstomxvideodec.c:
841 omxvideodec: Deactivate negotiated pool when output own buffer
842 If decoder outputs internal buffer and not use OMX_UseBuffer,
843 downstream bufferpool should be stopped.
845 2019-06-03 12:21:05 +0900 Shinya Saito <ssaito@igel.co.jp>
847 * omx/gstomxh264enc.c:
848 * omx/gstomxh264enc.h:
849 omxh264enc: Add 'ref-frames' property
850 Add a property to control the number of frames for reference.
851 Min and max value is based on OpenMAX IL 1.2.0 Specification.
853 2019-06-03 07:57:02 +0200 Niels De Graef <niels.degraef@barco.com>
857 meson: Bump minimal GLib version to 2.44
858 This means we can use some newer features and get rid of some
859 boilerplate code using the G_DECLARE_* macros.
860 As discussed on IRC, 2.44 is old enough by now to start depending on it.
862 2019-04-19 12:38:54 -0400 Thibault Saunier <tsaunier@igalia.com>
864 * docs/gst_plugins_cache.json:
871 doc: Build documentation of hotdoc
873 2019-03-26 12:26:03 +0200 George Kiagiadakis <george.kiagiadakis@collabora.com>
877 gstomx: remove gst_omx_buffer_set_omx_buf/get_omx_buf
878 They are no longer used anywhere
880 2019-03-22 12:11:13 +0200 George Kiagiadakis <george.kiagiadakis@collabora.com>
883 * omx/gstomxallocator.c:
884 * omx/gstomxallocator.h:
885 * omx/gstomxbufferpool.c:
886 * omx/gstomxbufferpool.h:
887 * omx/gstomxvideoenc.c:
889 omxbufferpool: refactor to allow memory sharing
890 One big restriction of the OMX buffer pool has always been
891 that the GstMemory objects were flagged with NO_SHARE.
892 This was because the buffer pool needed to be sure that when
893 a buffer returned to the pool, it would be safe to release the
894 OMX buffer back to OpenMAX.
895 With this change, this is no longer a restriction. What this
896 commit introduces is a new allocator that allows us to track
897 the GstMemory objects independently. Now, when a buffer returns
898 to the pool, it is not necessary for the memory to be released
899 as well. We simply track the memory's ref count in the allocator
900 and we return the OMX buffer back when the memory's ref count
902 The reason for doing this is to allow implementing zero-copy
903 transfers in situations where we may need to copy or map a
904 certain region of the buffer. For instance, omxh264enc ! h264parse
905 should be possible to be zero-copy by using an OMX buffer pool
908 2019-04-23 15:13:23 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
910 * omx/gstomxbufferpool.c:
911 omxbufferpool: fix memory mapping with offset
912 gst_memory_map() is already adding the offset to the mapped pointer.
913 Doing it in the memory implementation was resulting in the offset being
915 It doesn't matter yet as we are only creating memory without offset for
916 now but it will once we'll start sharing OMX memories.
918 2019-04-19 10:43:58 +0100 Tim-Philipp Müller <tim@centricular.com>
925 === release 1.16.0 ===
927 2019-04-19 00:38:44 +0100 Tim-Philipp Müller <tim@centricular.com>
937 2019-04-16 12:23:10 -0700 Julien Isorce <jisorce@oblong.com>
940 Fixes build with omx >= 1.2.0
941 gstomx.c:1405:10: error: ‘OMX_IndexParamCustomContentPipe’ undeclared (first use in this function)
942 case OMX_IndexParamCustomContentPipe
943 Some enums have been deprecated in 1.2.0
944 https://gitlab.freedesktop.org/gstreamer/gst-omx/issues/27
946 2018-05-18 10:55:21 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
949 * examples/egl/Makefile.am:
950 * examples/egl/meson.build:
951 testegl: properly detect and use rpi specific libs
952 Use pkg-config to detect and configure rpi specific libs used in testegl
953 rather than hardcoding their flags.
955 2018-05-18 10:53:34 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
957 * examples/egl/testegl.c:
958 testelg: include eglext.h
959 Neded for the declaration of eglSaneChooseConfigBRCM().
961 2018-05-18 10:38:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
963 * examples/egl/testegl.c:
964 testegl: move up pi specific macros
965 We need to define __VCCOREVER__ and disable redundant-decls before
966 including the egl.h from the pi.
968 === release 1.15.90 ===
970 2019-04-11 00:40:52 +0100 Tim-Philipp Müller <tim@centricular.com>
980 2019-04-10 00:19:55 +0100 Tim-Philipp Müller <tim@centricular.com>
983 meson: add -Wundef as additional warning flag
985 2019-04-10 00:16:27 +0100 Tim-Philipp Müller <tim@centricular.com>
987 * omx/gstomxvideoenc.c:
988 omx: fix autotools build for generic target
989 gstomxvideoenc.c:2874:7: error: "USE_OMX_TARGET_ZYNQ_USCALE_PLUS" is not defined, evaluates to 0 [-Werror=undef]
990 #elif USE_OMX_TARGET_ZYNQ_USCALE_PLUS
991 Works on meson because it doesn't use -Wundef
993 2018-11-12 12:51:28 +0200 Jordan Petridis <jordan@centricular.com>
996 Add Gitlab CI configuration
997 This commit adds a .gitlab-ci.yml file, which uses a feature
998 to fetch the config from a centralized repository. The intent is
999 to have all the gstreamer modules use the same configuration.
1000 The configuration is currently hosted at the gst-ci repository
1001 under the gitlab/ci_template.yml path.
1002 Part of https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/29
1004 2019-03-25 16:30:11 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
1007 omx: disable OMX_API_TRACE code if gst debug is disabled
1008 No need to create debug structs which won't be used as DEBUG macros are
1011 2018-10-11 10:55:04 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1014 omx: log Get/SetParameter/Config calls
1015 Extend OMX_API_TRACE by logging component configuration calls.
1017 2019-02-06 14:57:05 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
1019 * omx/gstomxbufferpool.c:
1020 omxbufferpool: don't use CAT_PERFORMANCE if pool will copy
1021 This was the single place where this category was used in gst-omx so
1022 most users, including me, are generally not turning it and were missing this
1023 important information from logs.
1024 The copying code uses gst_video_frame_copy() which is already logging
1025 with CAT_PERFORMANCE so we can still have this information when using
1026 only this debug category.
1028 2019-02-06 14:50:44 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
1030 * omx/gstomxvideodec.c:
1031 omxvideodec: add debug if proposed pool can't provide enough buffers
1032 We were silently ignoring the pool which was pretty confusing when
1035 2019-03-26 12:17:26 +0000 Charlie Turner <cturner@igalia.com>
1037 * omx/gstomxaacdec.c:
1038 * omx/gstomxaacenc.c:
1039 * omx/gstomxamrdec.c:
1040 * omx/gstomxh263dec.c:
1041 * omx/gstomxh263enc.c:
1042 * omx/gstomxh264dec.c:
1043 * omx/gstomxh264enc.c:
1044 * omx/gstomxh265dec.c:
1045 * omx/gstomxh265enc.c:
1046 * omx/gstomxmjpegdec.c:
1047 * omx/gstomxmp3dec.c:
1048 * omx/gstomxmp3enc.c:
1049 * omx/gstomxmpeg2videodec.c:
1050 * omx/gstomxmpeg4videodec.c:
1051 * omx/gstomxmpeg4videoenc.c:
1052 * omx/gstomxtheoradec.c:
1053 * omx/gstomxvp8dec.c:
1054 * omx/gstomxwmvdec.c:
1055 omx: Add hardware classifiers to encoders/decoders
1057 2019-03-25 16:01:48 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
1060 meson: sync warnings flags with -good
1061 Add more warnings flags and disabled unused variable warnings if gst
1062 debug system is disabled.
1063 Copied from gst-plugins-good/meson.build
1065 2019-03-04 09:16:40 +0000 Tim-Philipp Müller <tim@centricular.com>
1073 === release 1.15.2 ===
1075 2019-02-26 12:02:23 +0000 Tim-Philipp Müller <tim@centricular.com>
1085 2019-02-14 23:57:09 +0000 Tim-Philipp Müller <tim@centricular.com>
1088 * meson_options.txt:
1089 meson: add options to disable examples, tests and tools and bump meson requirement
1091 2019-01-04 10:11:38 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
1093 * omx/gstomxvideo.c:
1094 * omx/gstomxvideo.h:
1095 * omx/gstomxvideodec.c:
1096 * omx/gstomxvideoenc.c:
1097 omxvideo: use GST_VIDEO_CAPS_MAKE() for template caps
1098 Simplify the code and so we advertise the formats actually supported by
1101 2018-06-04 12:20:03 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1103 * omx/gstomxvideoenc.c:
1104 omxvideoenc: validate cpb-size and initial-delay
1105 cpb-size cannot be smaller than initial-delay.
1107 2018-10-02 10:47:06 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1109 * omx/gstomxvideodec.c:
1110 omxvideodec: Remove duplicated QoS code
1111 The 'finish' function do the exact same check / drop, there is no
1112 need to duplicate this here.
1114 2018-09-20 14:44:09 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1116 * omx/gstomxvideodec.c:
1117 * omx/gstomxvideodec.h:
1118 omxvideodec: Remove dead code
1119 The omxvideodec base class have a totally unused prepare_frame() vritual
1120 function, remove it.
1122 2018-07-11 17:38:22 -0700 Varunkumar Allagadapa <varunkum@xilinx.com>
1124 * omx/gstomxvideoenc.c:
1125 omxvideoenc: add adaptive gop-mode option
1126 Added adaptive gop-mode option to ZYNQ_USCALE_PLUS encoder properties
1128 2018-02-13 18:25:51 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1130 * omx/gstomxvideoenc.c:
1131 omxvideoenc: Add dynamic framerate support
1132 Instead of going through a full reset, try and change the framerate
1133 config on the encoder when only the framerate have change.
1135 === release 1.15.1 ===
1137 2019-01-17 02:38:28 +0000 Tim-Philipp Müller <tim@centricular.com>
1147 2018-02-20 10:57:42 -0800 Varunkumar Allagadapa <varunkum@xilinx.com>
1149 * omx/gstomxvideoenc.c:
1150 omxvideoenc: Add dynamic IDR insertion support on zynq
1151 As the pi, the zynq has its own API to request keyframe.
1153 2019-01-07 13:29:37 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
1157 * omx/gstomxbufferpool.c:
1158 omxbufferpool: fix race when releasing input buffers
1159 If buffers were released from the pool while
1160 gst_omx_video_enc_handle_frame() was waiting for new buffers,
1161 gst_omx_port_acquire_buffer() was never awaken as the buffers weren't
1162 released through OMX's messaging system.
1163 GQueue isn't thread safe so also protect it with the lock mutex.
1165 2018-11-15 11:17:59 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1167 * omx/gstomxbufferpool.c:
1168 * omx/gstomxbufferpool.h:
1169 * omx/gstomxvideodec.c:
1170 * omx/gstomxvideoenc.c:
1171 omxbufferpool: fix early input buffer release
1172 We used to track the 'allocating' status on the pool. It is used while
1173 allocating so output buffers aren't passed right away to OMX and input
1174 ones are not re-added to the pending queue.
1175 This was causing a bug when exporting buffers to v4l2src. On start
1176 v4l2src acquires a buffer, read its stride and release it right away.
1177 As no buffer was received by the encoder element at this point, 'allocating'
1178 was still on TRUE and so the the buffer wasn't put back to the pending
1179 queue and, as result, no longer available to the pool.
1180 Fix this by checking the active status of the pool instead of manually
1181 tracking it down. The pool is considered as active at the very end of
1182 the activation process so we're good when buffers are released during
1185 2018-12-05 17:24:48 -0300 Thibault Saunier <tsaunier@igalia.com>
1188 Automatic update of common submodule
1189 From ed78bee to 59cb678
1191 2018-11-23 12:57:15 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
1194 omx: fix OMX_EventBufferFlag OMX_API_TRACE struct
1195 The GType was missing from the second field of the struct.
1197 2018-11-05 05:43:43 +0000 Matthew Waters <matthew@centricular.com>
1201 Update git locations to gitlab
1203 2018-09-18 16:50:11 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1206 omx: rename OMX_PERFORMANCE debug cat to OMX_API_TRACE
1207 This debug category can now be used to track more OMX calls and events
1208 so best to rename it to something more generic.
1209 https://bugzilla.gnome.org/show_bug.cgi?id=797171
1211 2018-08-21 17:35:04 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1214 omx: log OMX commands with OMX_PERFORMANCE debug category
1215 It has been useful to have a clear raw and structured view of the gst
1216 <-> OMX exchanges when debugging.
1217 https://bugzilla.gnome.org/show_bug.cgi?id=797171
1219 2018-08-21 16:50:38 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1222 omx: factor out gst_omx_component_send_command()
1223 No semantic change. I'm going to add extra debug in this function.
1224 https://bugzilla.gnome.org/show_bug.cgi?id=797171
1226 2018-08-21 15:14:09 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1229 omx: log OMX events with OMX_PERFORMANCE debug category
1230 It has been useful to have a clear raw and structured view of the gst
1231 <-> OMX exchanges when debugging.
1232 https://bugzilla.gnome.org/show_bug.cgi?id=797171
1234 2018-08-22 12:51:30 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1237 omx: rename log_omx_performance() to log_omx_performance_buffer()
1238 I'm about to log more things under this category
1239 https://bugzilla.gnome.org/show_bug.cgi?id=797171
1241 2018-09-07 22:57:30 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1243 * omx/gstomxvideoenc.c:
1244 omxvideoenc: Remove spurious locking
1245 The method we call in the context of pushing a buffer are all thread
1246 safe. Holding a lock would prevent input buffers from being queued while
1248 https://bugzilla.gnome.org/show_bug.cgi?id=715192
1250 2018-09-07 23:09:29 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1252 * omx/gstomxvideoenc.c:
1253 omxvideoenc: Remove unneeded size check
1254 We only enter this branch if nFilledLen > 0, there is not need
1256 https://bugzilla.gnome.org/show_bug.cgi?id=715192
1258 2018-09-07 22:55:41 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1260 * omx/gstomxvideodec.c:
1261 omxvideodec: Remove spurious unlock in error case
1262 This was forgotton in previous patch. We no long hold the lock when goto
1263 invalid_buffer is called.
1264 https://bugzilla.gnome.org/show_bug.cgi?id=715192
1266 2018-08-31 17:28:03 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1268 * omx/gstomxvideodec.c:
1269 omxvideodec: don't hold the stream lock when trying to push a frame
1270 The base class methods will lock this properly when needed, there seems
1271 to be no need to lock it explicitly.
1272 This allows the patch in gstvideodec for unlocking the stream lock
1273 when pushing buffers out to work.
1274 https://bugzilla.gnome.org/show_bug.cgi?id=715192
1276 2018-07-31 13:22:31 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1278 * omx/gstomxvideodec.c:
1279 omxvideodec: don't import OMX buffers from downstream
1280 We already have code configuring the encoder stride and slice height
1281 when receiving the first buffer from upstream.
1282 We don't have an equivalent when the encoder is exporting its buffers to the
1284 There is no point adding it and making the code even more
1285 complex as we wouldn't gain anything by exporting from the encoder to
1286 the decoder. The dynamic buffer mode already ensures 0-copy between OMX
1288 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1290 2018-05-15 11:59:26 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1294 * omx/gstomxbufferpool.c:
1295 * omx/gstomxvideoenc.c:
1296 * omx/gstomxvideoenc.h:
1297 omxvideoenc: implement dmabuf export on input buffers
1298 Propose pool upstream so input buffers can be allocated by the port and
1300 The actual OMX buffers are allocated when the pool is activated, so we
1301 don't end up doing useless allocations if the pool isn't used.
1302 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1304 2018-08-13 15:10:37 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1308 * omx/gstomxaudiodec.c:
1309 * omx/gstomxaudioenc.c:
1310 * omx/gstomxaudiosink.c:
1311 * omx/gstomxvideodec.c:
1312 * omx/gstomxvideoenc.c:
1313 omx: allow gst_omx_port_acquire_buffer() to not wait for buffers
1314 Will be needed to implement GST_BUFFER_POOL_ACQUIRE_FLAG_DONTWAIT.
1315 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1317 2018-07-31 15:04:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1319 * omx/gstomxvideodec.c:
1320 omxvideodec: don't import non-dmabuf when dec is in dmabuf mode
1321 Fix 'omxh264dec ! videocrop' pipeline.
1322 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1324 2018-08-02 11:29:12 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1326 * omx/gstomxvideodec.c:
1327 omxvideodec: factor out gst_omx_try_importing_buffer()
1328 No semantic change, just make the code clearer and improve debug output.
1329 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1331 2018-07-26 16:30:08 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1333 * omx/gstomxvideodec.c:
1334 omxvideodec: fix gst_video_info_from_caps() caps assertion
1335 The "use buffers" code path uses gst_video_info_from_caps() which is
1336 asserting if caps is NULL (because pool was rejected).
1337 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1339 2018-07-26 16:22:50 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1341 * omx/gstomxvideodec.c:
1342 omxvideodec: fix pool caps reference stealing
1343 gst_buffer_pool_config_get_params() doesn't ref the returning caps;
1344 so gst_caps_replace() was unreffing the reference owned by the pool.
1345 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1347 2018-07-25 09:57:20 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1349 * omx/gstomxvideodec.c:
1350 omxvideodec: prevent timeout when shutting down because of pending out buffers
1351 The OMX transition state to Loaded won't be complete until all buffers
1352 have been freed. There is no point waiting, and timeout, if we know that
1353 output buffers haven't been freed yet.
1354 The typical scenario is output buffers being still used downstream
1355 and being freed later when released back to the pool.
1356 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1358 2018-07-24 15:14:31 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1360 * omx/gstomxbufferpool.c:
1361 omxbufferpool: reference the OMX component
1362 Now that the pool is responsible of freeing the OMX buffers, we need to
1363 ensure that the OMX component stay alive while the pool is as we rely on
1364 the component to free the buffers.
1365 The GstOMXPort is owned by the component so no need to ref this one.
1366 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1368 2018-07-24 15:06:01 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1372 * omx/gstomxaudiodec.c:
1373 * omx/gstomxaudioenc.c:
1374 * omx/gstomxaudiosink.c:
1375 * omx/gstomxvideodec.c:
1376 * omx/gstomxvideoenc.c:
1377 turn GstOMXComponent to a GstMiniObject
1378 Will use it for refcounting.
1379 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1381 2018-05-28 12:20:45 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1383 * omx/gstomxbufferpool.c:
1384 * omx/gstomxvideodec.c:
1385 omxbufferpool: deallocate OMX buffers when stopping
1386 The pool is stopped when all the buffers have been released. Deallocate
1387 when stopping so we are sure that the buffers aren't still used by
1389 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1391 2018-05-24 16:28:21 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1394 omx: call gst_omx_buffer_unmap() when handling BUFFER_DONE
1395 When using a input buffer pool, the buffer may be released to the pool when
1396 gst_omx_buffer_unmap() is called. We need to have buf->used unset at
1397 this point as the pool may use it to check the status of the pool.
1398 {Empty,Fill}BufferDone is called from OMX internal threads while
1399 messages are handled from gst elements' thread. Best to do all this
1400 when handling the message so we don't mess with OMX threads and keep
1401 the original thread/logic split.
1402 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1404 2018-05-25 14:44:16 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1406 * omx/gstomxvideodec.c:
1407 * omx/gstomxvideoenc.c:
1408 omxvideo{enc,dec}: stop calling shutdown() in change_state
1409 This is no longer needed since we implemented close() vfuncs as the
1410 encoder/decoder base class already take care of calling close() (which
1411 is calling shutdown()) in its own change_state implementation.
1412 We also move the shut down of the component from PAUSED_TO_READY to READY_TO_NULL.
1413 By doing so upstream will have already deactivated the pool from the
1414 encoder and so won't be preventing the OMX state change as the buffers
1415 will all be released.
1416 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1418 2018-05-15 16:21:26 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1422 * omx/gstomxbufferpool.c:
1423 omx: factor out gst_omx_buffer_get/set_omx_buf()
1424 Move the qdata code to helper functions as I'm going to need them in
1425 omxvideoenc to implement dmabuf export.
1426 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1428 2018-05-15 11:01:13 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1430 * omx/gstomxvideoenc.c:
1431 omxvideoenc: factor out gst_omx_video_enc_set_to_idle()
1432 No semantic change. We'll have to use this when the input pool is
1433 activated so we can allocate buffers.
1434 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1436 2018-05-15 09:56:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1438 * omx/gstomxvideoenc.c:
1439 omxvideoenc: factor out gst_omx_video_enc_deallocate_in_buffers()
1440 Will add extra code when adding input buffer pool.
1441 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1443 2018-05-14 15:16:38 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1446 omx: add pBuffer to OMX_PERFORMANCE logs
1447 Can be useful to check the fd being passed when using dmabuf.
1448 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1450 2018-03-21 12:43:33 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1454 * omx/gstomxvideodec.c:
1455 * omx/gstomxvideoenc.c:
1456 omx: factor out gst_omx_port_set_dmabuf()
1457 No semantic change. I also made the debug message a bit clearer.
1458 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1460 2018-08-22 15:56:18 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1463 omx: wait for flush complete and buffers being released when flushing
1464 When flusing we should wait for OMX to send the flush command complete event
1465 AND all ports being released.
1466 We were stopping as soon as one of those condition was met.
1467 Fix a race between FillThisBufferDone/EmptyBufferDone and the flush
1468 EventCmdComplete messages. The OMX implementation is supposed to release
1469 its buffers before posting the EventCmdComplete event but the ordering
1470 isn't guaranteed as the FillThisBufferDone/EmptyBufferDone and
1471 EventHandler callbacks can be called from different threads (cf 2.7
1472 'Thread Safety' in the spec).
1473 Only wait for buffers currently used by OMX as some buffers may not be
1474 in the pending queue because they are held downstream.
1475 https://bugzilla.gnome.org/show_bug.cgi?id=789475
1477 2018-08-22 15:52:23 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1480 omx: factor out should_wait_until_flushed()
1481 No semantic change. Makes the code easier to understand and I'm about to
1482 change the waiting condition.
1483 https://bugzilla.gnome.org/show_bug.cgi?id=789475
1485 2018-08-28 13:10:35 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1487 * omx/gstomxvideoenc.c:
1488 omxvideoenc: pause component when flushing
1489 As stated in the spec ("6.1.3 Seek Event Sequence") we should pause
1491 We were pausing the decoder but not the encoder so I just aligned the
1493 https://bugzilla.gnome.org/show_bug.cgi?id=797038
1495 2018-07-12 12:41:18 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1497 * omx/gstomxvideoenc.c:
1498 omxvideoenc: fix vertical padding in NV16 formats
1499 My previous patch to calculate the vertical padding was always halfing
1500 the height of the chroma plane which is incorrect for NV16 formats.
1501 https://bugzilla.gnome.org/show_bug.cgi?id=796749
1503 2018-07-05 15:13:47 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1505 * omx/gstomxvideoenc.c:
1506 omxvideoenc: include vertical padding in nFilledLen when copying
1507 According to the OMX spec (3.1.3.7.1) nFilledLen is meant to include any
1508 padding. We use to include the horizontal one (stride) but not the
1509 vertical one if nSliceHeight is bigger than the actual height.
1510 The calculated nFilledLen was wrong as it didn't include the padding
1512 https://bugzilla.gnome.org/show_bug.cgi?id=796749
1514 2018-04-26 12:30:47 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1518 * omx/gstomxvideodec.c:
1519 * omx/gstomxvideoenc.c:
1520 * omx/gstomxvideoenc.h:
1521 omxvideoenc: implement decide_allocation
1522 Increase the number of output buffers by the number of buffers requested
1524 Prevent buffers starvation if downstream is going to use dynamic buffer
1526 https://bugzilla.gnome.org/show_bug.cgi?id=795746
1528 2018-04-26 12:29:16 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1530 * omx/gstomxvideodec.c:
1531 omxvideodec: implement propose_allocation
1532 Tell upstream about how many buffer we plan to use so they can adjust
1533 their own number of buffers accordingly if needed.
1534 Same logic as the existing gst_omx_video_enc_propose_allocation().
1535 https://bugzilla.gnome.org/show_bug.cgi?id=795746
1537 2018-05-17 09:54:11 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1539 * omx/gstomxvideoenc.c:
1540 * omx/gstomxvideoenc.h:
1541 omxvideoenc: always signal drain cond when stopping streaming loop
1542 Similar change as the one I just did in omxvideodec.
1543 https://bugzilla.gnome.org/show_bug.cgi?id=796207
1545 2018-05-16 17:06:29 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1547 * omx/gstomxvideodec.c:
1548 * omx/gstomxvideodec.h:
1549 omxvideodec: always signal drain cond when stopping streaming loop
1550 If for some reason something goes wrong and we stop the streaming loop
1551 we may end up with other threads still waiting on the drain cond.
1552 No more buffers will be produced by the component so they were waiting
1554 Fix this by always signalling this cond when stopping the streaming
1556 https://bugzilla.gnome.org/show_bug.cgi?id=796207
1558 2018-05-16 17:02:01 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1560 * omx/gstomxvideodec.c:
1561 omxvideoenc: factor out gst_omx_video_enc_pause_loop()
1562 No semantic change. I'm going to use it in more failure cases.
1563 https://bugzilla.gnome.org/show_bug.cgi?id=796207
1565 2018-05-17 14:24:52 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1567 * config/zynqultrascaleplus/gstomx.conf:
1568 zynqultrascaleplus: enable 'ensure-buffer-count-actual' hack
1569 https://bugzilla.gnome.org/show_bug.cgi?id=791211
1571 2018-04-27 16:26:36 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1575 * omx/gstomxvideodec.c:
1576 * omx/gstomxvideoenc.c:
1577 omxvideodec/enc: add hack updating nBufferCountActual before allocating
1578 The OMX specs states that the nBufferCountActual of a port has to default
1579 to its nBufferCountMin. If we don't change nBufferCountActual we purely rely
1580 on this default. But in some cases, OMX may change nBufferCountMin before we
1581 allocate buffers. Like for example when configuring the input ports with the
1582 actual format, it may decrease the number of minimal buffers required.
1583 This method checks this and update nBufferCountActual if needed so we'll use
1584 less buffers than the worst case in such scenarios.
1585 SetParameter() needs to be called when the port is either disabled or
1586 the component in the Loaded state.
1587 Don't do this for the decoder output as
1588 gst_omx_video_dec_allocate_output_buffers() already check
1589 nBufferCountMin when computing the number of output buffers.
1590 On some platform, like rpi, the default nBufferCountActual is much
1591 higher than nBufferCountMin so only enable this using a specific gst-omx
1593 https://bugzilla.gnome.org/show_bug.cgi?id=791211
1595 2018-05-28 15:02:13 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1597 * omx/gstomxvideodec.c:
1598 * omx/gstomxvideoenc.c:
1599 omxvidee{enc,dec}: refresh input port definition after setting format
1600 Setting the input format and the associated encoder/decoder settings
1601 may also affect the nBufferCountMin of the input port.
1602 Refresh the input port so we'll use up to date values in propose/decide
1604 https://bugzilla.gnome.org/show_bug.cgi?id=796445
1606 2018-05-07 11:59:08 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1609 omx: always consider component in 'invalid' state when an error occured
1610 gst_omx_component_get_state() used to early return if there was no
1611 pending state change. So if the component raised an error it wasn't
1612 considered in the invalid state until the next requested state change.
1613 Fix this by checking first if we received an error.
1614 https://bugzilla.gnome.org/show_bug.cgi?id=795874
1616 2018-05-25 01:35:58 +1000 Matthew Waters <matthew@centricular.com>
1619 * meson_options.txt:
1620 meson: Update option names to omit 'with_omx' prefixes
1621 Companion commit to:
1622 https://cgit.freedesktop.org/gstreamer/gstreamer/commit/?id=4fb02fc85b70be631f5331b2547e5dc61ef7a43a
1623 https://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=1e1a5d658e4a031535c44823fd398d3052ca2000
1626 2018-03-21 13:52:23 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1628 * omx/gstomxvideodec.c:
1629 omxvideodec: pass a GstOMXBufferMode to gst_omx_buffer_pool_new()
1630 The output_mode is supposed to be a GstOMXBufferMode, not a boolean.
1632 2018-05-03 09:27:15 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1634 * config/zynqultrascaleplus/gstomx.conf:
1635 zynq: remove 'no-disable-outport' hack
1636 No longer needed with newer version of the OMX stack.
1638 2018-03-13 16:15:30 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1640 * omx/gstomxh264enc.c:
1641 * omx/gstomxh265enc.c:
1642 omxh26{4,5}enc: don't pick default 10-bit profile
1643 The OMX stack of the zynqultrascaleplus (the only one supporting
1644 NV12_10LE32 and NV16_10LE32) will now pick the proper profile if none
1645 has been requested. Best to rely on its default than hardcoding a
1646 specific one in gst-omx.
1647 https://bugzilla.gnome.org/show_bug.cgi?id=794319
1649 2018-03-06 14:16:56 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1651 * omx/gstomxh264utils.c:
1652 omxh264: sync with supported profiles on zynqultrascaleplus
1653 Add extra supported AVC profiles and remove extended and 4:4:4 profiles
1654 which are actually not implemented.
1655 https://bugzilla.gnome.org/show_bug.cgi?id=794177
1657 2018-03-06 10:45:14 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1659 * omx/gstomxh264enc.c:
1660 * omx/gstomxh264utils.c:
1661 * omx/gstomxh264utils.h:
1662 omxh264: factor out gst_omx_h264_utils_get_profile_from_enum()
1663 Move the profile <-> enum mapping to one place. Make changes easier as
1664 I'm about to add extra profiles.
1666 https://bugzilla.gnome.org/show_bug.cgi?id=794177
1668 2018-03-06 11:02:44 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1670 * omx/gstomxh265utils.c:
1671 omxh265: add format range extension profiles on zynqultrascaleplus
1672 The zynqultrascaleplus OMX gained support for more format range
1673 extensions profiles (A.3.5).
1674 https://bugzilla.gnome.org/show_bug.cgi?id=794177
1676 2018-03-06 10:45:14 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1678 * omx/gstomxh265enc.c:
1679 * omx/gstomxh265utils.c:
1680 * omx/gstomxh265utils.h:
1681 omxh265: factor out gst_omx_h265_utils_get_profile_from_enum()
1682 Move the profile <-> enum mapping to one place. Make changes easier as
1683 I'm about to add some profiles.
1685 https://bugzilla.gnome.org/show_bug.cgi?id=794177
1687 2018-03-08 12:22:26 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1689 * omx/gstomxvideoenc.c:
1690 omxvideoenc: add NV16 support
1691 NV16 format wasn't supported on encoder input while it was on decoder
1693 https://bugzilla.gnome.org/show_bug.cgi?id=794175
1695 2018-03-08 12:09:38 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1697 * omx/gstomxvideo.c:
1698 omxvideo: display port number when listing supported formats
1699 More convenient when debugging.
1700 https://bugzilla.gnome.org/show_bug.cgi?id=794175
1702 2018-03-29 16:42:40 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1705 * omx/gstomxvideoenc.c:
1706 * omx/gstomxvideoenc.h:
1707 omxvideoenc: restore OMX default target-bitrate if requested by user
1708 0xffffffff is the magic number in gst-omx meaning 'the default value
1709 defined in OMX'. This works fine with OMX parameters which are only set
1710 once when starting the component but not with configs which can be
1711 changed while PLAYING.
1712 Save the actual OMX default bitrate so we can restore it later if user
1713 sets back 0xffffffff on the property.
1714 Added GST_OMX_PROP_OMX_DEFAULT so we stop hardcoding magic numbers
1716 https://bugzilla.gnome.org/show_bug.cgi?id=794998
1718 2018-03-29 11:36:00 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1720 * omx/gstomxvideoenc.c:
1721 omxvideoenc: use gst_omx_video_enc_set_bitrate() when setting bitrate in set_format
1722 We weren't using the usual pattern when re-setting the bitrate:
1723 - get parameters from OMX
1724 - update only the fields different from 0xffffffff (OMX defaults)
1726 Also added a comment explaining why we re-set this param.
1727 https://bugzilla.gnome.org/show_bug.cgi?id=794998
1729 2018-03-29 11:26:04 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1731 * omx/gstomxvideoenc.c:
1732 omxvideoenc: factor out gst_omx_video_enc_set_bitrate()
1733 No semantic change, I'm about to re-use this function in set_format().
1734 https://bugzilla.gnome.org/show_bug.cgi?id=794998
1736 2018-04-20 11:54:14 +0100 Tim-Philipp Müller <tim@centricular.com>
1739 meson: fix miscellaneous meson warnings
1740 cc.has_header*() doesn't have a 'required:' kwarg.
1742 2018-04-18 12:42:55 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1744 * omx/gstomxvideodec.c:
1745 * omx/gstomxvideoenc.c:
1746 omxvideoenc/dec: fix handling of component enabling failing
1747 - Report the error from OMX if any (OMX_EventError)
1748 - If not report the failing to the application (GST_ELEMENT_ERROR)
1749 - return GST_FLOW_ERROR rather than FALSE
1751 https://bugzilla.gnome.org/show_bug.cgi?id=795352
1753 2018-04-16 10:53:41 +0100 Tim-Philipp Müller <tim@centricular.com>
1756 Automatic update of common submodule
1757 From 3fa2c9e to ed78bee
1759 2018-03-14 14:53:50 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1762 log_omx_performance: convert pointers to strings
1763 G_TYPE_POINTER are not serialized in logs.
1764 https://bugzilla.gnome.org/show_bug.cgi?id=794331
1766 2018-04-02 15:14:51 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1768 * omx/gstomxvideoenc.c:
1769 omxvideoenc: remove duplicated debug message
1770 We already have the exact same message at the beginning of
1771 gst_omx_video_enc_handle_frame(). Having it twice is confusing when
1772 reading/grepping logs.
1773 I kept the earlier one to keep the symetry with
1774 gst_omx_video_dec_handle_frame().
1775 https://bugzilla.gnome.org/show_bug.cgi?id=794897
1777 2018-02-22 11:27:03 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1779 * omx/gstomxvideoenc.c:
1780 omxvideoenc: add 'roi' qp-mode on zynqultrascaleplus
1781 New QP mode used to handle ROI metadata.
1782 https://bugzilla.gnome.org/show_bug.cgi?id=793696
1784 2018-03-20 10:31:10 +0000 Tim-Philipp Müller <tim@centricular.com>
1792 === release 1.14.0 ===
1794 2018-03-19 20:31:02 +0000 Tim-Philipp Müller <tim@centricular.com>
1804 === release 1.13.91 ===
1806 2018-03-13 19:32:39 +0000 Tim-Philipp Müller <tim@centricular.com>
1816 2018-03-09 12:02:29 +0000 Tim-Philipp Müller <tim@centricular.com>
1819 meson: fix typo in package name define
1821 2018-02-27 15:42:53 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1823 * omx/gstomxh265enc.c:
1824 * omx/gstomxh265utils.c:
1825 omxh265: update 422 profile names
1826 h265parse is gaining support for the format range extension profile
1828 Use the profile names defined in h265parse.
1829 https://bugzilla.gnome.org/show_bug.cgi?id=793928
1831 2018-03-05 13:49:18 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1833 * omx/gstomxvideoenc.c:
1834 omxvideoenc: Don't drop the frame on empty payload
1835 This otherwise may lead to "No reference frame found" warning.
1837 2018-03-01 15:16:55 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1839 * omx/gstomxvideodec.c:
1840 omxvideodec: Don't drop the frame on empty payload
1841 This otherwise may lead to "No reference frame found" warning.
1843 2018-03-02 15:36:06 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1846 omx: Free empty buffers list in use_dynamic_buffers
1847 To indicate we are doing dynamic buffers importation, we pass
1848 a list of NULL pointers, but we forgot to free that list.
1850 2018-03-01 15:16:32 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1852 * omx/gstomxvideodec.c:
1853 omxvideodec: Fix CodecState leak
1855 === release 1.13.90 ===
1857 2018-03-03 23:00:59 +0000 Tim-Philipp Müller <tim@centricular.com>
1867 2018-03-03 20:21:06 +0000 Tim-Philipp Müller <tim@centricular.com>
1869 * config/Makefile.am:
1870 config: dist tizonia config files
1872 2018-03-02 11:06:08 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1875 Revert "omx: wait for flush complete and buffers being released when flushing"
1876 This reverts commit 4211e4c29a262f110cb92ddf9c06b403ced233ef.
1878 2018-02-21 12:50:42 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1880 * omx/gstomxvideoenc.c:
1881 videoenc: don't set stride padding to 0 when copying frames
1882 Padding can be left undefined there is no point filling it with 0.
1883 https://bugzilla.gnome.org/show_bug.cgi?id=793694
1885 2018-02-16 11:50:35 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1887 * omx/gstomxbufferpool.c:
1888 * omx/gstomxh264enc.c:
1889 * omx/gstomxh265enc.c:
1890 * omx/gstomxvideo.c:
1891 * omx/gstomxvideodec.c:
1892 * omx/gstomxvideoenc.c:
1893 add support for NV12_10LE32 and NV16_10LE32 on zynqultrascaleplus
1894 The encoder and decoder on zynqultrascaleplus support these new 10 bits
1896 https://bugzilla.gnome.org/show_bug.cgi?id=793694
1898 2018-02-16 11:46:47 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1900 * omx/gstomxvideoenc.c:
1901 omxvideoenc: factor out gst_omx_video_enc_nv12_manual_copy()
1902 No semantic change, I'm going to re-use it to copy the NV12_10LE32
1904 https://bugzilla.gnome.org/show_bug.cgi?id=793694
1906 2018-01-17 10:40:49 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1908 * omx/gstomxvideoenc.c:
1909 omxvideoenc: display the computed buffer size when configuring input
1910 https://bugzilla.gnome.org/show_bug.cgi?id=793694
1912 2018-02-06 14:25:57 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1914 * omx/gstomxvideoenc.c:
1915 * omx/gstomxvideoenc.h:
1916 videoenc: implement ROI on zynqultrascaleplus
1917 Check input buffers for ROI meta and pass them to the encoder by using
1918 zynqultrascaleplus's custom OMX extension. Also add a new
1919 "default-roi-quality" in order to tell the encoder what quality level
1920 should be applied to ROI by default.
1921 https://bugzilla.gnome.org/show_bug.cgi?id=793696
1923 2018-02-14 17:23:39 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1925 * omx/gstomxvideoenc.c:
1926 omxvideoenc: remove GST_PARAM_MUTABLE_PLAYING from 'max-bitrate' property
1927 This property isn't actually mutable in the PLAYING state.
1928 https://bugzilla.gnome.org/show_bug.cgi?id=793458
1930 2018-02-14 17:20:02 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1932 * omx/gstomxvideoenc.c:
1933 * omx/gstomxvideoenc.h:
1934 omxvideoenc: protect target_bitrate with the object lock
1935 The 'target-bitrate' property can be changed while PLAYING
1936 (GST_PARAM_MUTABLE_PLAYING). Make it thread-safe to prevent concurrent
1937 accesses between the application and streaming thread.
1938 https://bugzilla.gnome.org/show_bug.cgi?id=793458
1940 2018-02-20 11:46:49 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1942 * omx/gstomxbufferpool.c:
1943 omxbufferpool: add PERFORMANCE DEBUG message when copying output frames
1944 I spent quiet some time figuring out why performance of my pipeline were
1945 terrible. Turned out it was because of output frames being copied
1946 because of stride/offset mismatch.
1947 Add a PERFORMANCE DEBUG message to make it easier to spot and debug from logs.
1948 https://bugzilla.gnome.org/show_bug.cgi?id=793637
1950 2018-02-15 19:44:37 +0000 Tim-Philipp Müller <tim@centricular.com>
1956 === release 1.13.1 ===
1958 2018-02-15 17:50:14 +0000 Tim-Philipp Müller <tim@centricular.com>
1967 2017-06-30 15:15:06 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1969 * omx/gstomxh265enc.c:
1970 omxh265enc: fix typo in "periodicty-idr" property name
1971 Also fix the 'nick' of the property.
1972 omxh265enc is based on the code from omxh264enc and suffers the same
1973 typo as we fixed in https://bugzilla.gnome.org/show_bug.cgi?id=784370
1974 This element isn't part of a stable release yet so it's not an API
1976 https://bugzilla.gnome.org/show_bug.cgi?id=793390
1978 2018-02-08 19:18:59 +0000 Tim-Philipp Müller <tim@centricular.com>
1981 meson: make version numbers ints and fix int/string comparison
1982 WARNING: Trying to compare values of different types (str, int).
1983 The result of this is undefined and will become a hard error
1984 in a future Meson release.
1985 Also remove unused libversion/soversion.
1987 2017-12-12 16:50:00 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1992 include all OMX extension headers if present
1993 The OMX specs defines 8 headers that implementations can use to define
1994 their custom extensions. We were checking and including 3 and ignoring
1996 https://bugzilla.gnome.org/show_bug.cgi?id=792043
1998 2018-01-30 10:31:03 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2002 * tools/meson.build:
2003 meson: simplify OMX extensions detection
2004 We are now always checking which files are present or not, even when using our
2005 internal copy of OMX, rather than hardcoding the ones present in it.
2006 https://bugzilla.gnome.org/show_bug.cgi?id=792043
2008 2018-01-30 11:54:24 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
2012 * tools/meson.build:
2013 Revert "meson: use include_directories() with external OMX headers path"
2014 This reverts commit 9d37a92a615e54e8ee12f8c65bcfe386ec9de2d0.
2016 2017-11-27 14:52:10 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2018 * omx/gstomxh265enc.c:
2019 * omx/gstomxh265enc.h:
2020 omxh265enc: add some encoding properties
2021 constrained-intra-prediction and loop-filter-mode.
2022 Those map standard OMX settings.
2023 https://bugzilla.gnome.org/show_bug.cgi?id=792528
2025 2017-11-23 15:54:15 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2027 * omx/gstomxh264enc.c:
2028 * omx/gstomxh264enc.h:
2029 omxh264enc: add some encoding properties
2030 entropy-mode, constrained-intra-prediction and loop-filter-mode.
2031 Those map standard OMX settings.
2032 https://bugzilla.gnome.org/show_bug.cgi?id=792528
2034 2017-06-08 12:31:21 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2036 * omx/gstomxvideoenc.c:
2037 * omx/gstomxvideoenc.h:
2038 omxvideoenc: add zynqultrascaleplus specific properties
2039 https://bugzilla.gnome.org/show_bug.cgi?id=792528
2041 2017-10-31 12:24:39 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2043 * omx/gstomxvideoenc.c:
2044 omxvideoenc: document unit of target-bitrate property
2045 nTargetBitrate and nEncodeBitrate are defined in bits per second in the
2047 https://bugzilla.gnome.org/show_bug.cgi?id=792528
2049 2017-07-06 10:18:48 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2051 * omx/gstomxvideodec.c:
2052 * omx/gstomxvideodec.h:
2053 omxvideodec: add internal-entropy-buffers property on zynqultrascaleplus
2054 Custom property to control the number of internal buffers used in the
2055 decoder to smooth out entropy decoding performance.
2056 https://bugzilla.gnome.org/show_bug.cgi?id=792528
2058 2018-01-30 10:31:03 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2062 * tools/meson.build:
2063 meson: use include_directories() with external OMX headers path
2064 It seems cleaner to use the proper meson tools to include this path
2065 rather than manually tweak the build flags.
2066 This also allows us to simplify the OMX extensions detection code. We
2067 are now always checking which files are present, even when using our
2068 internal copy of OMX, rather than hardcoding the ones present in it.
2069 https://bugzilla.gnome.org/show_bug.cgi?id=792043
2071 2017-11-07 15:09:35 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2073 * omx/gstomxvideoenc.c:
2074 omxvideoenc: expose chroma format and bit depth in output caps
2075 As we added in the parser (bgo#792039) expose the chroma and bit
2076 depth information in output caps.
2077 https://bugzilla.gnome.org/show_bug.cgi?id=792040
2079 2017-11-07 14:30:45 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2081 * omx/gstomxvideoenc.c:
2082 omxvideoenc: factor out get_output_caps()
2083 No semantic change so far.
2084 https://bugzilla.gnome.org/show_bug.cgi?id=792040
2086 2017-12-29 11:59:36 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2088 * config/zynqultrascaleplus/gstomx.conf:
2091 * omx/gstomxvideodec.c:
2092 omxvideodec: add hack to pass color format from caps to OMX decoder
2093 This hack tries to pass as much information as possible from caps to the
2094 decoder before it receives any buffer. These information can be used by
2095 the OMX decoder to, for example, pre-allocate its internal buffers
2096 before starting to decode and so reduce its initial latency.
2097 This mechanism is currently supported by the zynqultrascaleplus decoder.
2098 https://bugzilla.gnome.org/show_bug.cgi?id=792040
2100 2017-12-01 12:43:19 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2103 log failing OMX calls as errors
2104 I find it confusing when debugging that OMX calls returning an error
2105 where not logged as GST_LEVEL_ERROR making them harder to spot.
2106 Fix this by introducing simple log macros checking the return value of
2107 the OMX call and logging failures as errors.
2108 https://bugzilla.gnome.org/show_bug.cgi?id=791069
2110 2017-10-30 11:59:19 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2113 add OMX_PERFORMANCE debug category
2114 Can be used to log buffers exchange between OMX and gst-omx to profile
2115 performances of the OMX component.
2116 Ideally this should be done using tracer hooks but it's currently not
2117 possible to define custom hooks outside of core.
2118 Use GST_DEBUG="OMX_PERFORMANCE:8" to enable it.
2120 https://github.com/gdesmott/gst-log-parser/blob/master/src/bin/omx-perf.rs
2121 as a simple program consuming those logs to generate gnuplot files and
2123 https://bugzilla.gnome.org/show_bug.cgi?id=791093
2125 2017-07-27 11:21:59 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2129 * omx/gstomxvideoenc.c:
2130 * omx/gstomxvideoenc.h:
2131 omxvideoenc: implement dmabuf import on zynqultrascaleplus
2132 The Zynq UltraScale+ encoder implements a custom OMX extension to
2133 directly import dmabuf saving the need of mapping input buffers.
2134 This can be use with either 'v4l2src io-mode=dmabuf' or an OMX video
2136 https://bugzilla.gnome.org/show_bug.cgi?id=792361
2138 2017-09-22 16:02:40 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2140 * omx/gstomxvideoenc.c:
2141 omxvideoenc: drop late input frames if QoS is enabled
2142 Make use of the new GstVideoEncoder QoS API to drop late input frames. This may
2143 help a live pipeline to catch up if it's being late and all frames end up
2144 being dropped at the sink.
2145 https://bugzilla.gnome.org/show_bug.cgi?id=792783
2147 2018-01-19 15:18:23 +0530 Ashish Kumar <kr.ashish@samsung.com>
2149 * examples/egl/testegl.c:
2150 TestEgl: Removed redundant/unused code
2151 https://bugzilla.gnome.org/show_bug.cgi?id=788550
2153 2018-01-03 16:07:18 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2155 * omx/gstomxvideoenc.c:
2156 omxvideoenc: early return in fill_buffer() if something goes wrong
2157 If something goes wrong while trying to manually copy the input buffer,
2158 the 'break' was moving us out of the 'for' loop but not out of the switch block.
2159 So we ended up calling gst_video_frame_unmap() a second time (raising
2160 assertions) and returning TRUE rather than FALSE.
2161 Reproduced with a WIP zynqultrascaleplus OMX branch reporting wrong
2162 buffer sizes and so triggering this bug.
2163 https://bugzilla.gnome.org/show_bug.cgi?id=792167
2165 2017-12-19 16:09:41 +0000 Tim-Philipp Müller <tim@centricular.com>
2168 meson: gl: the winsys and platform list in the .pc file is space-separated
2170 2017-12-19 16:08:58 +0000 Tim-Philipp Müller <tim@centricular.com>
2173 meson: fix subproject fallback for gstreamer-gl-1.0
2176 2017-12-12 17:30:27 +0000 Julien Isorce <jisorce@oblong.com>
2178 * omx/gstomxvideo.c:
2179 * omx/gstomxvideo.h:
2180 * omx/gstomxvideodec.c:
2181 omxvideodec: ignore very little variations of the framerate
2183 The dynamic format change should not happen when the
2184 resolution does not change and when only the framerate
2185 changes but very slightly, i.e. from 50000/1677=29.81
2186 to 89/3=29.66 so a "percentage change" of less than 1%
2187 (i.e. 100*(29.81-29.66)/29.66 = 0.50 < 1 ). In that case
2188 just ignore it to avoid unnecessary renegotiation.
2189 https://bugzilla.gnome.org/show_bug.cgi?id=759043
2191 2017-08-09 12:07:33 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2193 * omx/gstomxvideodec.c:
2194 * omx/gstomxvideodec.h:
2195 omxvideodec: use dynamic buffer mode on input if possible
2196 Prevent from copying the input buffers between GStreamer and OMX.
2197 Tested on zynqultrascaleplus and rpi (without dynamic buffers).
2198 https://bugzilla.gnome.org/show_bug.cgi?id=787093
2200 2017-07-20 16:35:31 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2202 * omx/gstomxvideoenc.c:
2203 * omx/gstomxvideoenc.h:
2204 omxvideoenc: use dynamic buffer mode on input if possible
2205 If the OMX component supports dynamic buffer mode and the input buffers
2206 are properly aligned avoid copying each input frame between OMX and
2208 Tested on zynqultrascaleplus and rpi (without dynamic buffers).
2209 https://bugzilla.gnome.org/show_bug.cgi?id=787093
2211 2017-07-20 12:56:37 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2213 * omx/gstomxvideodec.c:
2214 * omx/gstomxvideoenc.c:
2215 omxvideoenc/dec: factor out input buffer allocation
2216 No semantic change so far. I'm going to add an alternate way to allocate
2218 https://bugzilla.gnome.org/show_bug.cgi?id=787093
2220 2017-07-20 16:31:54 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2224 omx: add API to implement dynamic buffers support
2225 OMX 1.2.0 introduced a third way to manage buffers by allowing
2226 components to only allocate buffers header during their initialization
2227 and change their pBuffer pointer at runtime.
2228 This new feature can save us a copy between GStreamer and OMX for each
2230 This patch adds API to allocate and use such buffers.
2231 https://bugzilla.gnome.org/show_bug.cgi?id=787093
2233 2017-12-14 14:53:17 +1100 Matthew Waters <matthew@centricular.com>
2236 Automatic update of common submodule
2237 From e8c7a71 to 3fa2c9e
2239 2017-12-13 12:06:40 +0000 Julien Isorce <jisorce@oblong.com>
2241 * omx/gstomxvideodec.c:
2242 omxvideodec: consolidate the decision to try UseBuffer
2243 The tee element can call gst_query_add_allocation_pool with pool as NULL.
2244 Checking nth > 0 is not enough so we need to verify if there is a pool.
2245 https://bugzilla.gnome.org/show_bug.cgi?id=730758
2246 https://bugzilla.gnome.org/show_bug.cgi?id=784069
2248 2017-12-12 14:45:30 +0000 Julien Isorce <jisorce@oblong.com>
2250 * omx/gstomxvideo.c:
2251 * omx/gstomxvideo.h:
2252 * omx/gstomxvideodec.c:
2253 * omx/gstomxvideoenc.c:
2254 gstomxvideodec: fix framerate overflow
2255 Some live streams can set the framerate to 50000/1677 (=29.81).
2256 GstVideoInfo.fps_n << 16 is wrong if the fps_n is 50000
2257 (i.e. greater than 32767).
2258 https://bugzilla.gnome.org/show_bug.cgi?id=759043
2260 2017-08-22 13:48:26 +0100 Julien Isorce <jisorce@oblong.com>
2263 * examples/egl/Makefile.am:
2264 * examples/egl/meson.build:
2265 * examples/egl/testegl.c:
2267 example: port testegl.c to desktop
2268 Will be easier to maintain.
2269 Also uniformize autotool build with meson build which is
2270 already retrieving the gl libs.
2271 https://bugzilla.gnome.org/show_bug.cgi?id=781606
2273 2017-12-11 15:55:44 +0000 Julien Isorce <jisorce@oblong.com>
2276 meson: move omx features check after target selection
2277 And uses gst_omx_args instead of add_global_arguments.
2278 Similar to c69232852120d064c689caef07b3c68ad8fe6288
2279 which was only for configure.ac
2280 Useful to get omxvp8dec with meson too:
2281 meson . buildtmp -D with_omx_target=tizonia
2282 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2284 2017-12-04 17:11:04 +0000 Julien Isorce <jisorce@oblong.com>
2286 * config/tizonia/gstomx.conf.in:
2287 config: add OMX.Aratelia.audio_decoder.aac to Tizonia config
2288 Useful mostly for testing/debugging purpose as this is a software
2289 based decoder (libfaad) for which GStreamer provides a direct
2291 https://bugzilla.gnome.org/show_bug.cgi?id=791482
2293 2017-11-29 14:18:41 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2295 * omx/gstomxvideodec.c:
2296 omxvideodec: retrieve OMX_IndexParamVideoPortFormat before setting it
2297 The usual pattern when setting OMX params is to first get the struct
2298 param, override the values we want to set and then set the updated
2300 We were not doing this with OMX_IndexParamVideoPortFormat and so were
2301 resetting some fields such as OMX_VIDEO_PARAM_PORTFORMATTYPE.xFramerate
2302 https://bugzilla.gnome.org/show_bug.cgi?id=790979
2304 2017-05-21 17:34:51 +0100 Julien Isorce <jisorce@oblong.com>
2306 * omx/gstomxaacenc.c:
2307 omxaacenc: also set 'profile' if mpegversion is 4
2308 Like done by gst_codec_utils_aac_caps_set_level_and_profile
2309 which is called by avenc_aac, ffaac and voaacenc.
2310 https://bugzilla.gnome.org/show_bug.cgi?id=735208
2312 2017-10-24 12:19:50 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2315 omx: wait for flush complete and buffers being released when flushing
2316 As stated in the existing comment, when flusing we should wait for OMX
2317 to send the flush command complete event AND all ports being released.
2318 We were stopping as soon as one of those condition was met.
2319 Fix a race between FillThisBufferDone/EmptyBufferDone and the flush
2320 EventCmdComplete messages. The OMX implementation is supposed to release
2321 its buffers before posting the EventCmdComplete event but the ordering
2322 isn't guaranteed as the FillThisBufferDone/EmptyBufferDone and
2323 EventHandler callbacks can be called from different threads (cf 2.7
2324 'Thread Safety' in the spec).
2325 https://bugzilla.gnome.org/show_bug.cgi?id=789475
2327 2017-10-24 11:45:20 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2330 gst_omx_port_set_flushing: simplify waiting loop
2331 No semantic change so far, I just made the 'while' end condition easier
2332 to understand as a first step before changing it.
2333 - move error/time out checks inside the loop to make it clearer on what
2334 we are actually waiting for.
2335 - group port->buffers checks together with parenthesis as they are part
2336 of the same conceptual check: waiting for all buffers to be released.
2337 https://bugzilla.gnome.org/show_bug.cgi?id=789475
2339 2017-11-27 20:17:17 +1100 Matthew Waters <matthew@centricular.com>
2342 Automatic update of common submodule
2343 From 3f4aa96 to e8c7a71
2345 2017-11-23 15:03:48 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2347 * omx/gstomxh264enc.c:
2348 * omx/gstomxh264utils.c:
2349 zynqultrascaleplus: add support for extra AVC levels
2350 The Zynqultrascaleplus has support for extra AVC levels not defined in
2351 the OMX spec as a customer extension.
2352 https://bugzilla.gnome.org/show_bug.cgi?id=790758
2354 2017-10-16 14:47:07 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2358 * config/meson.build:
2361 * tests/Makefile.am:
2362 * tests/check/.gitignore:
2363 * tests/check/Makefile.am:
2364 * tests/check/generic/.gitignore:
2365 * tests/check/generic/states.c:
2366 * tests/check/meson.build:
2367 * tests/meson.build:
2369 Most of the boilerplate and the states test has been copied from
2371 https://bugzilla.gnome.org/show_bug.cgi?id=789094
2373 2017-10-17 13:07:05 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2376 * tools/meson.build:
2377 meson: add tools support
2378 Looks like the tools directory was left out during the initial port to
2380 https://bugzilla.gnome.org/show_bug.cgi?id=789090
2382 2017-10-16 14:24:50 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2385 omx: fix build on rpi
2386 The nTimeStamp field is a OMX_TICKS struct on the rpi so use the proper
2388 Fix build on the build which has been broken by
2389 b3173144b7c1b12c9e1b7571f78659be45d813f6
2390 https://bugzilla.gnome.org/show_bug.cgi?id=789052
2392 2017-10-17 12:11:04 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2396 check if Allegro headers are present when building zynqultrascaleplus
2397 The Zynq UltraScale+ uses a custom version of OMX implementing several
2398 3rd party extensions. Make sure those are present when building this
2400 https://bugzilla.gnome.org/show_bug.cgi?id=788064
2402 2017-10-16 12:42:44 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2404 * omx/gstomxvideodec.c:
2405 omxvideodec: remove redundant debug message
2406 We have already a debug message right after.
2407 https://bugzilla.gnome.org/show_bug.cgi?id=789058
2409 2017-10-16 13:26:38 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2411 * omx/gstomxh265enc.c:
2412 * omx/gstomxh265utils.c:
2413 omxh265: fix enum casting when using Allegro HEVC extensions
2414 Allegro's HEVC implementation defines a superset of the profiles and
2415 enums from the Android implementation.
2416 Properly cast to fix -Wenum-conversion warnings from clang.
2417 https://bugzilla.gnome.org/show_bug.cgi?id=789057
2419 2017-10-16 13:08:12 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2421 * omx/gstomxh265enc.c:
2422 * omx/gstomxvp8dec.c:
2423 properly cast extension enums
2424 OMX's allow 3rds party to define extensions using their own enums
2425 (like OMX_VIDEO_CODINGEXTTYPE) and to be used as the general
2426 ones (like OMX_VIDEO_CODINGTYPE).
2427 Properly cast those to fix -Wenum-conversion warnings from some
2428 compilers such as clang.
2429 https://bugzilla.gnome.org/show_bug.cgi?id=789057
2431 2017-10-09 13:12:35 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2434 omx: also reset nTimeStamp when re-using buffers
2435 Some OMX implementations may check if the timestamp of the output buffers
2436 they receive is actually not set.
2437 https://bugzilla.gnome.org/show_bug.cgi?id=788711
2439 2017-10-04 17:11:55 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2442 omx: factor out gst_omx_buffer_reset()
2443 https://bugzilla.gnome.org/show_bug.cgi?id=788711
2445 2017-10-09 17:27:22 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2449 * omx/gstomxvideodec.c:
2450 * omx/gstomxvideoenc.c:
2451 add gst_omx_buffer_flags_to_string()
2452 Make debug logs more readable so users don't have to manually figure out
2453 the meaning of flags.
2454 https://bugzilla.gnome.org/show_bug.cgi?id=788767
2456 2017-09-27 19:47:29 +0530 Ponnam Srinivas <p.srinivas@samsung.com>
2458 * omx/gstomxh263enc.c:
2459 h263enc: fix caps leak in error code path
2460 https://bugzilla.gnome.org/show_bug.cgi?id=788245
2462 2017-09-21 15:21:36 +0530 Ponnam Srinivas <p.srinivas@samsung.com>
2464 * omx/gstomxh264enc.c:
2465 omxh264enc: fix caps leak
2466 https://bugzilla.gnome.org/show_bug.cgi?id=787711
2468 2017-09-21 11:36:46 +0530 Ponnam Srinivas <p.srinivas@samsung.com>
2470 * omx/gstomxh265enc.c:
2471 omxh265enc: fix caps leak
2472 https://bugzilla.gnome.org/show_bug.cgi?id=787714
2474 2017-09-13 15:32:51 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2476 * omx/gstomxvideodec.c:
2477 omxvideodec: log info about frame before releasing it
2478 gst_video_decoder_release_frame() takes ownership of the frame and will
2479 destroy it. So we should no longer use it after calling it.
2480 https://bugzilla.gnome.org/show_bug.cgi?id=787628
2482 2017-08-20 20:19:33 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2485 configure: Show tizonia target in help
2486 https://bugzilla.gnome.org/show_bug.cgi?id=786544
2488 2017-07-12 14:35:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2490 * config/zynqultrascaleplus/gstomx.conf:
2493 * omx/gstomxh265dec.c:
2494 * omx/gstomxh265dec.h:
2496 omxh265dec: add H265 decoder
2497 Add HEVC decoder for the zynqultrascaleplus platform.
2498 I used the H264 decoder code as a template.
2499 https://bugzilla.gnome.org/show_bug.cgi?id=785434
2501 2017-07-12 11:01:15 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2503 * config/zynqultrascaleplus/gstomx.conf:
2508 * omx/gstomxh265enc.c:
2509 * omx/gstomxh265enc.h:
2510 * omx/gstomxh265utils.c:
2511 * omx/gstomxh265utils.h:
2513 omxh265enc: add H265 encoder
2514 The OMX spec doesn't support HEVC but the OMX stack of the
2515 zynqultrascaleplus adds it as a custom extension.
2516 It uses the same API as the one of Android's OMX stack.
2517 I used the H264 encoder code as a template.
2518 https://bugzilla.gnome.org/show_bug.cgi?id=785434
2520 2017-08-28 13:56:22 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2522 * omx/gstomxvideoenc.c:
2523 omxvideoenc: use caps from query in propose_allocation
2524 Prevent crash by not deferencing a NULL pointer if self->input_state
2525 isn't defined when propose_allocation() is called.
2526 https://bugzilla.gnome.org/show_bug.cgi?id=786442
2528 2017-09-04 09:34:03 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2531 omx: display states as string if changing failed
2532 Improve the error message by displaying the states in their string
2533 representation rather than their numerical value.
2534 https://bugzilla.gnome.org/show_bug.cgi?id=787235
2536 2017-08-22 10:22:45 +0100 Julien Isorce <jisorce@oblong.com>
2538 * omx/gstomxvideodec.c:
2539 omxvideodec: EGLDisplay is not indirectly defined by gstgl headers inclusion
2540 Just use gpointer as done in GstGL to not include
2541 EGL/egl.h just for EGLDisplay.
2542 https://bugzilla.gnome.org/show_bug.cgi?id=784779
2544 2017-07-14 16:34:04 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2546 * config/tizonia/gstomx.conf.in:
2547 config: expose OMX.mesa h264 decoder and encoder in Tizonia config
2548 https://bugzilla.gnome.org/show_bug.cgi?id=783976
2550 2017-08-11 07:48:37 -0700 Julien Isorce <jisorce@oblong.com>
2552 * omx/gstomxvideodec.c:
2553 omxvideodec: remove wrong SettingsChanged ack
2554 Partially revert 1b7d0b8:
2555 omxvideodec: handle IL 1.2 behavior for OMX_SetParameter
2556 It turned out it was a problem in the decoder which was
2557 not updating some local variables upon SetParameter.
2558 https://bugzilla.gnome.org/show_bug.cgi?id=783976
2560 2017-07-20 09:43:19 +0100 Julien Isorce <jisorce@oblong.com>
2562 * omx/gstomxaudiodec.c:
2563 * omx/gstomxaudioenc.c:
2564 * omx/gstomxvideodec.c:
2565 * omx/gstomxvideoenc.c:
2566 omx{audio,video}{dec,enc}: sequentially disable ports because buffers are not shared
2567 For the history, the parallel disable port has been introduced by:
2568 "00be69f omxvideodec: Disable output port when setting a new format"
2569 and then replicated to videoenc, audiodec and audioenc.
2570 This is only required to do 'parallel' if buffers are shared between ports.
2571 But for decoders and encoders the input and output buffer are of different
2572 nature by definition (bitstream vs images). So they cannot be shared.
2573 Also starting from IL 1.2.0 it is written in the spec that the parallel
2574 disable is not allowed and will return an error. Except when buffers are
2576 Again here we know in advance that they are not shared so let's always
2577 do a sequential disable.
2578 Tested on Desktop, rpi and zynqultrascaleplus.
2579 https://bugzilla.gnome.org/show_bug.cgi?id=786348
2581 2017-08-17 12:26:05 +0100 Tim-Philipp Müller <tim@centricular.com>
2584 Automatic update of common submodule
2585 From 48a5d85 to 3f4aa96
2587 2017-08-10 12:16:53 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2589 * omx/gstomxvideodec.c:
2590 omxvideodec: use the decoder API to set latency
2591 https://bugzilla.gnome.org/show_bug.cgi?id=785125
2593 2017-07-06 14:19:19 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2595 * omx/gstomxvideodec.c:
2596 * omx/gstomxvideoenc.c:
2597 omxvideoenc/dec: declare latency on zynqultrascaleplus
2598 The OMX specification doesn't provide any API to expose the latency
2599 introduced by encoders and decoders. We implemented this as a custom
2600 extension as declaring the latency is needed for live pipelines like
2602 https://bugzilla.gnome.org/show_bug.cgi?id=785125
2604 2017-08-07 13:16:01 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2606 * omx/gstomxvideoenc.c:
2607 omxvideoenc: adjust stride and slice height from input
2608 Use the stride and slice height information from the first buffer meta
2609 data to adjust the settings of the input port.
2610 This will ensure that the OMX input buffers match the GStreamer ones
2611 and so will save us from having to copy line-by-line each one.
2612 This is also the first step to allow the OMX encoder to receive dmabuf.
2613 Tested on rpi and zynqultrascaleplus.
2614 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2616 2017-08-07 11:45:29 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2618 * omx/gstomxvideoenc.c:
2619 omxvideoenc: delay buffer configuration until component is enabled
2620 No significant change for now. Just delay the input port configuration
2621 of the buffer size related fields (stride, slice height, buffer size)
2622 until the component is activated.
2623 This will allow us to use the actual stride/height of the first input
2624 and so avoid the buffer copying code path in most cases.
2625 Tested on rpi and zynqultrascaleplus.
2626 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2628 2017-07-24 13:52:35 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2630 * omx/gstomxvideodec.c:
2631 * omx/gstomxvideoenc.c:
2632 omxvideodec/enc: delay allocation after the allocation query
2633 Allocating OMX components buffers in set_format() is too early.
2634 Doing it when receiving the first buffers will allow the element to use
2635 the information from the allocation query and/or the first incoming
2636 buffer to pick to best allocation mode.
2637 Tested on raspberry pi with dynamic resolution changes on decoder and
2639 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2641 2017-07-25 14:27:45 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2643 * omx/gstomxvideoenc.c:
2644 omxvideoenc: start src thread in handle_frame()
2645 Makes the code simpler as we no longer need to restart the thread in
2646 gst_omx_video_enc_flush() and It's more symetric which the omxvideodec
2648 I'm also going to move the enabling of the OMX component in
2649 handle_frame() and the src pad thread needs to be started after it.
2650 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2652 2017-07-25 14:07:30 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2654 * omx/gstomxvideodec.c:
2655 omxvideodec: earlier return if downstream_flow_ret is not OK
2656 There is no point to (re)start the src thread if, for example, we are
2658 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2660 2017-07-24 12:31:37 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2662 * omx/gstomxvideodec.c:
2663 * omx/gstomxvideodec.h:
2664 omxvideodec: factor out enable and disable code
2665 No semantic change, just factor out the code enabling and disabling the
2666 component to their own functions.
2667 Makes the code easier to read as the set_format() method was already
2668 pretty big. Will also allow us to easily change the enabling logic.
2669 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2671 2017-07-24 12:31:37 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2673 * omx/gstomxvideoenc.c:
2674 * omx/gstomxvideoenc.h:
2675 omxvideoenc: factor out enable and disable code
2676 No semantic change, just factor out the code enabling and disabling the
2677 component to their own functions.
2678 Makes the code easier to read as the set_format() method was already
2679 pretty big. Will also allow us to easily change the enabling logic.
2680 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2682 2017-07-27 12:12:01 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2685 omx: also reset nFilledLen before calling OMX_FillThisBuffer()
2686 The spec states that the buffer passed to OMX_FillThisBuffer() needs to be
2687 empty. Some implementation may check it actually is by checking its
2688 nFilledLen field, so best to reset it as well.
2689 https://bugzilla.gnome.org/show_bug.cgi?id=785623
2691 2017-07-17 21:06:47 +0100 Julien Isorce <jisorce@oblong.com>
2693 * omx/gstomxvideodec.c:
2694 * omx/gstomxvideodec.h:
2695 omxvideodec: make generic the OMX_UseEGLImage code path
2696 Will be easier to maintain and to make enhancements.
2697 Tested with Tizonia on Desktop.
2698 Also tested with Bellagio to make sure it does not crash when
2699 calling OMX_UseEGLImage and indeed it returns NotImplemented.
2700 Then gst-omx fallback to OMX_UseBuffer if it can and so on.
2701 Also tested on rpi to make sure there is no regression.
2702 https://bugzilla.gnome.org/show_bug.cgi?id=784365
2704 2017-07-21 11:52:00 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
2706 * omx/gstomxvideodec.c:
2707 omxvideodec: Fix segment seek
2708 On segment seek, unlike EOS, we drain, but we cannot expect a flush
2709 later to reset the decoder state. As a side effect, the decoder would
2710 remain in EOS state and ignore any new incoming buffers.
2711 To fix this, we call _flush() inside the _drain() function, and
2712 _finish() becomes what _drain() was before. This way, for _finish() (the
2713 eos case) we only drain, for _drain() triggered by segment seek or new
2714 caps, we also reset the decoder state so it's ready to accept buffers.
2715 https://bugzilla.gnome.org/show_bug.cgi?id=785237
2717 2017-07-10 15:00:58 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2719 * omx/gstomxvideoenc.c:
2720 omxvideoenc: ensure enough buffers are allocated in the pool
2721 Handle allocation query and ensure enough buffers are allocated in
2722 the negotiated pool. This help preventing buffer starvation in the pipeline.
2723 https://bugzilla.gnome.org/show_bug.cgi?id=785122
2725 2017-07-04 12:16:39 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2730 * omx/gstomxbufferpool.c:
2731 * omx/gstomxbufferpool.h:
2732 * omx/gstomxvideodec.c:
2733 * omx/gstomxvideodec.h:
2735 omxvideodec: add dmabuf support for output
2736 The zynqultrascaleplus OMX implementation has a custom extension
2737 allowing decoders to output dmabuf and so avoid buffers copy between OMX
2739 Make use of this extension when built on the zynqultrascaleplus. The
2740 buffer pool code should be re-usable for other platforms as well.
2741 https://bugzilla.gnome.org/show_bug.cgi?id=784847
2743 2017-06-20 00:13:33 +0100 Julien Isorce <jisorce@oblong.com>
2745 * config/tizonia/gstomx.conf.in:
2746 config: add OMX.Aratelia.video_decoder.vp8 to Tizonia config
2747 Useful mostly for testing/debugging purpose as this is a software
2748 based encoder (libvpxdec) for which GStreamer provides a direct
2750 https://bugzilla.gnome.org/show_bug.cgi?id=783976
2752 2017-06-19 23:56:02 +0100 Julien Isorce <jisorce@oblong.com>
2754 * omx/gstomxvideodec.c:
2755 omxvideodec: handle IL 1.2 behavior for OMX_SetParameter
2756 It triggers SettingsChanged on the other port and it is up to
2757 the client to decide if it should lead to a port reconfiguration.
2758 Settings are propagated to the other port for fields they have
2759 in common. But this event is only triggered on the other port
2760 if it actually change a setting.
2761 https://bugzilla.gnome.org/show_bug.cgi?id=783976
2763 2017-07-18 23:41:17 +0100 Julien Isorce <jisorce@oblong.com>
2765 * config/tizonia/gstomx.conf.in:
2766 config: set rank to 0 for Tizonia's mp3 decoder
2767 Should have been 0 from the initial commit
2768 eed49b4231a063639f90279c8044404c2149902a
2770 2017-07-17 21:03:55 +0100 Julien Isorce <jisorce@oblong.com>
2772 * omx/gstomxvideodec.c:
2773 omxvideodec: fix file permissions
2774 Introduced by ebc9b4903cbdac2793c24b05a1bb7acc3b67fae5
2776 2017-06-29 23:17:26 +0100 Julien Isorce <jisorce@oblong.com>
2778 * omx/gstomxvideodec.c:
2779 omxvideodec: fix buffer leak when eglimage setup fails
2780 Can happen if gst_buffer_pool_acquire_buffer succeeds but
2781 gst_buffer_n_memory (buffer) is not exactly 1.
2782 In theory this should not happen because the decoder requests
2783 EGLImage(RGBA) but better to fix any leak on corner cases.
2784 https://bugzilla.gnome.org/show_bug.cgi?id=784365
2786 2017-07-17 18:36:36 +0530 Satya Prakash Gupta <sp.gupta@samsung.com>
2789 omx: Possible Memory leak in gst_caps_from_string
2790 https://bugzilla.gnome.org/show_bug.cgi?id=784978
2792 2017-07-17 15:48:44 +0530 Satya Prakash Gupta <sp.gupta@samsung.com>
2794 * omx/gstomxvideoenc.c:
2795 omxvideoenc: Fix deadlock in error case when draining
2796 https://bugzilla.gnome.org/show_bug.cgi?id=784972
2798 2017-07-17 13:44:54 +0530 Satya Prakash Gupta <sp.gupta@samsung.com>
2800 * omx/gstomxaudioenc.c:
2801 omxaudioenc: Fix deadlock in error case when draining
2802 https://bugzilla.gnome.org/show_bug.cgi?id=784967
2804 2017-06-02 12:36:30 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2809 build: include OMX_IndexExt and OMX_ComponentExt if present
2810 These files may be used by OMX implementation to define custom extensions.
2811 Include them if present as we are already doing with OMX_VideoExt.h
2812 https://bugzilla.gnome.org/show_bug.cgi?id=784847
2814 2017-07-13 16:40:26 +1000 Jan Schmidt <jan@centricular.com>
2816 * omx/gstomxh264enc.c:
2817 omxh264enc: Re-add periodicty-idr property for backward compat
2818 Retain backwards compatibility by adding a duplicate
2819 property for periodicty-idr
2820 https://bugzilla.gnome.org/show_bug.cgi?id=784370
2822 2017-06-30 15:15:06 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2824 * omx/gstomxh264enc.c:
2825 omxh264enc: fix typo in "periodicty-idr" property name
2826 Also fix the 'nick' of the property.
2827 https://bugzilla.gnome.org/show_bug.cgi?id=784370
2829 2017-06-29 22:48:47 +0100 Julien Isorce <jisorce@oblong.com>
2831 * omx/gstomxvideodec.c:
2832 * omx/gstomxvideodec.h:
2833 omxvideodec: use OMX_UseBuffer
2834 For example this allows the omx decoder to directly fill the
2835 pixmaps coming from the video sink.
2836 It only avoids a buffer copy when the decoder uses a pool provided
2837 by a downstream element. So let's restrict this usage to situations
2838 where the decoder decides to use a downstream buffer pool.
2839 Tested with Tizonia/OMX.Aratelia.video_decoder.vp8
2840 and with Bellagio/OMX.mesa.video_decoder.avc.
2841 If it fails to setup buffers with OMX_UseBuffer the decoders
2842 fallbacks to usual OMX_AllocateBuffer.
2843 Also it allows to test on desktop the GstOMXBufferPool->other_pool
2844 management which was previously only used in the OMX_UseEGLImage
2846 https://bugzilla.gnome.org/show_bug.cgi?id=784069
2848 2017-07-12 10:29:16 +0100 Julien Isorce <jisorce@oblong.com>
2851 omx: do not always print an error if OMX_{UseBuffer,EGLImage} fails
2852 Let the caller decide to print an error. Because it can be part of
2853 a normal trial path.
2854 https://bugzilla.gnome.org/show_bug.cgi?id=784069
2856 2017-07-12 16:00:53 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2859 meson: add gstomxmp3enc
2860 Commit 02d493e85921596f7cac7ef4af02fde500e9a5d8 didn't add
2861 gstomxmp3enc.c to meson.
2862 https://bugzilla.gnome.org/show_bug.cgi?id=784848
2864 2017-05-23 10:32:58 +0100 Julien Isorce <jisorce@oblong.com>
2866 * config/tizonia/gstomx.conf.in:
2867 config: add OMX.Aratelia.audio_encoder.mp3 to Tizonia config
2868 Useful mostly for testing/debugging purpose as this is a software
2869 based encoder (libmp3lame) for which GStreamer provides a direct
2871 https://bugzilla.gnome.org/show_bug.cgi?id=782988
2873 2017-05-23 10:32:06 +0100 Julien Isorce <jisorce@oblong.com>
2877 * omx/gstomxmp3enc.c:
2878 * omx/gstomxmp3enc.h:
2879 omx: add gstomxmp3enc
2880 Initial support and only tested with the software based
2881 encoder OMX.Aratelia.audio_encoder.mp3 from Tizonia which
2882 internally uses libmp3lame.
2883 https://bugzilla.gnome.org/show_bug.cgi?id=782988
2885 2017-03-28 16:27:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2887 * config/zynqultrascaleplus/gstomx.conf:
2890 * omx/gstomxh264dec.c:
2891 h264dec: add hack to pass profile and level to OMX
2892 This information can be useful to zynqultrascaleplus decoders. They may
2893 use this information to reduce startup latency by configuring itself
2894 before receiving the first frames.
2895 We also have a custom OMX extension allowing the decoder to report the
2896 latency. The profile/level information helps it reporting a more
2897 accurate latency earlier.
2898 https://bugzilla.gnome.org/show_bug.cgi?id=783114
2900 2017-07-03 13:17:11 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2903 * omx/gstomxh264enc.c:
2904 * omx/gstomxh264utils.c:
2905 * omx/gstomxh264utils.h:
2907 omxh264enc: move profile and level parsing functions to their own files
2908 Will allow to re-use them in the decoder element.
2909 https://bugzilla.gnome.org/show_bug.cgi?id=783114
2911 2017-07-04 03:15:00 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2913 * config/meson.build:
2914 * config/tizonia/meson.build:
2916 * meson_options.txt:
2917 meson: Add tizonia option
2918 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2920 2017-04-29 02:56:59 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2923 * config/tizonia/Makefile.am:
2924 * config/tizonia/gstomx.conf.in:
2925 * config/tizonia/meson.build:
2927 config: add omxmp3dec config for tizonia
2928 GST_OMX_CONFIG_DIR=$HOME/gst/master/gst-omx/config/tizonia/ \
2929 gst-launch-1.0 filesrc location=mpthreetest.mp3 ! id3demux ! \
2930 mpegaudioparse ! omxmp3dec ! audioconvert ! pulsesink
2931 v2: [Nicolas] Use template to create gstomx.conf using pkg-config
2932 v3: [Nicolas] Ignore only config/tizonia/gstomx.conf
2933 v4: [Nicolas] Add "/" for single occurence
2934 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2936 2017-05-07 20:09:54 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2939 omx: always ignore OMX_ErrorPortUnpopulated
2940 It is safe to ignore it always. Tizonia notifies this error to pass
2941 some khronos conformance tests. Problem is that gst-omx saves this
2942 error in comp->last_error and then gst_omx_port_set_enabled early
2943 error out which fails the pipeline.
2944 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2946 2017-04-29 02:53:26 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2950 omx: guard some omx enums with IL version
2951 Some enums that existed in 1.1.2 just do not exit in 1.2.0
2952 See https://www.khronos.org/registry/OpenMAX-IL/specs/OpenMAX_IL_1_2_0_Specification_redline.pdf
2953 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2955 2017-04-29 01:56:01 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2958 configure.ac: add tizonia target for --with-omx-target flag.
2959 This will check for tizilheaders.pc which adds path to omx-il
2960 headers its cflags. Can be installed all together with the 1.2 headers
2961 with package tizilheaders if not building from sources:
2962 https://github.com/tizonia/tizonia-openmax-il
2963 It is also adviced to remove libomxil-bellagio-dev package because
2964 it installs headers /usr/include directly, ex: /usr/include/OMX_Video.h.
2965 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2967 2017-07-05 10:47:41 +0100 Julien Isorce <jisorce@oblong.com>
2969 * omx/gstomxaudioenc.c:
2970 omxaudioenc: update local port_def after reopening the component
2971 gst_omx_audio_enc_open will only update GstOMXAudioEnc->port->port_def.
2972 Note that the component is reopen only if the flag
2973 GST_OMX_HACK_NO_COMPONENT_RECONFIGURE is set.
2974 https://bugzilla.gnome.org/show_bug.cgi?id=782418
2976 2017-07-05 10:48:52 +0100 Julien Isorce <jisorce@oblong.com>
2978 * omx/gstomxvideoenc.c:
2979 omxvideoenc: update local port_def after reopening the component
2980 gst_omx_video_enc_open will only update GstOMXVideoEnc->port->port_def.
2981 Note that the component is reopen only if the flag
2982 GST_OMX_HACK_NO_COMPONENT_RECONFIGURE is set.
2983 https://bugzilla.gnome.org/show_bug.cgi?id=782418
2985 2017-05-10 12:38:39 +0900 Sejun Park <sejun79.park@samsung.com>
2987 * omx/gstomxvideodec.c:
2988 omxvideodec: update local port_def after reopening the component
2989 gst_omx_video_dec_open will only update GstOMXVideoDec->port->port_def.
2990 Note that the component is reopen only if the flag
2991 GST_OMX_HACK_NO_COMPONENT_RECONFIGURE is set.
2992 https://bugzilla.gnome.org/show_bug.cgi?id=782418
2994 2017-07-03 16:33:06 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2996 * omx/gstomxvideodec.c:
2997 omxvideodec: increase the minimum number of allocated buffers
2998 Ensure that enough buffers are allocated by adding up component's own
2999 minimal plus the number of buffers requested by downstream.
3000 This should prevent buffers starvation problem if downstream elements
3001 are holding some of the buffers they required.
3002 Also simplify the check on the maximum on buffers. What we actually care
3003 about is to make sure the pool can hold the minimum of required buffers.
3004 https://bugzilla.gnome.org/show_bug.cgi?id=784479
3006 2017-07-03 10:54:50 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3008 * omx/gstomxh264enc.c:
3009 omxh264enc: raise a warning if AVCIntraPeriod is not supported
3010 Some platforms may not implement OMX_IndexConfigVideoAVCIntraPeriod and
3011 use OMX_IndexParamVideoAvc instead to configure the GOP pattern.
3012 So raise a warning instead of an error if this API is not implemented.
3013 https://bugzilla.gnome.org/show_bug.cgi?id=784379
3015 2017-06-29 14:16:19 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3017 * omx/gstomxh264enc.c:
3018 * omx/gstomxh264enc.h:
3019 omxh264enc: add 'b-frames' property
3020 Add a property to control the number of B-frames produced by the
3021 encoder using the OMX_VIDEO_PARAM_AVCTYPE OMX API.
3022 https://bugzilla.gnome.org/show_bug.cgi?id=784379
3024 2017-06-30 14:18:35 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3026 * omx/gstomxh264enc.c:
3027 omxh264enc: fix typo in 'set_avc_intra_period'
3028 https://bugzilla.gnome.org/show_bug.cgi?id=784379
3030 2017-05-22 11:23:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3032 * config/Makefile.am:
3033 * config/meson.build:
3034 * config/zynqultrascaleplus/Makefile.am:
3035 * config/zynqultrascaleplus/gstomx.conf:
3036 * config/zynqultrascaleplus/meson.build:
3039 * meson_options.txt:
3040 add 'zynqultrascaleplus' as OMX target
3041 Adding support for the 'Zynq UltraScale+' as a new OMX target.
3042 See https://www.xilinx.com/products/silicon-devices/soc/zynq-ultrascale-mpsoc.html
3043 for details about the platform.
3044 https://bugzilla.gnome.org/show_bug.cgi?id=783097
3046 2017-05-21 15:23:09 +0100 Julien Isorce <jisorce@oblong.com>
3048 * config/bellagio/gstomx.conf:
3049 config: add OMX.mesa.video_decoder.{avc,mpeg2} for Bellagio config
3050 Install libomxil-bellagio0 and make sure mesa has been built with
3051 --enable-omx. Check there is /usr/lib/libomxil-bellagio0/libomx_mesa.so
3052 then run omxregister-bellagio to regenerate $XDG_DATA_HOME/.omxregister
3053 Then omxh264dec and omxmpeg2dec should load.
3054 https://bugzilla.gnome.org/show_bug.cgi?id=782926
3056 2017-05-18 13:50:56 +0100 Julien Isorce <jisorce@oblong.com>
3059 configure.ac: move omx features check after target selection
3060 Does not change anything, except this will be useful for future commits.
3061 Indeed some targets provide a .pc file where to look for the omx headers.
3062 https://bugzilla.gnome.org/show_bug.cgi?id=782800
3064 2017-06-29 16:48:07 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3066 * omx/gstomxh264dec.c:
3067 omxh264dec: remove 'parsed=true' from sink pad
3068 The decoder only requires to receive one frame per buffer which is
3069 already enforced with 'alignment=au'. There is no need to require to
3070 have a parser upstream.
3071 Allow to run "encode ! decode" pipeline without having a parser.
3072 https://bugzilla.gnome.org/show_bug.cgi?id=784344
3074 2017-06-16 13:28:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3076 * omx/gstomxh264enc.c:
3077 omxh264enc: set profile/level using OMX_VIDEO_PARAM_AVCTYPE as well
3078 The OMX specification defines two API to set the AVC profile and level:
3079 using OMX_VIDEO_PARAM_PROFILELEVELTYPE and OMX_VIDEO_PARAM_AVCTYPE.
3080 We were already supporting the former but not the latter. We are now
3081 setting both so implementation don't have to rely on a specific one.
3082 https://bugzilla.gnome.org/show_bug.cgi?id=783862
3084 2017-06-16 13:19:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3086 * omx/gstomxh264enc.c:
3087 omxh264enc: factor out update_param_profile_level()
3088 https://bugzilla.gnome.org/show_bug.cgi?id=783862
3090 2017-06-16 12:53:15 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3092 * omx/gstomxh264enc.c:
3093 omxh264enc: factor out string to profile/level enum conversion
3094 https://bugzilla.gnome.org/show_bug.cgi?id=783862
3096 2017-06-28 15:06:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3098 * omx/gstomxh264enc.c:
3099 omxh264enc: use OMX_IndexConfigBrcmVideoIntraPeriod on pi
3100 The OMX_VIDEO_CONFIG_AVCINTRAPERIOD.nPFrames setting isn't of any use on
3101 the raspbery pi. Instead it uses a custom extension to define the I
3103 https://bugzilla.gnome.org/show_bug.cgi?id=783829
3105 2017-06-28 15:03:52 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3107 * omx/gstomxh264enc.c:
3108 omxh264enc: factor out set_avc_intra_perdiod()
3109 https://bugzilla.gnome.org/show_bug.cgi?id=783829
3111 2017-06-02 12:48:57 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3114 meson: define HAVE_VIDEO_EXT if OMX_VideoExt.h is present
3115 Meson build wasn't defining the HAVE_VIDEO_EXT like configure.ac does.
3116 https://bugzilla.gnome.org/show_bug.cgi?id=783346
3118 2017-06-11 12:32:01 +0000 Graham Leggett <minfrin@sharp.fm>
3120 * omx/gstomxvideoenc.c:
3121 omxvideoenc: Improve debug output when setting codec state due to new codec_data fails
3122 https://bugzilla.gnome.org/show_bug.cgi?id=783657
3124 2017-05-20 14:49:20 +0100 Julien Isorce <jisorce@oblong.com>
3127 omx: allow 0 feature
3128 Previously the omx plugin was blacklisted if GST_OMX_CONFIG_DIR
3129 points to an invalid path or if the gstomx.conf contains 0 valid
3131 Problem is that once the plugin is blacklisted, a rescan is not
3132 triggered upon changes of the env var or the gstomx.conf file
3133 despite being setup with gst_plugin_add_dependency.
3134 This also makes it more consistent with other plugins that auto
3135 generate features. For example gst-{ffmeg,libav}, gstreamer-vaapi,
3137 To clarify the diff, the plugin_init func will return TRUE even if
3138 g_key_file_get_groups returns 0 element and even if
3139 g_key_file_load_from_dirs fails.
3140 https://bugzilla.gnome.org/show_bug.cgi?id=782867
3142 2017-04-26 22:52:17 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
3144 * config/bellagio/gstomx.conf:
3145 config: add OMX.st.audio_decoder.mp3.mad for Bellagio config
3146 MP3 Software decoder (libmad based) but useful for testing
3147 and to compare with other targets.
3148 GST_OMX_CONFIG_DIR=$HOME/gst/master/gst-omx/config/bellagio/ \
3149 gst-launch-1.0 filesrc location=mpthreetest.mp3 ! id3demux ! \
3150 mpegaudioparse ! omxmp3dec ! audioconvert ! pulsesink
3151 Didn't add 'local' in core-name path compared to other components
3152 in that same gstomx.conf file because OMX.st.audio_decoder.mp3.mad
3153 comes with the Ubuntu package 'libomxil-bellagio0-components-mad'.
3154 All other components listed in this gstomx.conf for Bellagio, are
3155 not provided by any Ubuntu packages. It could explain the 'local',
3156 i.e. requiring to build them from source.
3157 dpkg -L libomxil-bellagio0
3158 /usr/lib/libomxil-bellagio.so.0
3159 https://bugzilla.gnome.org/show_bug.cgi?id=781786
3160 Signed-off-by: Gurkirpal Singh <gurkirpal204@gmail.com>
3161 Signed-off-by: Julien Isorce <jisorce@oblong.com>
3163 2017-05-16 14:39:04 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
3166 Remove plugin specific static build option
3167 Static and dynamic plugins now have the same interface. The standard
3168 --enable-static/--enable-shared toggle are sufficient.
3170 2017-05-10 12:10:10 +0900 Sejun Park <sejun79.park@samsung.com>
3172 * omx/gstomxvideodec.c:
3173 omxvideodec: Removed unreachable code
3174 https://bugzilla.gnome.org/show_bug.cgi?id=782416
3176 2017-05-09 16:26:44 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3179 meson: add dep on GModule
3180 libgstomx uses the GModule API and so needs it in its dependencies list.
3181 https://bugzilla.gnome.org/show_bug.cgi?id=782387
3183 2017-05-09 13:27:28 +0000 Tim-Philipp Müller <tim@centricular.com>
3186 meson: fix config.h generation
3187 "No such input file config.h.meson", but it's not needed anyway.
3188 https://bugzilla.gnome.org/show_bug.cgi?id=782382
3190 2017-05-04 18:59:33 +0300 Sebastian Dröge <sebastian@centricular.com>
3196 === release 1.12.0 ===
3198 2017-05-04 15:48:56 +0300 Sebastian Dröge <sebastian@centricular.com>
3208 === release 1.11.91 ===
3210 2017-04-27 17:53:50 +0300 Sebastian Dröge <sebastian@centricular.com>
3220 2017-04-17 17:02:48 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3222 * omx/gstomxvideoenc.c:
3223 videoenc: use GST_ROUND_UP_N() macro
3224 Makes the code much easier to read and understand.
3225 https://bugzilla.gnome.org/show_bug.cgi?id=781409
3227 2017-04-24 20:30:21 +0100 Tim-Philipp Müller <tim@centricular.com>
3230 Automatic update of common submodule
3231 From 60aeef6 to 48a5d85
3233 2017-04-10 23:51:00 +0100 Tim-Philipp Müller <tim@centricular.com>
3237 Automatic update of common submodule
3238 From 39ac2f5 to 60aeef6
3240 === release 1.11.90 ===
3242 2017-04-07 16:36:45 +0300 Sebastian Dröge <sebastian@centricular.com>
3252 2017-04-07 14:27:23 +0300 Sebastian Dröge <sebastian@centricular.com>
3254 * omx/gstomxvideoenc.c:
3255 omxvideoenc: Fix compiler warning
3256 gstomxvideoenc.c: In function ‘gst_omx_video_enc_fill_buffer’:
3257 CC libgstomx_la-gstomxaacdec.lo
3258 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=]
3259 GST_LOG_OBJECT (self, "Matched strides - direct copy %u bytes",
3261 outbuf->omx_buf->nFilledLen);
3264 2017-03-22 17:18:09 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
3267 meson: fix logic to set HAVE_THEORA
3268 https://bugzilla.gnome.org/show_bug.cgi?id=780392
3270 2017-03-14 03:02:06 +1100 Jan Schmidt <thaytan@noraisin.net>
3272 * omx/gstomxvideoenc.c:
3273 omxvideoenc: Add an unimplemented mapping for RGBA formats
3274 Add some pixel formats mappings for 2 RGBA formats. Not yet
3275 implemented in the buffer input code though, so no effect for now.
3277 2017-03-14 03:00:49 +1100 Jan Schmidt <thaytan@noraisin.net>
3281 * omx/gstomxvideoenc.c:
3282 omxvideoenc: Add GST_OMX_HACK_HEIGHT_MULTIPLE_16 for Rpi
3283 The Raspberry Pi encoder produces corrupt output unless
3284 the input height is a multiple of 16. Add a hack that adds
3285 zero padding when needed.
3287 2017-03-14 02:42:15 +1100 Jan Schmidt <thaytan@noraisin.net>
3289 * omx/gstomxvideoenc.c:
3290 omxvideoenc: Add a mapping for OMX_COLOR_FormatYUV420PackedSemiPlanar
3293 2017-03-14 02:40:24 +1100 Jan Schmidt <thaytan@noraisin.net>
3295 * omx/gstomxvideoenc.c:
3296 omxvideoenc: Filter out unimplemented formats
3297 Don't announce pixel formats in the caps if they've not been
3300 2017-03-14 02:34:36 +1100 Jan Schmidt <thaytan@noraisin.net>
3302 * omx/gstomxvideodec.c:
3303 omxvideodec: demote ERROR message
3304 There's no need to warn about failing to negotiate EGL output
3305 - that can be perfectly normal.
3307 2017-02-24 16:00:29 +0200 Sebastian Dröge <sebastian@centricular.com>
3310 meson: Update version
3312 2017-02-24 15:38:17 +0200 Sebastian Dröge <sebastian@centricular.com>
3317 === release 1.11.2 ===
3319 2017-02-24 15:10:17 +0200 Sebastian Dröge <sebastian@centricular.com>
3328 2017-02-15 18:22:53 +0000 Tim-Philipp Müller <tim@centricular.com>
3331 meson: dist meson build files
3332 Ship meson build files in tarballs, so people who use tarballs
3333 in their builds can start playing with meson already.
3335 2017-01-13 16:23:12 +0000 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
3337 * omx/gstomxaacenc.c:
3338 omxaacenc: let encoder know about incoming rate/channels
3339 https://bugzilla.gnome.org/show_bug.cgi?id=777223
3341 2017-01-18 02:43:44 +1100 Matthew Waters <matthew@centricular.com>
3343 * config/bellagio/meson.build:
3344 * config/meson.build:
3345 * config/rpi/meson.build:
3346 * examples/egl/meson.build:
3347 * examples/meson.build:
3348 * hooks/pre-commit.hook:
3350 * meson_options.txt:
3352 build: add meson build definition
3353 Currently only been tested on the RPi within gst-build.
3355 2017-01-18 15:21:35 +1100 Matthew Waters <matthew@centricular.com>
3357 * examples/egl/testegl.c:
3358 examples/testegl: update for libgstgl changes
3360 2017-01-12 16:33:09 +0200 Sebastian Dröge <sebastian@centricular.com>
3365 === release 1.11.1 ===
3367 2017-01-12 16:26:55 +0200 Sebastian Dröge <sebastian@centricular.com>
3376 2017-01-10 15:29:08 +0000 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
3378 * omx/gstomxaudioenc.c:
3379 omxaudioenc: set base class format instead of just source pad caps
3381 2016-12-18 19:46:55 +0000 Graham Leggett <minfrin@sharp.fm>
3383 * omx/gstomxaudiodec.c:
3384 * omx/gstomxvideodec.c:
3385 omx*dec: Flush before we stop the srcpad loop
3386 Flushing could otherwise hang if output port queue of pending buffers was empty
3387 https://bugzilla.gnome.org/show_bug.cgi?id=774654
3389 2016-12-14 13:29:08 -0800 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
3392 Fix broken build due to syntax error
3393 Problem was introduced by 8716c23e2b0553db2982eb84c437f493c974385e
3395 2016-12-12 11:12:48 +0000 Graham Leggett <minfrin@sharp.fm>
3398 Prevent early EOS by resetting eos flag once GST_OMX_ACQUIRE_BUFFER_EOS is triggered
3399 https://bugzilla.gnome.org/show_bug.cgi?id=774600
3401 2016-12-12 11:09:15 +0000 Graham Leggett <minfrin@sharp.fm>
3404 Add clear debug logging on all the paths out of gst_omx_port_acquire_buffer()
3405 https://bugzilla.gnome.org/show_bug.cgi?id=774600
3407 2016-12-01 18:23:50 +0100 George Kiagiadakis <george.kiagiadakis@collabora.com>
3409 * config/rpi/gstomx.conf:
3412 Add a signals-premature-eos hack for egl_render
3413 egl_render seems to have a bug and signals EOS before it has finished
3414 pushing out all data; this hack simply makes acquire_buffer() wait
3415 a bit more before signalling EOS, in case egl_render decides to spit
3417 https://bugzilla.gnome.org/show_bug.cgi?id=741856
3419 2016-12-11 19:52:37 +0000 Graham Leggett <minfrin@sharp.fm>
3421 * omx/gstomxvideo.c:
3422 Add support for OMX_COLOR_FormatYUV420PackedSemiPlanar and OMX_COLOR_Format24bitBGR888
3423 https://bugzilla.gnome.org/show_bug.cgi?id=775959
3425 2016-12-03 08:20:46 +0100 Edward Hervey <bilboed@bilboed.com>
3428 Automatic update of common submodule
3429 From ac2f647 to 39ac2f5
3431 2016-11-26 11:27:58 +0000 Tim-Philipp Müller <tim@centricular.com>
3434 common: use https protocol for common submodule
3435 https://bugzilla.gnome.org/show_bug.cgi?id=775110
3437 2016-11-25 23:56:06 +0200 Sebastian Dröge <sebastian@centricular.com>
3440 omx: Fix compiler warning with latest clang
3441 gstomx.c:1376:42: error: implicit conversion from enumeration type 'GstOMXAcquireBufferReturn' to different enumeration type 'OMX_ERRORTYPE'
3442 (aka 'enum OMX_ERRORTYPE') [-Werror,-Wenum-conversion]
3443 g_return_val_if_fail (!port->tunneled, GST_OMX_ACQUIRE_BUFFER_ERROR);
3444 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3445 https://bugzilla.gnome.org/show_bug.cgi?id=775112
3447 2016-11-17 19:56:35 +1100 Matthew Waters <matthew@centricular.com>
3449 * omx/gstomxvideodec.c:
3450 videodecoder: remove use of EGLImage orientation
3451 New code should use GstVideoTransformationMeta
3452 (The defaults do the right thing here though).
3454 === release 1.11.0 ===
3456 2016-11-01 18:53:25 +0200 Sebastian Dröge <sebastian@centricular.com>
3461 === release 1.10.0 ===
3463 2016-11-01 18:20:48 +0200 Sebastian Dröge <sebastian@centricular.com>
3472 === release 1.9.90 ===
3474 2016-09-30 13:04:51 +0300 Sebastian Dröge <sebastian@centricular.com>
3484 2016-09-14 11:33:13 +0200 Sebastian Dröge <sebastian@centricular.com>
3487 configure: Depend on gstreamer 1.9.2.1
3489 2016-09-12 14:09:46 +0200 Sebastian Dröge <sebastian@centricular.com>
3493 omx: Also search for gstomx.conf in the autoconf --sysconfdir
3494 https://bugzilla.gnome.org/show_bug.cgi?id=770743
3496 2016-09-10 20:52:10 +1000 Jan Schmidt <jan@centricular.com>
3500 Automatic update of common submodule
3501 From b18d820 to f980fd9
3503 2016-09-10 09:58:16 +1000 Jan Schmidt <jan@centricular.com>
3507 Automatic update of common submodule
3508 From ac2f647 to b18d820
3510 2016-09-01 12:36:09 +0300 Sebastian Dröge <sebastian@centricular.com>
3515 === release 1.9.2 ===
3517 2016-09-01 12:35:58 +0300 Sebastian Dröge <sebastian@centricular.com>
3527 2016-07-11 21:15:48 +0200 Stefan Sauer <ensonic@users.sf.net>
3530 Automatic update of common submodule
3531 From ac2f647 to f49c55e
3533 2016-07-06 13:51:24 +0300 Sebastian Dröge <sebastian@centricular.com>
3538 === release 1.9.1 ===
3540 2016-07-06 13:48:45 +0300 Sebastian Dröge <sebastian@centricular.com>
3550 2016-06-29 16:37:43 +0900 Kazunori Kobayashi <kkobayas@igel.co.jp>
3552 * omx/gstomxvideodec.c:
3553 omxvideodec: Use GST_VIDEO_FRAME_PLANE_STRIDE() to get output buffer's stride
3554 GST_VIDEO_FRAME_PLANE_STRIDE() should be used to get the actual buffer stride,
3555 as reported in the buffers's GstVideoMeta, when copying data to that buffer.
3556 https://bugzilla.gnome.org/show_bug.cgi?id=768173
3558 2016-06-21 11:48:40 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
3561 Automatic update of common submodule
3562 From ac2f647 to f363b32
3564 2016-06-21 11:43:13 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
3566 * omx/gstomxaudioenc.c:
3567 omxaudioenc: implement GstPreset interface
3568 To allow user to use GstPreset to quickly save and load a set of
3570 https://bugzilla.gnome.org/show_bug.cgi?id=767907
3572 2016-06-21 11:41:15 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
3574 * omx/gstomxvideoenc.c:
3575 omxvideoenc: implement GstPreset interface
3576 To allow user to use GstPreset to quickly save and load a set of
3578 https://bugzilla.gnome.org/show_bug.cgi?id=767907
3580 2016-06-17 12:06:48 +0300 Sebastian Dröge <sebastian@centricular.com>
3584 * omx/gstomxaudiodec.c:
3585 * omx/gstomxaudioenc.c:
3586 * omx/gstomxvideo.c:
3587 * omx/gstomxvideodec.c:
3588 * omx/gstomxvideoenc.c:
3589 omx: #define OMX_SKIP64BIT on the RPi as required by their API
3590 Also add generic support for OMX_SKIP64BIT to gst-omx, in case other
3591 implementations also #define that for whatever reason.
3592 https://bugzilla.gnome.org/show_bug.cgi?id=766475
3594 2016-06-17 10:59:45 +0300 Sebastian Dröge <sebastian@centricular.com>
3596 * omx/gstomxvideodec.c:
3597 omxvideodec: Implement ::drain() virtual method
3598 https://bugzilla.gnome.org/show_bug.cgi?id=767641
3600 2016-06-04 19:31:45 +0100 Tim-Philipp Müller <tim@centricular.com>
3603 configure: remove AG_GST_PARSE_SUBSYSTEM_DISABLES
3604 This would check which subsystems are disabled in core by grepping
3605 gstconfig.h. Only problem is: gstconfig.h has moved into libdir now
3606 so we've been checking a non-existent file for a while now. The
3607 macro would just sets GST_DISABLE_* for use in configure.ac and
3608 Makefile.am, but we don't use that anywhere so just get rid of it
3609 (the one place where we use GST_DISABLE_GST_DEBUG is in a .c file
3610 which gets the define from the gstconfig.h include).
3611 https://bugzilla.gnome.org/show_bug.cgi?id=750056
3613 2016-01-20 03:10:38 +0900 Gwang Yoon Hwang <yoon@igalia.com>
3615 * examples/egl/testegl.c:
3616 * omx/gstomxvideodec.c:
3617 omxvideodec : Use gstglmemoryegl for the RPi
3618 Modified to use gstglmemoryegl to avoid texture creation/copy operations
3620 [Matthew Waters]: gst-indent the sources and port testegl to GstGLMemoryEGL
3621 https://bugzilla.gnome.org/show_bug.cgi?id=760918
3623 2016-04-14 10:04:32 +0100 Julien Isorce <j.isorce@samsung.com>
3626 Automatic update of common submodule
3627 From 6f2d209 to ac2f647
3629 2016-02-26 12:42:41 +0200 Sebastian Dröge <sebastian@centricular.com>
3632 Automatic update of common submodule
3633 From b64f03f to 6f2d209
3635 2016-02-17 20:51:03 +1100 Matthew Waters <matthew@centricular.com>
3637 * examples/egl/testegl.c:
3638 examples: update egl example for gstgl API changes
3639 https://bugzilla.gnome.org/show_bug.cgi?id=762053
3640 https://bugzilla.gnome.org/show_bug.cgi?id=753917
3642 2016-02-05 18:11:06 -0300 Thiago Santos <thiagoss@osg.samsung.com>
3646 Automatic update of common submodule
3647 From 86e4663 to b64f03f
3649 2015-12-21 00:43:49 +0100 Koop Mast <kwm@rainbow-runner.nl>
3652 configure: Make -Bsymbolic check work with clang.
3653 Update the -Bsymbolic check with the version glib has. This version
3655 https://bugzilla.gnome.org/show_bug.cgi?id=759713
3657 2015-12-07 09:11:32 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
3661 Automatic update of common submodule
3662 From b319909 to 86e4663
3664 2015-11-18 13:00:28 +0000 Enrique Ocaña González <eocanha@igalia.com>
3667 Remember the last_error after a failed set state call to avoid blocking the next get state call
3668 gst_omx_video_dec_flush() blocks forever in
3669 http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomxvideodec.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n2110
3670 when the previous call to gst_omx_component_set_state() fails in
3671 http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomx.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n827.
3672 To mitigate that, I set "last_error" to true, so the code in
3673 http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomx.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n862
3674 exits early and doesn't block.
3675 https://bugzilla.gnome.org/show_bug.cgi?id=758274
3677 2015-11-18 12:59:59 +0000 Enrique Ocaña González <eocanha@igalia.com>
3679 * omx/gstomxaudiodec.c:
3680 * omx/gstomxaudioenc.c:
3681 * omx/gstomxvideodec.c:
3682 * omx/gstomxvideoenc.c:
3683 Properly handle drain requests while flushing
3684 Without this commit the decoder streaming thread stops without ever attending
3685 the drain request, leaving the decoder input thread waiting forever.
3686 https://bugzilla.gnome.org/show_bug.cgi?id=758274
3688 2015-11-10 10:42:35 +0100 Nicolas Huet <nicolas.huet@parrot.com>
3691 omx: fix hacks leak on class init
3693 2015-10-21 14:37:13 +0100 Tim-Philipp Müller <tim@centricular.com>
3696 Automatic update of common submodule
3697 From b99800a to b319909
3699 2015-10-21 14:28:41 +0300 Sebastian Dröge <sebastian@centricular.com>
3702 Automatic update of common submodule
3703 From 9aed1d7 to b99800a
3705 2015-09-01 16:08:11 -0300 Thiago Santos <thiagoss@osg.samsung.com>
3707 * omx/gstomxaacdec.c:
3708 omxaacdec: Do not accept unknown layouts
3709 It was defaulting to RAW when an unknown layout was received but
3710 the caps template would actually forbid that on the caps query
3711 or accept-caps anyway.
3713 2015-09-01 08:59:54 -0300 Thiago Santos <thiagoss@osg.samsung.com>
3715 * omx/gstomxaudiodec.c:
3716 omxaudiodec: use default pad accept-caps handling
3717 Instead of the audiodecoder one. The OMX audioo decoders have their
3718 valid input in the template pad, so just check against that to
3719 avoid doing a query downstream.
3721 2015-08-28 12:57:33 -0300 Thiago Santos <thiagoss@osg.samsung.com>
3723 * omx/gstomxvideodec.c:
3724 omxvideodec: use default pad accept-caps handling
3725 Instead of the videodecoder one. The OMX video decoders have their
3726 valid input in the template pad, so just check against that to
3727 avoid doing a query downstream.
3729 2015-08-22 15:54:55 +0000 Graham Leggett <minfrin@sharp.fm>
3731 * omx/gstomxvideoenc.c:
3732 omxvideoenc: Add keyframe support for the Rpi, using OMX_IndexConfigBrcmVideoRequestIFrame
3733 https://bugzilla.gnome.org/show_bug.cgi?id=753085
3735 2015-08-20 17:20:50 +0900 Vineeth TM <vineeth.tm@samsung.com>
3737 * examples/egl/testegl.c:
3738 gst-omx: Fix memory leaks when context parse fails
3739 When g_option_context_parse fails, context and error variables are not getting free'd
3740 which results in memory leaks. Free'ing the same.
3741 And replacing g_error_free with g_clear_error, which checks if the error being passed
3742 is not NULL and sets the variable to NULL on free'ing.
3743 https://bugzilla.gnome.org/show_bug.cgi?id=753865
3745 2015-08-16 14:53:42 +0200 Philippe Normand <philn@igalia.com>
3747 * omx/gstomxh264dec.c:
3748 omxh264dec: implement is_format_change
3749 The omxvideodecoder class only checks some of the caps parameters but if
3750 other fields change such as h264 profile and/or level it wouldn't trigger a
3752 https://bugzilla.gnome.org/show_bug.cgi?id=752376
3754 2015-07-03 00:26:48 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
3756 * omx/gstomxvideodec.c:
3757 omxvideodec: unref allocator after getting it from allocation query
3758 Otherwise a reference will be leaked for each allocator. It only happens
3759 when target platform is Raspberry Pi and when we have GL support.
3760 https://bugzilla.gnome.org/show_bug.cgi?id=751867
3762 2015-07-03 21:59:54 +0200 Stefan Sauer <ensonic@users.sf.net>
3765 Automatic update of common submodule
3766 From f74b2df to 9aed1d7
3768 2015-06-16 17:50:14 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
3771 Automatic update of common submodule
3772 From 6015d26 to f74b2df
3774 2015-06-09 11:30:49 +0200 Edward Hervey <bilboed@bilboed.com>
3777 Automatic update of common submodule
3778 From d9a3353 to 6015d26
3780 2015-06-08 23:08:28 +0200 Stefan Sauer <ensonic@users.sf.net>
3783 Automatic update of common submodule
3784 From d37af32 to d9a3353
3786 2015-06-07 23:07:22 +0200 Stefan Sauer <ensonic@users.sf.net>
3789 Automatic update of common submodule
3790 From 21ba2e5 to d37af32
3792 2015-06-07 17:32:25 +0200 Stefan Sauer <ensonic@users.sf.net>
3795 Automatic update of common submodule
3796 From c408583 to 21ba2e5
3798 2015-06-07 17:16:43 +0200 Stefan Sauer <ensonic@users.sf.net>
3802 Automatic update of common submodule
3803 From c8fb372 to c408583
3805 2015-05-19 18:21:40 +0300 Sebastian Dröge <sebastian@centricular.com>
3807 * omx/gstomxaudiodec.c:
3808 * omx/gstomxaudiodec.h:
3809 omxaudiodec: Add an output adapter for chunking the output into codec frames
3810 Otherwise the base class will be confused.
3811 See https://bugzilla.gnome.org/show_bug.cgi?id=685730
3813 2015-04-26 18:24:13 +0100 Tim-Philipp Müller <tim@centricular.com>
3817 Remove obsolete Android build cruft
3818 This is not needed any longer.
3820 2015-04-22 10:40:22 +0200 Sebastian Dröge <sebastian@centricular.com>
3824 autotools automatically generate this, and when using different versions
3825 for autogen.sh there will always be changes to a file tracked by git.
3827 2015-04-08 15:57:59 +0100 Tim-Philipp Müller <tim@centricular.com>
3833 Add m4 directory so aclocal doesn't complain in autogen.sh
3834 Might come in handy, and these warnings seem to be
3835 fatal in some environments.
3836 You may need to git clean -x -d -f your tree before
3837 git pulling/merging.
3839 2015-04-07 22:25:57 +0100 Tim-Philipp Müller <tim@centricular.com>
3843 Update autogen.sh to latest version
3845 2015-04-03 18:58:17 +0100 Tim-Philipp Müller <tim@centricular.com>
3848 Automatic update of common submodule
3849 From bc76a8b to c8fb372
3851 2015-03-06 12:12:49 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3853 * omx/gstomxaacdec.c:
3854 omxaudiodec: add comment explaining duplicate code path
3856 2015-03-06 12:09:06 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3858 * omx/gstomxaacdec.c:
3859 Revert "omxaudiodec: remove duplicate code path"
3860 This reverts commit a8d26ff27a8b43f589424a59294f9057641b2a46.
3862 2015-03-06 12:03:56 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3865 omx: handle both errors in the two steps of update_port_definition
3866 Also consider potential errors in the _get_parameter() in the return of the
3867 update_port_definition function.
3870 2015-03-06 10:57:53 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3872 * omx/gstomxaudioenc.c:
3873 omxaudioenc: impossible if statement
3874 ret is set to GST_STATE_CHANGE_SUCCESS and never touched, so it is impossible
3875 for it to be anything else at the if check. Remove the if check.
3878 2015-03-06 10:54:43 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3880 * omx/gstomxaudiodec.c:
3881 omxaudiodec: impossible if statement
3882 ret is set to GST_STATE_CHANGE_SUCCESS and never touched, so it is impossible
3883 for it to be anything else at the if check. Remove it.
3886 2015-03-06 10:50:30 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3888 * omx/gstomxaacdec.c:
3889 omxaudiodec: remove duplicate code path
3891 2014-12-19 11:19:55 +0200 George Kiagiadakis <george.kiagiadakis@collabora.com>
3894 omx: call handle_messages() only once in acquire_buffer() to avoid potential deadlock
3895 There is one rare case where calling handle_messages() more than once can cause a deadlock
3896 in the video decoder element:
3897 - sink pad thread starts the src pad task (gst_omx_video_dec_loop())
3898 - _video_dec_loop() calls gst_omx_port_acquire_buffer() on dec_out_port
3899 - blocks in gst_omx_component_wait_message() releasing comp->lock and comp->messages_lock
3900 (initially, there are no buffers configured on that port, so it waits for OMX_EventPortSettingsChanged)
3901 - the sink pad thread pushes a buffer to the decoder with gst_omx_port_release_buffer()
3902 - _release_buffer() grabs comp->lock and sends the buffer to OMX, which consumes it immediately
3903 - EmptyBufferDone gets called at this point, which signals _wait_message() to unblock
3904 - the message from EmptyBufferDone is processed in gst_omx_component_handle_messages()
3905 called from gst_omx_port_release_buffer()
3906 - gst_omx_port_release_buffer releases comp->lock
3907 - the src pad thread now gets to run, grabbing comp->lock while it exits from _wait_message()
3908 - _acquire_buffer() calls the _handle_messages() on the next line after _wait_message(),
3909 which does nothing (no pending messages)
3910 - then it goes to "retry:" and calls _handle_messages() again, which also does nothing
3911 (still no pending messages)
3912 - scheduler switches to a videocore thread that calls EventHandler, informing us about the
3913 OMX_EventPortSettingsChanged event that just arrived
3914 - EventHandler graps comp->messages_lock, but not comp->lock, so it can run in parallel at
3915 this point just fine.
3916 - scheduler switches back to the src pad thread (which is in the middle of _acquire_buffer())
3917 - the next _handle_messages() which is right before if (g_queue_is_empty (&port->pending_buffers))
3918 processes the OMX_EventPortSettingsChanged
3919 - the buffer queue is still empty, so that thread blocks again in _wait_message()
3920 - the sink pad thread tries to acquire the next input port buffer
3921 - _acquire_buffer() also blocks this thread in:
3922 if (comp->pending_reconfigure_outports) { ... _wait_message() ... }
3923 - DEADLOCK. gstreamer is waiting for omx to do something, omx waits for gstreamer to do something.
3924 By removing those extra _handle_messages() calls, we can ensure that all the checks of
3925 _acquire_buffer() will re-run. In the above case, after the scheduler switches back to
3926 the middle of _acquire_buffer(), the code will enter _wait_message(), which will see that
3927 there are pending messages and will return immediately, going back to "retry:" and
3928 re-doing all the checks properly.
3929 https://bugzilla.gnome.org/show_bug.cgi?id=741854
3931 2015-02-26 09:27:44 +0900 Wonchul Lee <chul0812@gmail.com>
3934 omx: cleanup code a bit to remove else statement
3935 https://bugzilla.gnome.org/show_bug.cgi?id=745191
3937 2015-01-12 16:13:35 +0100 Stefan Sauer <ensonic@users.sf.net>
3940 Automatic update of common submodule
3941 From f2c6b95 to bc76a8b
3943 2014-12-18 10:56:15 +0100 Sebastian Dröge <sebastian@centricular.com>
3946 Automatic update of common submodule
3947 From ef1ffdc to f2c6b95
3949 2014-11-27 17:12:42 +0100 Edward Hervey <bilboed@bilboed.com>
3952 Automatic update of common submodule
3953 From 7bb2bce to ef1ffdc
3955 2014-11-13 09:55:02 +0900 Jun Ji <jun.ji@lge.com>
3959 * omx/gstomxamrdec.c:
3960 * omx/gstomxamrdec.h:
3962 https://bugzilla.gnome.org/show_bug.cgi?id=739333
3964 2014-10-27 18:00:50 +0100 Sebastian Dröge <sebastian@centricular.com>
3967 Automatic update of common submodule
3968 From 84d06cd to 7bb2bce
3970 2014-10-21 13:03:44 +0100 Tim-Philipp Müller <tim@centricular.com>
3973 Automatic update of common submodule
3974 From a8c8939 to 84d06cd
3976 2014-10-21 13:00:10 +0200 Stefan Sauer <ensonic@users.sf.net>
3979 Automatic update of common submodule
3980 From 1f5d3c3 to a8c8939
3982 2014-09-30 10:47:20 +0300 Sebastian Dröge <sebastian@centricular.com>
3984 * omx/gstomxaudiodec.c:
3985 omxaudiodec: Clean up code a bit to get rid of useless NULL checks
3987 2014-09-30 10:50:07 +0900 junji <jun.ji@lge.com>
3989 * omx/gstomxaudiodec.c:
3990 omxaudiodec: Unmap input buffers after usage
3991 https://bugzilla.gnome.org/show_bug.cgi?id=736314
3993 2014-08-31 20:30:13 +0000 Michal Lazo <michal.lazo@mdragon.org>
3995 * omx/gstomxvideoenc.c:
3996 omxvideoenc: Setup aspect ratio on RPi
3997 Needs firmware from yesterday or newer to work with all possible
3998 aspect ratios. Before that it only supported a fixed list.
3999 https://bugzilla.gnome.org/show_bug.cgi?id=732533
4001 2014-08-28 10:44:31 +0300 Sebastian Dröge <sebastian@centricular.com>
4003 * omx/gstomxaudioenc.c:
4004 omxaudioenc: Implement the hack flag GST_OMX_HACK_NO_COMPONENT_RECONFIGURE
4006 2014-08-28 10:43:22 +0300 Sebastian Dröge <sebastian@centricular.com>
4008 * omx/gstomxaudioenc.c:
4009 omxaudioenc: Use the base class' open/close vfuncs instead of calling them ourselves
4011 2014-08-26 22:13:53 -0500 Peng Liu <pengliu.mail@gmail.com>
4013 * config/rpi/gstomx.conf:
4014 * omx/gstomxvideoenc.c:
4015 omxvideoenc: Implement the hack flag GST_OMX_HACK_NO_COMPONENT_RECONFIGURE
4016 Fix a video encoder stall problem on RPi when changing the aspect ratio.
4017 https://bugzilla.gnome.org/show_bug.cgi?id=732533
4019 2014-08-14 17:36:11 +0300 Sebastian Dröge <sebastian@centricular.com>
4021 * omx/gstomxaudiodec.c:
4022 * omx/gstomxaudiodec.h:
4023 * omx/gstomxaudioenc.c:
4024 * omx/gstomxaudioenc.h:
4025 * omx/gstomxvideodec.c:
4026 * omx/gstomxvideodec.h:
4027 * omx/gstomxvideoenc.c:
4028 * omx/gstomxvideoenc.h:
4029 omx: Let base classes handle EOS
4030 https://bugzilla.gnome.org//show_bug.cgi?id=734774
4032 2014-08-14 17:33:07 +0300 Sebastian Dröge <sebastian@centricular.com>
4034 * omx/gstomxaudiodec.c:
4035 omxaudiodec: Fix flushing logic and make it more similar to the video decoder
4037 === release 1.2.0 ===
4039 2014-07-23 11:28:12 +0200 Sebastian Dröge <sebastian@centricular.com>
4049 2014-07-22 09:23:00 +0200 Sebastian Dröge <sebastian@centricular.com>
4051 * config/bellagio/gstomx.conf:
4052 * config/rpi/gstomx.conf:
4053 config: Update ranks to PRIMARY+1 to have higher preference than avdec_*
4054 See https://bugzilla.gnome.org/show_bug.cgi?id=732161
4056 2014-07-20 17:46:30 +0200 Sebastian Dröge <sebastian@centricular.com>
4058 * omx/gstomxaudiosink.c:
4059 omxaudiosink: Set port to not flushing in prepare() and keep it at flushing in unprepare()
4060 https://bugzilla.gnome.org/show_bug.cgi?id=733168
4062 2014-07-13 22:15:18 +0200 Sebastian Dröge <sebastian@centricular.com>
4064 * omx/gstomxaacdec.c:
4065 * omx/gstomxaudiodec.c:
4066 * omx/gstomxaudiodec.h:
4067 * omx/gstomxmp3dec.c:
4068 omxaudiodec: Implement setting of fallback channel positions
4070 2014-07-13 18:22:39 +0200 Sebastian Dröge <sebastian@centricular.com>
4074 * omx/gstomxaacdec.c:
4075 * omx/gstomxaacdec.h:
4076 * omx/gstomxmp3dec.c:
4077 omx: Add AAC audio decoder
4079 2014-07-02 09:22:28 +0200 Sebastian Dröge <sebastian@centricular.com>
4081 * omx/gstomxaudiodec.c:
4082 omxaudiodec: Get PCM parameters from the out port, not the in port
4084 2014-05-15 13:24:39 +0200 Sebastian Dröge <sebastian@centricular.com>
4086 * omx/gstomxaudiodec.c:
4087 omxaudiodec: Implement hack for not disabling the output port after set_format until the output format is known
4088 Needed on some OMX implementations, e.g. the one from Atmel. It does
4089 not send the settings-changed event on the output port if it is
4092 2014-05-10 23:12:54 +0200 Sebastian Dröge <sebastian@centricular.com>
4096 * omx/gstomxaudiodec.c:
4097 * omx/gstomxaudiodec.h:
4098 * omx/gstomxmp3dec.c:
4099 * omx/gstomxmp3dec.h:
4100 omx: Add audio decoder base class and a subclass for MP3
4102 2014-07-01 09:38:01 +0200 Sebastian Dröge <sebastian@centricular.com>
4106 omx: Link to gmodule-2.0-no-export for being able to use the g_module_*() API
4107 https://bugzilla.gnome.org/show_bug.cgi?id=732518
4109 2014-06-30 15:00:54 +0200 Sebastian Dröge <sebastian@centricular.com>
4111 * examples/egl/testegl.c:
4112 examples: #define GST_USE_UNSTABLE_API for libgstgl
4114 2014-06-29 19:10:19 +0200 Sebastian Dröge <sebastian@centricular.com>
4116 * omx/gstomxh264enc.c:
4117 * omx/gstomxh264enc.h:
4118 omxh264enc: Properly accumulate headers and push before the next frame
4119 Fixes output of encoding on RPi, where each header buffer (SPS and PPS)
4120 is in a separate OMX buffer.
4121 https://bugzilla.gnome.org/show_bug.cgi?id=726669
4123 2014-06-29 19:04:54 +0200 Sebastian Dröge <sebastian@centricular.com>
4125 * omx/gstomxvideoenc.c:
4126 omxvideoenc: Implement flush() instead of the deprecated reset()
4128 2014-06-25 17:14:18 +0200 Sebastian Dröge <sebastian@centricular.com>
4130 * config/rpi/gstomx.conf:
4131 rpi: It's 44100Hz, not 41400Hz
4133 2014-06-25 11:12:51 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4136 configure.ac: require gstgl >= 1.3.3
4138 2014-04-25 13:25:05 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4142 example: enable testegl
4143 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
4145 2014-06-25 10:19:54 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4147 * examples/egl/testegl.c:
4148 testegl: do matrix mutlplication in the shader
4149 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
4151 2014-06-25 09:36:38 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4153 * examples/egl/testegl.c:
4154 testegl: add a comment for the parse command
4155 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
4157 2014-04-25 17:32:16 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4159 * examples/egl/Makefile.am:
4160 * examples/egl/cube_texture_and_coords.h:
4161 * examples/egl/testegl.c:
4162 testegl: convert code from GLESv1 to GLESv2
4163 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
4165 2014-04-25 13:21:59 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4167 * examples/egl/Makefile.am:
4168 * examples/egl/testegl.c:
4169 testegl: port to gstgl API
4170 - append a glfilter just before fakesink
4171 So that we get gltexture or eglimages
4172 - propagate our EGLDisplay to the pipeline
4173 see GST_QUERY_CONTEXT
4174 - share our EGLContext with the iternal gl context
4175 of the pipeline, see GST_QUERY_ALLOCATION
4176 - use GstVideoGLTextureUploadMeta to upload
4177 the incoming gltexture or eglimage to our gl texture
4178 TODO: convert from GLESv1 to GLESv2
4179 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
4181 2014-06-24 14:52:58 +0200 Sebastian Dröge <sebastian@centricular.com>
4183 * omx/gstomxbufferpool.c:
4184 * omx/gstomxbufferpool.h:
4185 * omx/gstomxvideodec.c:
4186 omxbufferpool: Copy buffers if the stride does not match and we can't use video meta
4187 https://bugzilla.gnome.org/show_bug.cgi?id=731672
4189 2014-06-24 14:52:43 +0200 Sebastian Dröge <sebastian@centricular.com>
4193 * omx/gstomxvp8dec.h:
4194 omx: Only include OMX_VideoExt.h conditionally
4195 It does not exist on the RPi for example.
4197 2014-06-24 13:59:44 +0200 Sebastian Dröge <sebastian@centricular.com>
4200 configure.ac: Require GStreamer core/base >= 1.2.2
4201 Needed at least for gst_video_decoder_release_frame().
4203 2014-06-24 13:02:13 +0200 Sebastian Dröge <sebastian@centricular.com>
4205 * omx/gstomxbufferpool.c:
4206 omxbufferpool: Fix format string compiler warning
4208 2014-06-22 21:11:45 +0000 Michal Lazo <xlazom00@gmail.com>
4210 * omx/gstomxbufferpool.c:
4211 omxbufferpool: Initialize debug category
4213 2014-06-24 12:42:22 +0200 Sebastian Dröge <sebastian@centricular.com>
4215 * omx/gstomxbufferpool.c:
4216 omxbufferpool: Properly convert OMX alignment to GStreamer alignment
4217 GStreamer uses a bitmask for the alignment while OMX uses the
4218 alignment itself. Let's convert.
4219 https://bugzilla.gnome.org/show_bug.cgi?id=710564
4221 2014-06-24 11:11:28 +0200 Sebastian Dröge <sebastian@centricular.com>
4223 * omx/gstomxh264enc.c:
4224 omxh264enc: Don't let baseclass finish frames for SPS/PPS buffers
4225 Otherwise we a) send them twice, and b) finish a frame for something
4226 that does not even include a frame.
4227 https://bugzilla.gnome.org/show_bug.cgi?id=726669
4229 2014-06-24 10:22:37 +0200 Sebastian Dröge <sebastian@centricular.com>
4231 * omx/gstomxvideo.h:
4232 omxvideo: Include the separate headers too for compatibility with 1.0.x
4234 2014-03-24 16:09:40 +0800 Zhao, Halley <halley.zhao@intel.com>
4237 * omx/gstomxvp8dec.h:
4238 omxvp8dec: use VP8 definition from OMX_VideoExt.h
4239 https://bugzilla.gnome.org/show_bug.cgi?id=726957
4241 2014-03-24 15:33:26 +0800 Zhao, Halley <halley.zhao@intel.com>
4244 configure: add --with-omx-header-path option for external omx headers
4245 https://bugzilla.gnome.org/show_bug.cgi?id=726957
4247 2014-06-18 23:04:33 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
4249 * omx/gstomxvideodec.c:
4250 omxvideodec: fix a query leak
4251 Also add a debug message if query fails.
4252 https://bugzilla.gnome.org/show_bug.cgi?id=731898
4254 2014-05-30 15:29:15 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4256 * omx/gstomxvideodec.c:
4257 omxvideodec: release frames with old PTS to avoid memory issue
4258 Interlaced stream could make the decoder use two input frames to produce
4259 one output frame causing the gstvideodecoder frame list to grow.
4260 Assuming the video decoder output frame in display order rather than in
4261 decoding order, this commit add a way to release frames with PTS less
4262 than current output frame.
4263 https://bugzilla.gnome.org/show_bug.cgi?id=730995
4265 2013-06-27 21:59:29 +0900 Kazunori Kobayashi <kkobayas@igel.co.jp>
4268 omx: Fix a missing g_free() in error path
4269 This fixes a memory leak with g_strdup() when an error occurs.
4270 https://bugzilla.gnome.org/show_bug.cgi?id=731141
4272 2014-06-02 15:34:09 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4274 * omx/gstomxvideodec.c:
4275 omxvideodec: add missing stream unlock in error path
4277 2014-05-31 15:12:05 +0200 Sebastian Dröge <sebastian@centricular.com>
4280 omx: Don't handle disabling/enabling ports exactly like flushing
4281 Otherwise we might abort a flush operation in another thread when
4282 enabling/disabling ports, leading to deadlocks sometimes.
4283 https://bugzilla.gnome.org/show_bug.cgi?id=730989
4285 2014-05-26 11:02:10 +0200 Sebastian Dröge <sebastian@centricular.com>
4287 * omx/gstomxvideodec.c:
4288 omxvideodec: Don't leak buffer pool config in error cases
4291 2014-05-21 10:53:43 +0200 Sebastian Dröge <sebastian@centricular.com>
4294 Automatic update of common submodule
4295 From 211fa5f to 1f5d3c3
4297 2014-05-19 09:10:07 +0200 Sebastian Dröge <sebastian@centricular.com>
4299 * omx/gstomxvideoenc.c:
4300 omxvideoenc: Don't forget to unref codec state
4303 2014-05-19 09:08:33 +0200 Sebastian Dröge <sebastian@centricular.com>
4305 * omx/gstomxvideodec.c:
4306 omxvideodec: Make output buffer pointer always initialized
4309 2014-05-19 09:06:42 +0200 Sebastian Dröge <sebastian@centricular.com>
4311 * omx/gstomxvideodec.c:
4312 omxvideodec: Check return value of gst_buffer_map()
4315 2014-05-19 09:04:09 +0200 Sebastian Dröge <sebastian@centricular.com>
4317 * omx/gstomxvideodec.c:
4318 omxvideodec: Check return value of gst_omx_port_set_enabled() for errors
4321 2014-05-19 09:01:46 +0200 Sebastian Dröge <sebastian@centricular.com>
4323 * omx/gstomxvideodec.c:
4324 omxvideodec: Check return values of buffer pool config parsing functions
4327 2014-05-19 08:48:50 +0200 Sebastian Dröge <sebastian@centricular.com>
4330 omx: Remove dead code, buf can never be NULL here as we just check for that the line above
4333 2014-05-19 08:47:36 +0200 Sebastian Dröge <sebastian@centricular.com>
4336 omx: Fix comparisons in gst_omx_state_to_string() case to actually make sense
4339 2014-05-19 08:45:10 +0200 Sebastian Dröge <sebastian@centricular.com>
4342 omx: Make sure to compare the error codes as unsigned integers so that comparisons >2**31 actually work
4345 2014-05-19 08:40:23 +0200 Sebastian Dröge <sebastian@centricular.com>
4348 omx: Fix comparisons in gst_omx_command_to_string() default cause to actually work
4351 2014-05-15 13:22:56 +0200 Sebastian Dröge <sebastian@centricular.com>
4353 * omx/gstomxaudioenc.c:
4354 omxaudioenc: Implement hack for not disabling the output port after set_format until the output format is known
4355 Needed on some OMX implementations, e.g. the one from Atmel. It does
4356 not send the settings-changed event on the output port if it is
4359 2014-05-15 13:21:07 +0200 Sebastian Dröge <sebastian@centricular.com>
4361 * omx/gstomxvideoenc.c:
4362 omxvideoenc: Implement hack for not disabling the output port after set_format until the output format is known
4363 Needed on some OMX implementations, e.g. the one from Atmel. It does
4364 not send the settings-changed event on the output port if it is
4367 2014-05-15 10:58:34 +0200 Sebastian Dröge <sebastian@centricular.com>
4371 * omx/gstomxvideodec.c:
4372 omx: Add a hack for not disabling the output port after set_format until the output format is known
4373 Needed on some OMX implementations, e.g. the one from Atmel. It does
4374 not send the settings-changed event on the output port if it is
4377 2014-05-12 12:33:32 +0200 Josep Torra <n770galaxy@gmail.com>
4379 * omx/gstomxaudiosink.c:
4380 omxaudiosink: implement _delay only in the RaspberryPI
4381 Make code implementation conditionally built for RaspberryPI because
4382 OMX_IndexConfigAudioRenderingLatency seems to be a Broadcom extension.
4383 On other targets the query position might not be accurate without
4384 implementing _delay appropriatelly.
4386 2014-05-12 08:56:15 +0200 Sebastian Dröge <sebastian@centricular.com>
4388 * omx/gstomxaudioenc.c:
4389 omxaudioenc: Correctly scale nTickCount by OMX_TICKS_PER_SECOND
4391 2014-05-10 22:48:23 +0200 Sebastian Dröge <sebastian@centricular.com>
4393 * omx/gstomxaudioenc.c:
4394 omxaudioenc: Drain encoder on NULL buffer and don't drain on flushing
4396 2014-05-10 22:47:56 +0200 Sebastian Dröge <sebastian@centricular.com>
4398 * omx/gstomxvideodec.c:
4399 omxvideodec: Set nTickCount based on the buffer's duration instead of something wrong
4401 2014-05-10 22:47:21 +0200 Sebastian Dröge <sebastian@centricular.com>
4403 * omx/gstomxvideoenc.c:
4404 omxvideoenc: Set nTickCount to the whole duration of the buffer instead of a wrong calculation
4406 2014-05-10 22:46:51 +0200 Sebastian Dröge <sebastian@centricular.com>
4408 * omx/gstomxaudiosink.c:
4409 omxaudiosink: Fix format string compiler warnings
4411 2014-04-04 14:11:58 +0200 Josep Torra <n770galaxy@gmail.com>
4413 * config/rpi/gstomx.conf:
4416 * omx/gstomxanalogaudiosink.c:
4417 * omx/gstomxanalogaudiosink.h:
4418 * omx/gstomxaudiosink.c:
4419 * omx/gstomxaudiosink.h:
4420 * omx/gstomxhdmiaudiosink.c:
4421 * omx/gstomxhdmiaudiosink.h:
4422 omxaudiosink: Implements OpenMAX based audio sinks
4423 Provides omxanalogaudiosink and omxhdmiaudiosink elements on
4425 - omxanalogaudiosink is capable to render raw mono or stereo audio
4426 through the jack output.
4427 - omxhdmiaudiosink is capable to render raw audio up to 8 channels
4428 and transmit ac3/dts(IEC 61937) through the HDMI output.
4429 - sinks provide a clock derived from rendered samples
4430 - sinks support the GstStreamVolume interface by implementing
4431 the volume and mute properties.
4432 https://bugzilla.gnome.org/show_bug.cgi?id=728962
4434 2014-05-03 10:17:35 +0200 Sebastian Dröge <sebastian@centricular.com>
4437 Automatic update of common submodule
4438 From bcb1518 to 211fa5f
4440 2014-04-29 15:16:16 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4442 * omx/gstomxvideodec.c:
4443 omxvideodec: can negotiate caps with memory:EGLImage feature when using EGLImage allocator
4444 Previously when using gst EGLImage allocator the caps was
4445 video/x-raw, format=RGBA instead of
4446 video/x-raw(memory:EGLImage), format=RGBA
4447 Kepp previous behavior in case negotiation fails with caps feature.
4448 It means it will still have a chance to use EGLImage even if the
4449 feature is not in the caps.
4450 https://bugzilla.gnome.org/show_bug.cgi?id=729196
4452 2014-04-23 09:57:48 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4454 * omx/gstomxvp8dec.h:
4455 omxvp8dec: fix typo in GST_TYPE_OMX_VP8_DEC define
4456 https://bugzilla.gnome.org/show_bug.cgi?id=728774
4458 2014-04-16 11:00:55 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4460 * omx/gstomxvideodec.c:
4461 omxvideodec: don't unref caps before logging field from it
4462 https://bugzilla.gnome.org/show_bug.cgi?id=728322
4464 2014-04-15 17:30:13 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4468 example: disable testegl since libgstegl has been removed
4469 As decided in bug #703343
4470 Not compatible with the new libgstgl API.
4471 A portage has been started, attachment 272800.
4472 https://bugzilla.gnome.org/show_bug.cgi?id=703343
4474 2014-04-15 17:11:08 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4476 * omx/gstomxvideodec.c:
4477 omxvideodec: use new libgstgl API since libgstegl has been removed
4478 There is no point to retrieve a ref/unref type
4479 instead of an EGLDisplay directly. It's like for EGLImage.
4480 https://bugzilla.gnome.org/show_bug.cgi?id=703343
4482 2014-04-15 17:06:38 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4485 * examples/Makefile.am:
4487 * omx/gstomxvideodec.c:
4488 configure.ac: check for libgstgl since libgstegl has been removed
4489 https://bugzilla.gnome.org/show_bug.cgi?id=703343
4491 2014-04-09 18:52:16 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4493 * omx/gstomxbufferpool.c:
4494 * omx/gstomxvideodec.c:
4495 omxvideodec: add support of more color format
4496 Add support for ABGR, ARGB, RGB16, BGR16, YUY2, UYVY, YVYU, GRAY8 and
4499 2014-04-09 18:51:57 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4501 * omx/gstomxvideodec.c:
4502 omxvideodec: simplify color format conversion in fill_buffer function
4504 2014-04-09 18:51:41 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4506 * omx/gstomxbufferpool.c:
4507 omxbufferpool: make video stride and offset calculation easier
4508 It will be easier to support more color format.
4510 2014-04-09 18:51:12 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4512 * omx/gstomxvideo.c:
4513 * omx/gstomxvideo.h:
4514 * omx/gstomxvideodec.c:
4515 omx: add an helper to convert OMX color format to GStreamer color format
4517 2014-03-10 17:43:50 +0100 Josep Torra <n770galaxy@gmail.com>
4519 * examples/egl/testegl.c:
4520 * omx/gstomxvideodec.c:
4521 omxvideodec: Implement pipeline draining to support adaptive scenarios
4522 When draining due a format change also drain
4523 the pipeline to reclaim back all buffers.
4524 https://bugzilla.gnome.org/show_bug.cgi?id=726107
4526 2014-03-27 13:57:32 +0100 Josep Torra <n770galaxy@gmail.com>
4528 * examples/egl/testegl.c:
4529 examples: fix several memory leaks in the testegl example
4530 Ensure to call to image_data_free in order to release GPU resources.
4531 Also ensure to destroy EGLImage and GLTexture from proper
4533 https://bugzilla.gnome.org/show_bug.cgi?id=726107
4535 2014-03-25 17:16:31 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
4537 * examples/egl/testegl.c:
4538 examples: keep a ref on the buffer instead of the memory
4540 https://bugzilla.gnome.org/show_bug.cgi?id=726107
4542 2014-03-07 20:08:05 +0100 Josep Torra <n770galaxy@gmail.com>
4544 * omx/gstomxvideodec.c:
4545 omxvideodec: fixes race condition during seeks
4546 Acording 6.1.3 Seek Event Sequence in the OpenMAX IL 1.1.2 spec
4547 document in order to flush the component it needs to be in
4549 https://bugzilla.gnome.org/show_bug.cgi?id=726038
4551 2014-01-29 18:31:26 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
4553 * omx/gstomxvideodec.c:
4554 omxvideodec: use flush because reset is deprecated
4555 https://bugzilla.gnome.org/show_bug.cgi?id=726038
4557 2014-01-27 17:03:50 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
4559 * omx/gstomxvideodec.c:
4560 omxvideodec: populate the most downstream output port on reset
4561 Make seeking work when using egl_render component
4562 https://bugzilla.gnome.org/show_bug.cgi?id=726038
4564 2014-03-24 17:49:59 +0100 Josep Torra <n770galaxy@gmail.com>
4566 * omx/gstomxbufferpool.c:
4567 omxbufferpool: return buffers to the pool instead of freeing them
4568 We have to return the buffers back to the pool in when stopping to
4569 not mess with the GstBufferPool accounting.
4570 The OMX buffers will be freed when those won't be in charge of the
4571 pool in the chained up call to 'stop'.
4572 Fixes segfaults on finalize and pool not being properly deactivated.
4573 https://bugzilla.gnome.org/show_bug.cgi?id=726337
4575 2014-03-19 12:12:49 +0100 Christian König <christian.koenig@amd.com>
4577 * omx/gstomxvideodec.c:
4578 omxvideodec: add missing unlock in the error path
4579 Signed-off-by: Christian König <christian.koenig@amd.com>
4580 https://bugzilla.gnome.org/show_bug.cgi?id=726958
4582 2014-03-18 23:36:59 +0100 Michal Lazo <xlazom00@gmail.com>
4584 * omx/gstomxh264enc.c:
4585 * omx/gstomxh264enc.h:
4588 2014-03-17 09:57:11 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
4590 * omx/gstomxbufferpool.c:
4591 omxbufferpool: fix memory leak if used on output port
4592 When using GstOMXBufferPool on an output port, it internally uses
4593 a GPtrArray to manage the GstBuffers instead of the default queue
4594 from the GstBufferPool base class.
4595 In this case GstBufferPool::default_free_buffer is not called when
4596 the pool is stopped. Because the queue is empty. So explicitely
4597 call gst_omx_buffer_pool_free_buffer on each buffer contained in
4599 https://bugzilla.gnome.org/show_bug.cgi?id=726337
4601 2014-03-16 17:32:05 +0100 Sebastian Dröge <sebastian@centricular.com>
4603 * omx/gstomxh264enc.c:
4604 omxh264enc: Fix compiler warnings
4606 2014-03-16 17:19:08 +0100 Michal Lazo <xlazom00@gmail.com>
4608 * omx/gstomxh264enc.c:
4609 * omx/gstomxh264enc.h:
4610 omxh264enc: IDR interval, SPS and PPS headers for rpi
4611 https://bugzilla.gnome.org/show_bug.cgi?id=720031
4613 2014-03-13 14:26:58 +0100 Christian König <christian.koenig@amd.com>
4617 * omx/gstomxvideo.c:
4618 omxvideo: fix debug category initialisation
4619 https://bugzilla.gnome.org/show_bug.cgi?id=726024
4621 2014-03-13 19:04:47 +0100 Christian König <christian.koenig@amd.com>
4623 * omx/gstomxbufferpool.h:
4624 omxbufferpool: add proper type definitions
4625 https://bugzilla.gnome.org/show_bug.cgi?id=726325
4627 2014-03-02 10:30:04 +0100 Christian König <christian.koenig@amd.com>
4630 omx: consolidate message waiting code
4631 Add a wait_message helper function and remove all those duplicated code.
4632 https://bugzilla.gnome.org/show_bug.cgi?id=725493
4634 2014-03-12 12:48:12 +0100 Sebastian Dröge <sebastian@centricular.com>
4636 * omx/gstomxvideo.c:
4637 omx: Copy old copyright notice into the new file
4639 2014-03-12 12:47:34 +0100 Sebastian Dröge <sebastian@centricular.com>
4641 * omx/gstomxvideo.c:
4642 * omx/gstomxvideo.h:
4643 * omx/gstomxvideodec.c:
4644 * omx/gstomxvideoenc.c:
4645 omx: Rename function from _4_ to _for_ for clarity
4647 2014-03-03 16:15:24 +0100 Christian König <christian.koenig@amd.com>
4650 * omx/gstomxvideo.c:
4651 * omx/gstomxvideo.h:
4652 * omx/gstomxvideodec.c:
4653 * omx/gstomxvideoenc.c:
4654 omxvideo: start sharing more code between video decoder and encoder
4655 Identical functionality spread of two different components.
4656 We can't use a common base class because of different inheritance,
4657 but let's try to share the code anyway.
4658 https://bugzilla.gnome.org/show_bug.cgi?id=726024
4660 2014-03-12 12:43:49 +0100 Sebastian Dröge <sebastian@centricular.com>
4662 * examples/egl/Makefile.am:
4663 examples: Only build RPi EGL example if RPi was chosen as target
4665 2014-03-12 12:42:23 +0100 Sebastian Dröge <sebastian@centricular.com>
4667 * omx/gstomxbufferpool.h:
4668 omxbufferpool: Fix header include guard
4670 2014-03-05 11:41:02 +0100 Christian König <christian.koenig@amd.com>
4673 * omx/gstomxbufferpool.c:
4674 * omx/gstomxbufferpool.h:
4675 * omx/gstomxvideodec.c:
4676 omxvideodec: separate the buffer pool from the decoder
4677 https://bugzilla.gnome.org/show_bug.cgi?id=726025
4679 2014-03-04 17:41:20 +0100 Christian König <christian.koenig@amd.com>
4683 * omx/gstomxvideodec.c:
4684 omx: simplify tunnel functions
4685 Specifying the component is error prone and unnecessary.
4686 https://bugzilla.gnome.org/show_bug.cgi?id=726021
4688 2014-03-07 17:12:24 +0100 Christian König <christian.koenig@amd.com>
4690 * omx/gstomxvideodec.c:
4691 omxvideodec: fix memory leak in gst_omx_video_dec_allocate_output_buffers
4692 https://bugzilla.gnome.org/show_bug.cgi?id=725907
4694 2014-03-07 13:18:49 +0100 Christian König <christian.koenig@amd.com>
4696 * omx/gstomxvideodec.c:
4697 omxvideodec: fix memory leak gst_omx_video_dec_negotiate
4698 https://bugzilla.gnome.org/show_bug.cgi?id=725907
4700 2014-03-05 18:54:05 +0100 Christian König <christian.koenig@amd.com>
4702 * omx/gstomxvideoenc.c:
4703 omxvideoenc: fix a memory leak in gst_omx_video_enc_getcaps
4704 https://bugzilla.gnome.org/show_bug.cgi?id=725826
4706 2014-03-05 17:43:33 +0100 Josep Torra <n770galaxy@gmail.com>
4709 Makefile.am: build examples
4710 There's no reason to not build the examples now that are ported to 1.x.
4712 2014-03-05 17:25:09 +0100 Josep Torra <n770galaxy@gmail.com>
4714 * examples/egl/testegl.c:
4715 examples: avoid a clashing name with the recently added GstEGLImagePool
4716 Fixes build with current master.
4718 2013-09-05 03:41:10 -0600 Christian König <christian.koenig@amd.com>
4720 * omx/gstomxvideoenc.c:
4721 omxvideoenc: simplify _find_nearest_frame
4722 Just the same as we did with the decoder. Also give the
4723 function a gst_omx_video_enc prefix to distinct it from
4724 the decoder function.
4725 https://bugzilla.gnome.org/show_bug.cgi?id=724236
4727 2013-09-05 02:23:39 -0600 Christian König <christian.koenig@amd.com>
4729 * omx/gstomxvideodec.c:
4730 omxvideodec: simplify _find_nearest_frame
4731 No need to make it more complicated and error prone than
4732 necessary. Also give the function a gst_omx_video_dec prefix
4733 to distinct it from the encoder function.
4734 https://bugzilla.gnome.org/show_bug.cgi?id=724236
4736 2013-09-05 02:05:52 -0600 Christian König <christian.koenig@amd.com>
4738 * omx/gstomxvideodec.c:
4739 omxvideodec: remove dead code
4740 This code doesn't seems to be used for quite a while,
4741 remove it before it starts to rot.
4742 https://bugzilla.gnome.org/show_bug.cgi?id=724236
4744 2014-03-01 22:28:24 +0100 Christian König <christian.koenig@amd.com>
4747 omx: fix two serious message handling bugs
4748 Waiting for the next message if we already got one
4749 is nonsense and can lead to lockups.
4750 https://bugzilla.gnome.org/show_bug.cgi?id=725468
4752 2014-03-01 18:49:41 +0100 Christian König <christian.koenig@amd.com>
4754 * omx/gstomxvideoenc.c:
4755 omxvideoenc: fix startup race condition
4756 The reset function shouldn't start the src pad
4757 loop if it wasn't started before.
4758 Signed-off-by: Christian König <christian.koenig@amd.com>
4760 2014-03-01 18:48:17 +0100 Christian König <christian.koenig@amd.com>
4762 * omx/gstomxvideodec.c:
4763 omxvideodec: fix startup race condition
4764 The reset function shouldn't start the src pad
4765 loop if it wasn't started before.
4766 Signed-off-by: Christian König <christian.koenig@amd.com>
4768 2014-02-28 09:36:13 +0100 Sebastian Dröge <sebastian@centricular.com>
4771 Automatic update of common submodule
4772 From fe1672e to bcb1518
4774 2014-02-26 22:15:00 +0100 Stefan Sauer <ensonic@users.sf.net>
4777 Automatic update of common submodule
4778 From 1a07da9 to fe1672e
4780 2014-01-30 10:45:18 +0100 Edward Hervey <bilboed@bilboed.com>
4783 Automatic update of common submodule
4784 From d48bed3 to 1a07da9
4786 2014-01-25 17:44:14 +0100 Sebastian Dröge <sebastian@centricular.com>
4788 * omx/gstomxaudioenc.c:
4789 * omx/gstomxvideodec.c:
4790 * omx/gstomxvideoenc.c:
4791 omx: Don't handle FLUSHING and NOT_LINKED as errors
4792 Also don't stop the task on NOT_LINKED. We're not a demuxer.
4794 2013-12-22 22:35:31 +0000 Tim-Philipp Müller <tim@centricular.com>
4797 Automatic update of common submodule
4798 From dbedaa0 to d48bed3
4800 2013-11-05 11:22:02 +0000 Tim-Philipp Müller <tim@centricular.com>
4803 Automatic update of common submodule
4804 From 865aa20 to dbedaa0
4806 2013-09-28 13:32:37 +0200 Josep Torra <n770galaxy@gmail.com>
4808 * examples/egl/testegl.c:
4809 examples: simplify the thread synchronization code
4810 Make everithing more simple and fix the races conditions remaining in
4811 the previous approaches.
4813 2013-09-25 19:17:17 +0200 Sebastian Dröge <slomo@circular-chaos.org>
4815 * config/rpi/gstomx.conf:
4816 rpi: The WMV/VC1 decoder can only do WMV9 and VC1, no older versions
4818 2013-09-24 18:34:42 +0100 Tim-Philipp Müller <tim@centricular.net>
4821 Automatic update of common submodule
4822 From 6b03ba7 to 865aa20
4824 2013-09-24 18:48:24 +0200 Josep Torra <n770galaxy@gmail.com>
4826 * examples/egl/testegl.c:
4827 examples: fix another race condition
4828 Fix a race condition that caused randome deadlocks on EOS.
4830 2013-09-20 17:19:53 +0200 Josep Torra <n770galaxy@gmail.com>
4832 * config/rpi/gstomx.conf:
4833 rpi: fix a copy paste error in the config file
4835 2013-09-20 17:09:52 +0200 Josep Torra <n770galaxy@gmail.com>
4837 * examples/egl/testegl.c:
4838 examples: fix a race condition when seeking
4839 Fixes a race condition that caused pipeline deadlock during seeks.
4841 2013-09-20 10:38:12 +0200 Josep Torra <n770galaxy@gmail.com>
4843 * examples/egl/testegl.c:
4844 examples: display QoS statistics
4846 2013-09-20 09:34:37 +0200 Josep Torra <n770galaxy@gmail.com>
4848 * examples/egl/testegl.c:
4849 examples: use dedicated thread for rendering the scene
4850 Produces smother animation and prevents dropping frames due busy
4853 2013-09-20 08:25:21 +0200 Josep Torra <n770galaxy@gmail.com>
4855 * examples/egl/testegl.c:
4856 examples: don't force an specific audio sink
4857 Let playbin2 choose the audiosink available in the system.
4859 2013-09-20 08:19:48 +0200 Josep Torra <n770galaxy@gmail.com>
4861 * examples/egl/Makefile.am:
4862 examples: drop remnants of initial appsink attempt
4864 2013-09-20 16:18:18 +0200 Edward Hervey <edward@collabora.com>
4867 Automatic update of common submodule
4868 From b613661 to 6b03ba7
4870 2013-09-19 18:45:36 +0100 Tim-Philipp Müller <tim@centricular.net>
4873 Automatic update of common submodule
4874 From 74a6857 to b613661
4876 2013-09-19 17:38:30 +0100 Tim-Philipp Müller <tim@centricular.net>
4879 Automatic update of common submodule
4880 From 01a7a46 to 74a6857
4882 2013-08-20 16:00:07 +0100 Tim-Philipp Müller <tim@centricular.net>
4885 * omx/gstomxvideodec.c:
4886 omx: don't use the 'z' modifier to print size_t
4887 gcc will warn in some cases even if the size of the type
4888 is exactly that of size_t on the platform.
4889 https://bugzilla.gnome.org/show_bug.cgi?id=699008
4891 2013-07-01 15:48:47 +0200 Roman Arutyunyan <arutyunyan.roman@gmail.com>
4893 * omx/gstomxvideoenc.c:
4894 gstomxvideoenc: Set bitrate in setcaps
4895 Otherwise it gets lost whenever we configure new caps
4896 https://bugzilla.gnome.org/show_bug.cgi?id=698049
4898 2013-06-30 18:17:05 +0700 Ilya Smelykh <ilya@videoexpertsgroup.com>
4900 * examples/egl/testegl.c:
4901 examples: enable audio in testegl example
4903 2013-06-12 09:38:22 +0200 Sebastian Dröge <slomo@circular-chaos.org>
4906 configure: Allow build without gstreamer-egl
4908 2013-06-07 12:39:18 +0700 Ilya Smelykh <ilya@videoexpertsgroup.com>
4910 * examples/egl/Makefile.am:
4911 * examples/egl/testegl.c:
4912 examples: testegl example port to 1.x
4913 https://bugzilla.gnome.org/show_bug.cgi?id=701706
4915 2013-06-05 15:17:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4918 Automatic update of common submodule
4919 From 098c0d7 to 01a7a46
4921 2013-05-20 12:06:34 +0200 Josep Torra <n770galaxy@gmail.com>
4923 * omx/gstomxaudioenc.c:
4924 * omx/gstomxvideodec.c:
4925 * omx/gstomxvideoenc.c:
4926 omx: Take lock on EOS to update the flow return value
4927 Fixes "GThread-ERROR **: file gthread-posix.c: line 171
4928 (g_mutex_free_posix_impl): error 'Device or resource busy' during
4929 'pthread_mutex_destroy ((pthread_mutex_t *) mutex)'" in _finalize.
4931 2013-05-15 10:54:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4934 Automatic update of common submodule
4935 From 5edcd85 to 098c0d7
4937 2013-04-11 17:35:19 +0200 Josep Torra <n770galaxy@gmail.com>
4941 * examples/Makefile.am:
4942 * examples/egl/Makefile.am:
4943 * examples/egl/cube_texture_and_coords.h:
4944 * examples/egl/testegl.c:
4945 examples: add an example aplication based OpenGL ES + EGL
4946 Application that shows how to integrate playbin with an OpenGL ES
4947 scene through EGL. Renders a video on the surfaces of an animated cube.
4948 The code is not ported to 1.x so it's not built by default.
4950 2013-05-10 12:25:07 +0200 Josep Torra <n770galaxy@gmail.com>
4952 * omx/gstomxvideodec.c:
4953 omxvideodec: Redesign video size change reconfiguration code
4954 Ensure stop the decoder before clossing the tunnel.
4956 2013-05-06 16:25:27 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4959 Makefile.am: Add -I common/m4
4960 This allows autoreconf to work correctly and automatic regeneration
4961 of autotools files if something changed.
4963 2013-05-06 19:03:59 +0530 jitendra <jvarshney20@gmail.com>
4967 * omx/gstomxaudioenc.c:
4968 * omx/gstomxvideodec.c:
4969 * omx/gstomxvideoenc.c:
4970 omx: Add pads based on element type
4971 This allows to later add sources and sink that only have a srcpad
4973 https://bugzilla.gnome.org/show_bug.cgi?id=699754
4975 2013-04-27 02:50:25 +0200 Carlos Rafael Giani <dv@pseudoterminal.org>
4978 omx: fixed type error in printf call
4980 https://bugzilla.gnome.org/show_bug.cgi?id=699008
4982 2013-04-08 17:26:16 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4986 * omx/gstomxvideodec.c:
4987 Check for gstreamer-egl
4988 And don't use if not available.
4989 https://bugzilla.gnome.org/show_bug.cgi?id=697574
4991 2013-04-23 09:53:18 +0100 Tim-Philipp Müller <tim@centricular.net>
4994 configure: error out if no OMX target has been set explicitly with --with-omx-target=x
4995 Avoids people building for e.g. the Raspberry Pi and then wondering
4996 why things don't work as expected (since structs are packed differently
4999 2013-04-22 23:55:03 +0100 Tim-Philipp Müller <tim@centricular.net>
5002 Automatic update of common submodule
5003 From 3cb3d3c to 5edcd85
5005 2013-04-18 22:07:28 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5008 * omx/gstomxaudioenc.c:
5009 * omx/gstomxh263enc.c:
5010 * omx/gstomxh264enc.c:
5011 * omx/gstomxmpeg4videoenc.c:
5012 * omx/gstomxvideodec.c:
5013 * omx/gstomxvideoenc.c:
5014 omx: more printf format fixes
5015 Fix printf formats again, so that gst-omx compiles warning-
5016 free on the Raspberry Pi as well. Unfortunately OMX_UINT32
5017 maybe be typedefed to uint32_t or unsigned long, which
5018 doesn't work well with our debugging printf format strings,
5019 so just use %u for those and cast to guint.
5021 2013-04-18 16:40:06 +0200 Josep Torra <n770galaxy@gmail.com>
5024 omx: fixes unused variable 'comp' when GStreamer is built without debug
5026 2013-04-18 16:03:56 +0200 Josep Torra <n770galaxy@gmail.com>
5028 * omx/gstomxvideodec.c:
5029 omxvideodec: don't use 'self->dec_out_port' anymore and use just 'port'
5030 Fixes some criticals.
5032 2013-04-18 15:21:32 +0200 Josep Torra <n770galaxy@gmail.com>
5034 * omx/gstomxvideodec.c:
5035 omxvideodec: fixes 'port' may be used uninitialized in this function
5037 2013-04-18 12:03:31 +0200 Josep Torra <n770galaxy@gmail.com>
5039 * omx/gstomxvideodec.c:
5040 omxvideodec: silence warnings building for RPI related to 'vcos_*'
5042 2013-04-18 11:19:52 +0200 Josep Torra <n770galaxy@gmail.com>
5044 * omx/gstomxvideodec.c:
5045 omxvideodec: Use new type from libgstvideo
5047 2013-04-16 14:50:49 +0530 jitendra <jvarshney20@gmail.com>
5049 * omx/gstomxaudioenc.c:
5050 * omx/gstomxvideodec.c:
5051 * omx/gstomxvideoenc.c:
5052 omx: Disable output port before transition to idle state
5053 https://bugzilla.gnome.org/show_bug.cgi?id=698109
5055 2012-10-24 12:19:41 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5058 gst: Add better support for static plugins
5060 2013-04-14 17:57:34 +0100 Tim-Philipp Müller <tim@centricular.net>
5063 Automatic update of common submodule
5064 From aed87ae to 3cb3d3c
5066 2013-04-12 17:58:30 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5069 configure: add --disable-fatal-warnings for disabling -Werror
5071 2013-04-09 21:02:09 +0200 Stefan Sauer <ensonic@users.sf.net>
5074 Automatic update of common submodule
5075 From 04c7a1e to aed87ae
5077 2013-04-08 17:02:32 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5080 * omx/gstomxaudioenc.c:
5081 * omx/gstomxh263enc.c:
5082 * omx/gstomxh264enc.c:
5083 * omx/gstomxmpeg4videoenc.c:
5084 * omx/gstomxvideodec.c:
5085 * omx/gstomxvideoenc.c:
5086 omx: fix printf formats in debug messages
5087 OMX_U32 is typedefed to an unsigned long,
5088 OMX_TICKS to a 64-bit integer.
5090 2013-04-08 16:52:19 +0200 Josep Torra <n770galaxy@gmail.com>
5092 * omx/gstomxvideodec.c:
5093 omxvideodec: use the correct printf format in a debug message
5095 2013-04-08 16:31:33 +0200 Josep Torra <n770galaxy@gmail.com>
5097 * omx/gstomxvideodec.c:
5098 omxvideodec: use the correct OMX_IndexParam value
5099 Fixes playback is not smooth in the EGL path.
5101 2013-04-05 13:45:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5103 * omx/gstomxvideodec.c:
5104 omxvideodec: Don't use API that is not in master yet
5105 It's not really needed here yet, will be needed in future versions
5107 2013-02-25 11:55:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5113 * omx/gstomxvideodec.c:
5114 * omx/gstomxvideodec.h:
5115 omxvideodec: Add support for egl_render on RPi
5117 2013-03-22 19:26:54 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5122 2013-03-22 19:23:14 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5124 * omx/gstomxh263enc.c:
5125 * omx/gstomxh264enc.c:
5126 * omx/gstomxmpeg4videoenc.c:
5127 omx: fix compiler warnings when compiling with -DG_DISABLE_ASSERT
5128 As we do for releases. Fixes 'variable may be used uninitialized'
5131 === release 1.0.0 ===
5133 2013-03-22 17:16:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5144 2013-03-19 16:40:09 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5146 * omx/gstomxtheoradec.h:
5147 * omx/gstomxvp8dec.h:
5148 omx: fix typo in copyright headers
5150 2013-03-19 13:46:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5152 * config/rpi/gstomx.conf:
5153 rpi: Fix commit that added the VC1 decoder
5155 2013-03-19 13:27:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5157 * config/rpi/gstomx.conf:
5158 * omx/gstomxh263dec.c:
5159 * omx/gstomxh264dec.c:
5160 * omx/gstomxmjpegdec.c:
5161 * omx/gstomxmpeg2videodec.c:
5162 * omx/gstomxmpeg4videodec.c:
5163 * omx/gstomxtheoradec.c:
5164 * omx/gstomxvideodec.c:
5165 * omx/gstomxvp8dec.c:
5166 * omx/gstomxwmvdec.c:
5167 omx: Add more constraints to the default sink template caps
5169 2013-03-19 13:10:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5171 * config/rpi/gstomx.conf:
5172 rpi: Add VC1/WMV3 decoder
5173 WMV2 and WMV1 (aka WMV 1-8) are not supported by RPi.
5175 2013-03-19 12:59:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5177 * config/rpi/gstomx.conf:
5178 rpi: Add MJPEG decoder
5180 2013-03-19 12:56:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5182 * config/rpi/gstomx.conf:
5183 rpi: Add VP8 decoder
5185 2013-03-19 12:55:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5187 * omx/gstomxvideodec.c:
5188 omxvideodec: Set ENDOFFRAME flag for the end of frames
5190 2013-03-19 12:28:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5192 * config/rpi/gstomx.conf:
5193 rpi: Add Theora decoder to the config
5195 2013-03-19 09:36:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5200 * omx/gstomxtheoradec.c:
5201 * omx/gstomxtheoradec.h:
5202 omx: Add Theora decoder
5204 2013-03-18 16:43:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5207 omx: Remove additional comma
5209 2013-03-18 16:34:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5211 * config/rpi/gstomx.conf:
5214 * omx/gstomxmpeg2dec.h:
5215 * omx/gstomxmpeg2videodec.c:
5216 * omx/gstomxmpeg2videodec.h:
5217 omx: Rename MPEG2 decoder for consistency everywhere
5219 2013-03-18 16:30:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5223 * omx/gstomxmjpegdec.c:
5224 * omx/gstomxmjpegdec.h:
5225 omx: Add MJPEG decoder support
5227 2013-03-18 16:06:54 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5232 * omx/gstomxvp8dec.c:
5233 * omx/gstomxvp8dec.h:
5234 omx: Add VP8 decoder support
5236 2013-03-18 15:44:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5238 * config/rpi/gstomx.conf:
5239 rpi: Add h263 decoder and rename MPEG2 decoder for consistency
5241 2013-03-16 13:20:27 +0000 Tim-Philipp Müller <tim@centricular.net>
5243 * omx/gstomxmpeg2dec.c:
5244 omxmpeg2dec: mpeg-2 decoder should be able to handle mpeg-1 too
5245 https://bugzilla.gnome.org/show_bug.cgi?id=695879
5247 2013-03-16 10:13:06 +0100 Josep Torra <n770galaxy@gmail.com>
5250 omx: minor stylistic change for consistency with other similar code
5252 2013-03-16 10:00:24 +0100 Josep Torra <n770galaxy@gmail.com>
5254 * omx/gstomxaudioenc.c:
5255 * omx/gstomxvideodec.c:
5256 * omx/gstomxvideoenc.c:
5257 omx: Clarify that loop task is also paused in EOS
5259 2013-03-16 09:59:01 +0100 Josep Torra <n770galaxy@gmail.com>
5261 * omx/gstomxvideoenc.c:
5262 omxvideoenec: Don't forget propagate flow return value upstream
5264 2013-03-15 13:16:39 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5267 omx: improve debug logging some more
5269 2013-03-15 14:09:45 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5271 * omx/gstomxvideodec.c:
5272 omxvideodec: Make sure that the first frame we pass to OpenMAX is a sync frame
5274 2013-03-15 11:46:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5276 * omx/gstomxaudioenc.c:
5277 * omx/gstomxvideodec.c:
5278 * omx/gstomxvideoenc.c:
5279 omx: Stop output port task after draining
5281 2013-03-15 10:58:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5284 omx: Reset EOS flag in more places
5286 2013-03-15 10:38:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5288 * omx/gstomxvideodec.c:
5289 omxvideodec: Deallocate output buffers with the right function
5291 2013-03-15 01:06:05 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5295 omx: log commands as strings
5296 Makes logs easier to read.
5298 2013-03-15 00:47:47 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5302 omx: log states as strings
5304 2013-03-15 00:28:02 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5308 omx: log component name in debug messages
5309 Useful when we have more different components
5310 active at the same time.
5312 2013-03-15 09:51:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5314 * omx/gstomxvideodec.c:
5315 omxvideodec: Don't interpolate timestamps
5316 We will get exactly one frame per input buffer and assigning
5317 timestamps between frames if more than one OMX buffer is required
5318 per frame easily confuses timestamp tracking in OMX.
5320 2013-03-15 09:32:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5322 * omx/gstomxvideodec.c:
5323 omxvideodec: Give the codec_data the timestamp of the first frame and no duration
5325 2013-03-14 17:31:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5327 * config/rpi/gstomx.conf:
5328 omx: The MPEG4 encoder is not available on RPi and probably never will
5330 2013-03-14 17:26:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5333 omx: Reset some more buffer fields as required
5335 2013-03-14 17:01:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5337 * config/rpi/gstomx.conf:
5339 omx: The hack to disable usage of EOS buffers is not necessary anymore on RPi
5341 2013-03-14 17:00:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5344 omx: Reset the flags for output ports when releasing a buffer, not for input ports
5346 2013-03-14 15:03:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5348 * omx/gstomxh263enc.c:
5349 * omx/gstomxh264enc.c:
5350 * omx/gstomxmpeg4videoenc.c:
5351 omx: Only unref caps after usage of its fields
5353 2013-03-14 14:51:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5355 * omx/gstomxvideodec.c:
5356 omxvideodec: Simplify bufferpool implementation
5358 2013-03-13 13:23:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5360 * omx/gstomxvideodec.c:
5361 omxvideodec: Improve min/max buffer counts handling
5363 2013-03-14 12:49:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5367 * omx/gstomxaudioenc.c:
5368 * omx/gstomxvideodec.c:
5369 * omx/gstomxvideoenc.c:
5370 omx: Handle the OMX_EventBufferFlag to detect EOS too
5372 2013-03-13 10:29:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5376 omx: Mark OpenMAX buffers as EGLImage if they contain one
5377 Needs special handling in some places, e.g. because nFilledLen
5380 2013-03-13 10:21:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5382 * omx/gstomxvideoenc.c:
5383 omxvideoenc: Properly check the nVersion field
5385 2013-03-13 09:34:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5387 * omx/gstomxvideoenc.c:
5388 omxvideoenc: RPi returns garbage for OMX_IndexParamVideoBitrate, work around that
5390 2013-03-12 20:02:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5392 * omx/gstomxvideodec.c:
5393 omxvideodec: Make sure to always get the right buffer
5395 2013-03-12 19:35:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5397 * omx/gstomxvideodec.c:
5398 omxvideodec: Make sure the buffer is released to the pool if it's not the one we wanted
5400 2013-03-12 19:17:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5402 * omx/gstomxvideodec.c:
5403 omxvideodec: Drop too late frames instead of finishing them
5405 2013-03-12 19:16:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5407 * omx/gstomxvideodec.c:
5408 omx: Release buffers to the correct port
5410 2013-03-13 09:37:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5413 omx: Always load the OpenMAX IL cores with G_MODULE_BIND_LOCAL
5415 2013-03-12 18:20:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5418 omx: Lazy-load symbols of libbcm_host.so
5419 It exports eglIntOpenMAXILDoneMarker(), which is also
5420 exported by libopenmaxil.so... but we need the version
5421 from libopenmaxil.so as the other one is just a stub.
5423 2013-03-11 13:59:15 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5425 * omx/gstomxaacenc.c:
5426 * omx/gstomxh263enc.c:
5427 * omx/gstomxmpeg4videoenc.c:
5428 omx: Don't set profile/level in other encoders if downstream caps don't specify any
5430 2013-03-11 13:49:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5432 * omx/gstomxh264enc.c:
5433 omxh264enc: If caps specify no profile/level use the component's defaults
5435 2013-03-11 13:45:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5437 * omx/gstomxvideoenc.c:
5438 omxvideoenc: Always allocate output buffers from the loop function
5440 2013-03-11 13:12:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5442 * omx/gstomxh264enc.c:
5443 omxh264enc: The h264 encoders are supposed to output byte-stream/au
5445 2013-03-11 11:47:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5447 * omx/gstomxvideoenc.c:
5448 omxvideoenc: Wait until the Executing state is reached before passing buffers to the component
5450 2013-03-11 10:39:25 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5452 * omx/gstomxvideodec.c:
5453 omxvideodec: Don't provide buffers to downstream
5454 This only works reliable if we have a way to tell downstream to
5455 release all our buffers for reconfiguration.
5457 2013-03-11 10:29:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5459 * omx/gstomxaudioenc.c:
5460 omxaudioenc: Disable output port when setting a new format
5462 2013-03-11 10:29:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5464 * omx/gstomxvideoenc.c:
5465 omxvideoenc: Disable output port when setting a new format
5467 2013-03-11 10:22:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5469 * omx/gstomxvideodec.c:
5470 omxvideodec: Disable output port when setting a new format
5471 Based on a patch by Josep Torra <n770galaxy@gmail.com>
5473 2013-03-11 10:04:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5475 * omx/gstomxaudioenc.c:
5476 * omx/gstomxvideodec.c:
5477 * omx/gstomxvideoenc.c:
5478 omx: Catch errors when releasing buffers to a port and handle them
5480 2013-03-10 12:09:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5482 * omx/gstomxvideoenc.c:
5483 omxvideoenc: Use the correct video codec state when filling an input buffer
5485 2013-03-10 12:05:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5487 * omx/gstomxvideoenc.c:
5488 omxvideoenc: Store correct input state
5490 2013-03-10 11:27:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5492 * omx/gstomxvideoenc.c:
5493 omxvideoenc: Allocate output buffers as early as possible
5495 2013-03-10 11:01:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5498 omx: Log unknown events
5500 2013-03-09 14:14:40 +0100 Josep Torra <n770galaxy@gmail.com>
5502 * omx/gstomxaudioenc.c:
5503 * omx/gstomxvideodec.c:
5504 * omx/gstomxvideoenc.c:
5505 omx: Fix deadlock in encoders and add explainatory comments.
5507 2013-03-09 13:27:08 +0100 Josep Torra <n770galaxy@gmail.com>
5509 * omx/gstomxvideodec.c:
5510 omxvideodec: fix printf format identifier
5512 2013-03-09 13:07:59 +0100 Josep Torra <n770galaxy@gmail.com>
5514 * omx/gstomxvideodec.c:
5515 omx: Minor changes on debuging info
5517 2013-03-09 13:00:33 +0100 Josep Torra <n770galaxy@gmail.com>
5519 * omx/gstomxvideodec.c:
5520 omxvideodec: avoid a deadlock
5522 2013-03-08 15:56:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5524 * omx/gstomxvideodec.c:
5525 omxvideodec: Don't forget to populate output port
5527 2013-03-08 15:11:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5529 * omx/gstomxaudioenc.c:
5530 * omx/gstomxvideodec.c:
5531 * omx/gstomxvideoenc.c:
5532 omx: Flush and stop srcpad when configuring new caps
5534 2013-03-07 17:40:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5536 * config/rpi/gstomx.conf:
5538 Revert "omx: use no-component-reconfigure hack on the Raspberry PI"
5539 This reverts commit e123b2089f69a413241f30a2428ea6edd8f231e7.
5540 It's not required anymore after the fix from the last commit.
5542 2013-03-07 17:38:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5544 * omx/gstomxvideodec.c:
5545 omxvideodec: Only negotiate a color format with downstream on the initial caps
5547 2013-03-07 17:29:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5549 * omx/gstomxvideodec.c:
5550 omxvideodec: Make sure the output port is disabled while we allocate buffers
5552 2013-03-07 17:27:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5555 omx: Also wait for disabled output ports to be reconfigured
5557 2013-03-07 14:10:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5559 * omx/gstomxvideodec.c:
5560 * omx/gstomxvideodec.h:
5561 omxvideodec: Add buffer pool for sharing OpenMAX memory with downstream
5563 2013-03-07 11:11:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5567 * omx/gstomxaudioenc.c:
5568 * omx/gstomxvideodec.c:
5569 * omx/gstomxvideoenc.c:
5570 omx: Add timeout to the flush operation and move buffer populating to a separate function
5572 2013-03-06 17:33:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5574 * config/rpi/gstomx.conf:
5577 omx: Remove min buffer count hack for RPi again
5578 It's not necessary anymore
5580 2013-03-06 17:05:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5584 * omx/gstomxaudioenc.c:
5585 * omx/gstomxvideodec.c:
5586 * omx/gstomxvideoenc.c:
5587 omx: Do number of buffers configuration explicitely
5589 2013-03-07 11:24:54 +0100 Josep Torra <n770galaxy@gmail.com>
5591 * omx/gstomxvideodec.c:
5592 omxvideodec: fixes reconfiguration
5593 Avoid having fixed fields from previous caps on reconfiguration.
5595 2013-03-07 11:02:39 +0100 Josep Torra <n770galaxy@gmail.com>
5597 * config/rpi/gstomx.conf:
5599 omx: use no-component-reconfigure hack on the Raspberry PI
5601 2013-03-07 00:03:28 +0000 Tim-Philipp Müller <tim@centricular.net>
5604 Automatic update of common submodule
5605 From 2de221c to 04c7a1e
5607 2013-03-01 15:32:47 +0100 Josep Torra <n770galaxy@gmail.com>
5609 * omx/gstomxvideoenc.h:
5610 omxvideoenc: drop unused data member
5612 2013-03-01 12:23:54 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5614 * omx/gstomxh263enc.c:
5615 * omx/gstomxh264enc.c:
5616 * omx/gstomxmpeg4videoenc.c:
5617 omxvideoenc: And set it actually on the right port
5619 2013-03-01 12:18:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5621 * omx/gstomxh263enc.c:
5622 * omx/gstomxh264enc.c:
5623 * omx/gstomxmpeg4videoenc.c:
5624 omxvideoenc: Set the coding type in the subclasses to the specific codec
5626 2013-03-01 11:49:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5628 * omx/gstomxvideoenc.c:
5629 omxvideoenc: gst_omx_port_update_port_definition() returns a OMX_ERRORTYPE, not a gboolean
5631 2013-03-01 11:44:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5633 * omx/gstomxvideodec.c:
5634 * omx/gstomxvideoenc.c:
5635 omxvideo{dec,enc}: Don't use the input state if it wasn't set yet
5637 2013-03-01 11:25:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5639 * omx/gstomxaudioenc.c:
5640 omxaudioenc: Only enable the output port after we know the output format
5642 2013-03-01 11:24:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5644 * omx/gstomxvideoenc.c:
5645 omxvideoenc: Only enable the output port after we know the output format
5647 2013-02-28 17:02:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5649 * omx/gstomxvideodec.c:
5650 omxvideodec: Only enable the output port after we know the output format
5652 2013-03-01 11:18:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5656 omx: Handle errors more gracefully
5658 2013-02-28 15:48:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5662 * omx/gstomxaudioenc.c:
5663 * omx/gstomxh263dec.c:
5664 * omx/gstomxh264dec.c:
5665 * omx/gstomxmpeg2dec.c:
5666 * omx/gstomxmpeg4videodec.c:
5667 * omx/gstomxvideodec.c:
5668 * omx/gstomxwmvdec.c:
5669 omx: Return the OMX_ERRORTYPE from gst_omx_port_update_port_definition
5671 2013-02-28 15:37:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5674 omx: Return port definition update errors
5676 2013-02-28 13:57:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5678 * config/rpi/gstomx.conf:
5681 omx: Add hack for RPi for the minimum number of buffers required for a port
5682 The value in the port definition is invalid and the initial actual
5683 buffer count should be used.
5685 2013-02-28 13:26:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5688 omx: Always tell the component about the right number of buffers that we're going to allocate
5690 2013-02-28 13:07:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5693 omx: Invert assertion to let it express what was intended
5695 2013-02-28 11:19:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5699 * omx/gstomxaudioenc.c:
5700 * omx/gstomxvideodec.c:
5701 * omx/gstomxvideoenc.c:
5702 omx: Add API for allocating a specific number of buffers and using EGLImages or buffers allocated elsewhere
5704 2013-02-27 16:55:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5706 * omx/gstomxaudioenc.c:
5707 * omx/gstomxvideodec.c:
5708 * omx/gstomxvideoenc.c:
5709 omx: Refactor code flow a bit if output port settings have changed
5711 2013-02-27 15:49:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5715 * omx/gstomxaudioenc.c:
5716 * omx/gstomxvideodec.c:
5717 * omx/gstomxvideoenc.c:
5718 omx: Clean up port settings change handling
5720 2013-02-27 11:30:14 +0100 Josep Torra <n770galaxy@gmail.com>
5722 * omx/gstomxvideodec.c:
5723 omxvideodec: initialize param structure before using it
5725 2013-02-27 10:21:39 +0100 Josep Torra <n770galaxy@gmail.com>
5727 * omx/gstomxvideoenc.c:
5728 omxvideoenc: prevent a NULL pointer access
5730 2013-02-26 17:25:49 +0100 Josep Torra <n770galaxy@gmail.com>
5732 * omx/gstomxvideodec.c:
5733 omxvideodec: prevent a NULL pointer access
5735 2013-02-25 13:11:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5738 omx: Fix deadlock during reconfiguration
5740 2013-02-25 12:38:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5743 * omx/gstomxaudioenc.c:
5744 * omx/gstomxvideodec.c:
5745 * omx/gstomxvideoenc.c:
5746 omx: Auto-detect the port indizes if possible
5748 2013-02-25 11:42:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5750 * omx/gstomxvideodec.c:
5751 * omx/gstomxvideoenc.c:
5752 omx: Refactor querying of component supported caps into its own function
5754 2013-02-25 10:41:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5758 * omx/gstomxaudioenc.c:
5759 * omx/gstomxvideodec.c:
5760 * omx/gstomxvideoenc.c:
5761 omx: Refactor waiting for buffers to be released by the component to a separate function
5763 2013-01-11 17:44:13 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5767 omx: Add methods to set up and close a tunnel between components
5769 2013-02-25 09:15:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5771 * omx/gstomxaacenc.c:
5772 * omx/gstomxaudioenc.c:
5773 * omx/gstomxaudioenc.h:
5774 omxaudioenc: Rename component variable
5776 2013-02-25 09:15:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5778 * omx/gstomxh263enc.c:
5779 * omx/gstomxh264enc.c:
5780 * omx/gstomxmpeg4videoenc.c:
5781 * omx/gstomxvideoenc.c:
5782 * omx/gstomxvideoenc.h:
5783 omxvideoenc: Rename component variable
5785 2013-02-25 09:12:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5787 * omx/gstomxvideodec.c:
5788 * omx/gstomxvideodec.h:
5789 omxvideodec: Rename component variable
5791 2013-02-22 16:27:33 +0100 Josep Torra <n770galaxy@gmail.com>
5793 * omx/gstomxvideoenc.c:
5794 omxvideoenc: remove duplicated line
5796 2013-02-22 10:42:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5799 Retry loading libbcm_host.so without an absolute path if that failed
5801 2013-02-21 20:32:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5803 * config/bellagio/Makefile.am:
5804 Add missing file from last commit
5806 2013-02-21 11:01:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5808 * config/Makefile.am:
5809 * config/bellagio/gstomx.conf:
5812 Add OpenMAX IL target for Bellagio
5813 Not tested since a very long time though.
5815 2013-02-21 10:59:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5819 Allow using external OpenMAX IL headers
5821 2013-02-21 10:14:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5826 2013-02-21 10:13:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5828 * config/Makefile.am:
5829 * config/rpi/Makefile.am:
5830 * config/rpi/gstomx.conf:
5832 Install the RPI config when the RPI target is selected
5834 2013-02-21 10:08:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5837 Set default hacks for the RPI target and always initialize bcm_host
5839 2013-02-21 10:05:37 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5842 Add configure parameter for setting the OpenMAX IL target
5844 2013-02-12 11:55:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5847 omx: Add FIXME for the future
5849 2013-02-12 11:49:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5853 * omx/gstomxaudioenc.c:
5854 * omx/gstomxaudioenc.h:
5855 * omx/gstomxvideodec.c:
5856 * omx/gstomxvideodec.h:
5857 * omx/gstomxvideoenc.c:
5858 * omx/gstomxvideoenc.h:
5859 omx: Some minor refactoring and cleanup
5861 2013-02-12 11:45:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5864 omx: Don't access the port's buffers array if it wasn't allocated yet
5866 2013-02-12 11:44:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5869 omx: Mark an array as const
5871 2013-02-12 11:41:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5875 * omx/gstomxaudioenc.c:
5876 * omx/gstomxvideodec.c:
5877 * omx/gstomxvideoenc.c:
5878 omx: Split enabling/disabling of port into sending the command and waiting for it
5879 This allows to do anything necessary after sending the command to actually let it finish
5881 2013-02-12 11:37:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5884 omx: Flushing is also allowed in Paused state
5886 2013-02-12 11:28:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5888 * omx/gstomxvideoenc.c:
5889 omxvideoenc: Set stride, slice height and buffer size
5891 2013-02-12 11:09:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5893 * config/raspberry-pi.conf:
5894 config: Add h264 and mpeg2 encoders to the raspberry pi config
5895 Not completely working yet though.
5897 2013-02-12 11:03:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5899 * omx/gstomxvideoenc.c:
5900 omxvideoenc: Properly negotiate OMX color format with the component
5902 2013-02-12 10:53:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5904 * omx/gstomxvideoenc.c:
5905 omxvideoenc: Implement getcaps() vfunc
5907 2013-01-29 21:32:53 +0000 Tim-Philipp Müller <tim@centricular.net>
5910 configure: use 1.0 gstconfig.h to detect disabled subsystems
5911 Update unused configure check for GStreamer core subsystem
5912 features from 0.10 to 1.0.
5914 2013-01-28 20:44:41 +0100 Stefan Sauer <ensonic@users.sf.net>
5917 Automatic update of common submodule
5918 From a942293 to 2de221c
5920 2013-01-24 14:02:36 +0100 Julian Scheel <julian@jusst.de>
5922 * config/raspberry-pi.conf:
5925 * omx/gstomxmpeg2dec.c:
5926 * omx/gstomxmpeg2dec.h:
5927 omx: add mpeg2 video decoder
5928 This adds a decoder class for mpeg2, as well as an extended
5929 configuration for raspberry pi.
5930 https://bugzilla.gnome.org/show_bug.cgi?id=692446
5931 Signed-off-by: Julian Scheel <julian@jusst.de>
5933 2013-01-18 16:47:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5936 omx: Minimize the time when the messages lock is held
5937 Fixes a deadlock if any OMX functions are called when the
5938 messages are handled.
5939 Thanks to Nicolas Dufresne for noticing.
5941 2013-01-18 15:28:20 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5944 omx: improve debug message when we can't find the config file
5945 Mention where we looked for the config file.
5947 2013-01-18 12:34:38 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5950 build: fix autogen.sh with automake 1.13
5951 AM_CONFIG_HEADER -> AC_CONFIG_HEADERS
5953 2013-01-17 18:07:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5956 * omx/gstomxaudioenc.h:
5957 * omx/gstomxvideodec.h:
5958 * omx/gstomxvideoenc.h:
5959 omx: Fix includes to properly work with the 1.0 releases
5961 2013-01-15 15:08:28 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5964 Automatic update of common submodule
5965 From a72faea to a942293
5967 2013-01-15 14:34:45 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5970 omx: Update port definition when changing some port setting
5972 2013-01-14 11:41:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5976 omx: Rename from libgstopenmax.so to ligstomx.so for consistency
5978 2013-01-11 15:32:22 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
5981 omx: Add a method to send message
5983 2013-01-11 15:44:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5987 omx: Atomic ops are not required anymore for the reconfiguration
5989 2013-01-11 12:52:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5991 * omx/gstomxaudioenc.c:
5992 * omx/gstomxvideodec.c:
5993 * omx/gstomxvideoenc.c:
5994 omx: Fix some memory leaks and suboptimal locking
5996 2013-01-11 12:34:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5998 * omx/gstomxvideoenc.c:
5999 omxvideoenc: Don't forget to unmap frame in error cases
6001 2013-01-11 12:29:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6003 * omx/gstomxvideoenc.c:
6004 omxvideoenc: Fix copying of the video frames to the OMX buffers
6006 2013-01-11 12:24:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6008 * omx/gstomxvideodec.c:
6009 omxvideodec: Fix copying of the video frames from the OMX buffers
6011 2013-01-10 14:44:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6016 * omx/gstomxaudioenc.c:
6017 * omx/gstomxrecmutex.c:
6018 * omx/gstomxrecmutex.h:
6019 omx: Implement new approach for locking that should solve all deadlocks on RPi
6020 No mutex is locked while calling any OpenMAX functions anymore
6021 and everything from the OpenMAX callbacks is inserted into a message
6022 queue and handled from outside the callbacks.
6023 Also there's only a single mutex and condition variable per component
6024 now for handling anything from OpenMAX callbacks and a single mutex
6025 for keeping our component/port state sane.
6027 2012-12-20 19:30:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6029 * omx/gstomxvideodec.c:
6030 omxvideodec: Set the OMX buffer nFilledLength field properly
6032 2012-12-20 18:48:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6034 * omx/gstomxrecmutex.c:
6035 * omx/gstomxrecmutex.h:
6036 omxrecmutex: Fix another race condition when two threads are trying to lock for recursion at the same time
6038 2012-12-20 18:16:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6040 * omx/gstomxrecmutex.c:
6041 * omx/gstomxrecmutex.h:
6042 omxrecmutex: Fix yet another race condition that resulted in deadlocks
6044 2012-12-20 17:46:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6047 * omx/gstomxrecmutex.c:
6048 * omx/gstomxrecmutex.h:
6049 omx: Fix another race condition in the recursive mutex
6050 Between lock() and begin_recursion() it was possible for another thread to
6051 try to do a recursive_lock(). This would block because the mutex was already
6052 locked(), but not ready for recursive locking yet. unlock() would never
6053 happen in the original thread because it was waiting for the other thread
6055 Happened on the Raspberry Pi.
6057 2012-12-20 14:45:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6059 * omx/gstomxrecmutex.c:
6060 * omx/gstomxrecmutex.h:
6061 omxrecmutex: Fix a small race condition when unlocking a non-recursive lock
6063 2012-12-20 12:30:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6065 * omx/gstomxaudioenc.c:
6066 * omx/gstomxvideodec.c:
6067 * omx/gstomxvideoenc.c:
6068 omx: Fix ununsed variable compiler warning
6070 2012-12-20 12:27:47 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6072 * omx/gstomxaudioenc.c:
6073 * omx/gstomxvideodec.c:
6074 * omx/gstomxvideoenc.c:
6075 omx: No need to start the srcpad task in ::start() already
6076 It will be started properly after the caps are set.
6078 2012-12-20 12:23:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6080 * omx/gstomxvideodec.c:
6081 omxvideodec: OMX_ErrorNoMore is no error and just means we ended iteration
6083 2012-12-20 12:20:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6085 * omx/gstomxaudioenc.c:
6086 * omx/gstomxvideodec.c:
6087 * omx/gstomxvideoenc.c:
6088 omx: Improve debug output
6090 2012-12-20 12:02:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6092 * omx/gstomxvideodec.c:
6093 omxvideodec: Don't forget to free a GList
6095 2012-12-20 11:56:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6097 * omx/gstomxvideodec.c:
6098 omxvideodec: Map OMX_COLOR_FormatYUV420PackedPlanar to I420 too
6099 This is used on the Raspberry Pi.
6101 2012-12-20 11:55:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6103 * omx/gstomxvideodec.c:
6104 omxvideodec: During negotiation of the output format make sure we use the correct OpenMAX format
6106 2012-12-20 11:42:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6108 * omx/gstomxvideodec.c:
6109 omxvideodec: If negotiation fails this could also mean that the component can't do it at this point yet
6111 2012-12-20 11:40:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6113 * omx/gstomxvideodec.c:
6114 omxvideodec: Improve format negotiation a bit
6115 Don't leak caps and make sure to fixate caps.
6117 2012-12-19 13:05:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6120 omx: Also initialize nStep field of the OMX structures
6122 2012-12-19 13:03:37 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6125 omx: Initialize struct version with the OMX version we compiled with
6127 2012-12-19 12:44:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6129 * omx/gstomxvideodec.c:
6130 omxvideodec: Extract data from the input buffer, not the codec data
6132 2012-12-19 12:19:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6135 * tools/listcomponents.c:
6136 omx: Use has_suffix() instead of has_prefix() for the Broadcom hack
6138 2012-12-19 12:08:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6142 * tools/Makefile.am:
6143 * tools/listcomponents.c:
6144 tools: Add tool to list all components and their roles
6146 2012-12-19 11:31:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6149 omx: Add hack to load and initialize libbcm_host.so
6150 Needed on the Raspberry Pi. Patch based on a patch by
6151 George Kiagiadakis <george.kiagiadakis@collabora.com>
6153 2012-12-19 11:22:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6157 configure: Add configure option to pack OpenMAX structures
6158 This is required to set to 4 for the Raspberry Pi for example.
6160 2012-12-19 11:07:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6163 configure: Require GStreamer 1.0.0
6165 2012-04-20 17:13:52 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
6168 omx: Initialize structures to version 1.1.2
6170 2012-12-19 09:51:22 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6173 * config/Makefile.am:
6174 * config/raspberry-pi.conf:
6176 config: Add raspberry-pi configuration in a different directory
6178 2012-05-20 20:11:59 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
6180 * omx/gstomx-raspberry.conf:
6181 raspberry: Add a gstomx.conf for the Raspberry Pi
6183 2012-12-12 17:45:39 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6186 * omx/gstomxvideoenc.h:
6187 omx: Fix some compilation errors caused by circular includes
6189 2012-11-19 11:29:44 +0000 Tim-Philipp Müller <tim@centricular.net>
6192 Automatic update of common submodule
6193 From 6bb6951 to a72faea
6195 2012-11-12 15:14:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6197 * omx/gstomxvideodec.c:
6198 * omx/gstomxvideoenc.c:
6199 omx: Fix refcount problem with frames being dropped because of decoder bugs
6201 2012-11-12 11:29:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6205 * omx/gstomxaudioenc.c:
6206 * omx/gstomxaudioenc.h:
6207 * omx/gstomxrecmutex.c:
6208 * omx/gstomxrecmutex.h:
6209 * omx/gstomxvideodec.c:
6210 * omx/gstomxvideodec.h:
6211 * omx/gstomxvideoenc.c:
6212 * omx/gstomxvideoenc.h:
6213 omx: Update to new GLib thread API
6215 2012-10-22 14:34:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6217 * omx/gstomxvideodec.c:
6218 * omx/gstomxvideoenc.c:
6219 omx: Use open/close vfuncs
6221 2012-10-22 14:28:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6223 * omx/gstomxvideodec.c:
6224 * omx/gstomxvideoenc.c:
6225 omx: Handle video meta correctly
6227 2012-06-20 13:11:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6230 * omx/gstbasevideocodec.c:
6231 * omx/gstbasevideocodec.h:
6232 * omx/gstbasevideodecoder.c:
6233 * omx/gstbasevideodecoder.h:
6234 * omx/gstbasevideoencoder.c:
6235 * omx/gstbasevideoencoder.h:
6236 * omx/gstbasevideoutils.c:
6237 * omx/gstbasevideoutils.h:
6238 * omx/gstomxh263dec.c:
6239 * omx/gstomxh263enc.c:
6240 * omx/gstomxh264dec.c:
6241 * omx/gstomxh264enc.c:
6242 * omx/gstomxmpeg4videodec.c:
6243 * omx/gstomxmpeg4videoenc.c:
6244 * omx/gstomxvideodec.c:
6245 * omx/gstomxvideodec.h:
6246 * omx/gstomxvideoenc.c:
6247 * omx/gstomxvideoenc.h:
6248 * omx/gstomxwmvdec.c:
6249 omx: Port to video base classes from -base
6251 2012-10-17 17:57:43 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
6253 * omx/gstomxaacenc.c:
6254 * omx/gstomxh263dec.c:
6255 * omx/gstomxh263enc.c:
6256 * omx/gstomxh264dec.c:
6257 * omx/gstomxh264enc.c:
6258 * omx/gstomxmpeg4videodec.c:
6259 * omx/gstomxmpeg4videoenc.c:
6260 * omx/gstomxwmvdec.c:
6261 omx: gst_element_class_set_details_simple() -> set_static_metadata()
6263 2012-10-06 15:01:11 +0100 Tim-Philipp Müller <tim@centricular.net>
6266 Automatic update of common submodule
6267 From 6c0b52c to 6bb6951
6269 2012-09-22 16:10:38 +0100 Tim-Philipp Müller <tim@centricular.net>
6272 Automatic update of common submodule
6273 From 4f962f7 to 6c0b52c
6275 2012-06-21 20:22:13 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
6278 omx: fix debug statement
6280 2012-06-21 20:21:03 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
6283 omx: use recursive_lock inside set_last_error(), since this function may be called from an event handler
6285 2012-08-22 13:31:59 +0200 Stefan Sauer <ensonic@users.sf.net>
6288 Automatic update of common submodule
6289 From 668acee to 4f962f7
6291 2012-08-05 16:42:43 +0100 Tim-Philipp Müller <tim@centricular.net>
6294 Automatic update of common submodule
6295 From 94ccf4c to 668acee
6297 2012-08-03 19:32:13 +0100 Tim-Philipp Müller <tim@centricular.net>
6300 omx: fix plugin name for new GST_PLUGIN_DEFINE API
6302 2012-07-23 08:47:32 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6305 Automatic update of common submodule
6306 From 98e386f to 94ccf4c
6308 2012-07-10 09:57:09 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6310 * omx/gstbasevideodecoder.c:
6311 omx: Update for allocation query API changes
6313 2012-06-20 11:09:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6315 * omx/gstomxaudioenc.c:
6316 * omx/gstomxvideodec.c:
6317 * omx/gstomxvideoenc.c:
6318 omx: Fix compilation after gst_pad_start_task() API changes
6320 2012-06-08 15:06:35 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
6323 Automatic update of common submodule
6324 From 03a0e57 to 98e386f
6326 2012-06-06 18:20:18 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
6329 Automatic update of common submodule
6330 From 1fab359 to 03a0e57
6332 2012-06-01 10:30:27 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
6335 Automatic update of common submodule
6336 From f1b5a96 to 1fab359
6338 2012-05-31 13:10:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6341 Automatic update of common submodule
6342 From 92b7266 to f1b5a96
6344 2012-05-30 12:47:59 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6347 Automatic update of common submodule
6348 From ec1c4a8 to 92b7266
6350 2012-05-30 11:26:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6353 Automatic update of common submodule
6354 From 3429ba6 to ec1c4a8
6356 2012-05-13 15:58:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6359 Automatic update of common submodule
6360 From dc70203 to 3429ba6
6362 2012-05-08 16:13:32 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
6365 omx: Fix spelling mistake found by lintian: s/Seperate/Separate/
6367 2012-04-30 23:58:43 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
6372 * omx/gstomxaudioenc.c:
6373 * omx/gstomxrecmutex.c:
6374 * omx/gstomxrecmutex.h:
6375 * omx/gstomxvideodec.c:
6376 * omx/gstomxvideoenc.c:
6377 Implement a new custom recursive mutex type and fix locking in callbacks so that in-context calls are allowed.
6378 According to the OMX specification, implementations are allowed to call
6379 callbacks in the context of their function calls. However, our callbacks
6380 take locks and this causes deadlocks if the unerlying OMX implementation
6381 uses this kind of in-context calls.
6382 A solution to the problem would be a recursive mutex. However, a normal
6383 recursive mutex does not fix the problem because it is not guaranteed
6384 that the callbacks are called from the same thread. What we see in Broadcom's
6385 implementation for example is:
6387 - OMX_Foo waits on a condition
6388 - A callback is executed in a different thread
6389 - When the callback returns, its calling function
6390 signals the condition that OMX_Foo waits on
6391 - OMX_Foo wakes up and returns
6392 The solution I came up with here is to take a second lock inside the callback,
6393 but only if recursion is expected to happen. Therefore, all calls to OMX
6394 functions are guarded by calls to gst_omx_rec_mutex_begin_recursion() / _end_recursion(),
6395 which effectively tells the mutex that at this point we want to allow calls
6396 to _recursive_lock() to succeed, although we are still holding the master lock.
6398 2012-04-20 14:51:34 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
6402 omx: Add hack to disable setting roles to components.
6406 2012-04-30 23:20:24 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
6409 * omx/gstomxvideodec.c:
6410 omxvideodec: Implement no-empty-eos-buffer hack, as in omxvideoenc.
6412 omx/gstomxvideodec.c
6414 2012-04-30 23:19:55 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
6416 * omx/gstomxvideodec.c:
6417 omxvideodec: Fix coding style in the drain-may-not-return hack code
6419 2012-04-25 19:03:48 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
6422 omx: Fix trivial debug print bug
6424 2012-04-25 19:01:32 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
6428 * omx/gstomxvideodec.c:
6429 omxvideodec: Add hack for Ducati components not returning from drain
6430 This happens on the Galaxy Nexus, and causes the pipeline to hang waiting
6431 endlessly for a drain. The hack replaces the wait with a wait + 500ms timeout.
6433 2012-04-25 16:35:40 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
6436 omx: Fix deadlock between ending a flush and the event handler
6437 gst_omx_port_set_flushing() calls OMX_FillThisBuffer at the end of a flush
6438 without releasing the port lock, and this can cause a deadlock with the
6439 EventHandler. This patches fixes this by dropping the lock for the duration of
6440 the fill buffer call.
6442 2012-04-24 15:41:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6444 * omx/gstbasevideodecoder.c:
6445 * omx/gstbasevideoencoder.c:
6446 omx: Update video encoder/decoder base classes from gst-plugins-bad
6448 2012-04-16 09:16:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6451 configure: Modernize autotools setup a bit
6452 Also we now only create tar.bz2 and tar.xz tarballs.
6454 2012-04-16 09:12:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6457 Automatic update of common submodule
6459 2012-04-16 08:34:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6461 * omx/gstomxaudioenc.c:
6462 omxaudioenc: Use gst_buffer_extract() to copy the input buffer data to the OpenMAX buffer
6464 2012-04-13 17:16:42 -0400 Alessandro Decina <alessandro.decina@collabora.com>
6467 Fix relative/absolute path glitch
6468 Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
6470 2012-04-12 15:57:32 -0400 Olivier Crête <olivier.crete@collabora.com>
6475 * omx/gstbasevideocodec.c:
6476 * omx/gstbasevideocodec.h:
6477 * omx/gstbasevideodecoder.c:
6478 * omx/gstbasevideodecoder.h:
6479 * omx/gstbasevideoencoder.c:
6480 * omx/gstbasevideoencoder.h:
6483 * omx/gstomxaacenc.c:
6484 * omx/gstomxaudioenc.c:
6485 * omx/gstomxaudioenc.h:
6486 * omx/gstomxh263dec.c:
6487 * omx/gstomxh263enc.c:
6488 * omx/gstomxh264dec.c:
6489 * omx/gstomxh264enc.c:
6490 * omx/gstomxmpeg4videodec.c:
6491 * omx/gstomxmpeg4videoenc.c:
6492 * omx/gstomxvideodec.c:
6493 * omx/gstomxvideodec.h:
6494 * omx/gstomxvideoenc.c:
6495 * omx/gstomxvideoenc.h:
6496 * omx/gstomxwmvdec.c:
6499 2012-01-18 16:53:16 -0300 Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
6503 Enable building with Android's buildsystem
6504 This change adds prelimary buildsystem hooks to
6505 build gst-omx with the Android buildsystem. Like
6506 the rest of GStreamer's Android hooks, the process
6507 relies on the availability of androgenizer. A tool
6508 developed by Collabora to automatically generate
6509 Android.mk files from within the auto* setup.
6510 Androgenizer is currently available at:
6511 http://cgit.collabora.com/git/user/derek/androgenizer.git/
6513 2011-12-13 10:17:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6515 * omx/gstbasevideocodec.c:
6516 basevideocodec: Don't use G_TYPE_REGISTER_BOXED() yet
6517 This would require GLib 2.26.
6519 2011-12-14 10:09:34 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
6521 * omx/gstomxaudioenc.c:
6522 omxaudioenc: Add hack for encoder components that don't allow empty EOS buffers
6524 2011-12-14 10:07:29 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
6526 * omx/gstomxvideoenc.c:
6527 omxvideoenc: Fix deadlock when using the EOS hack
6529 2011-12-12 14:26:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6531 * omx/gstomxvideoenc.c:
6532 omxvideoenc: Remove workaround for basevideocodec bug
6534 2011-12-12 14:26:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6536 * omx/gstomxvideodec.c:
6537 omxvideodec: Remove workaround for basevideocodec bug
6539 2011-12-05 17:57:01 +0000 Matej Knopp <matej.knopp@gmail.com>
6541 * omx/gstbasevideocodec.c:
6542 * omx/gstbasevideocodec.h:
6543 * omx/gstbasevideodecoder.c:
6544 * omx/gstbasevideoencoder.c:
6545 basevideo: Make GstVideoFrame a reference counted boxed object
6546 ...and also clear all existing frames when resetting the decoder or encoder.
6548 2011-12-09 12:17:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6552 * omx/gstomxvideoenc.c:
6553 omx: Add hack for encoder components that don't allow empty EOS buffers
6555 2011-12-09 10:21:47 +0100 Dake Gu <Dake.Gu@palm.com>
6557 * omx/gstomxaacenc.c:
6558 omxaacenc: Generate and set codec_data on the caps for raw AAC
6560 2011-10-31 11:36:06 +0100 Alessandro Decina <alessandro.decina@collabora.co.uk>
6562 * omx/gstbasevideoencoder.c:
6563 basevideoencoder: handle failures in start() and stop()
6565 2011-08-26 10:50:38 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
6567 * omx/gstbasevideoencoder.c:
6568 basevideoenc: do not try to calculate latency from an unknown framerate
6569 It'll divide by zero, and latency is unknown for an unknown framerate.
6570 Fixes an assert in the schroenc test.
6571 https://bugzilla.gnome.org/show_bug.cgi?id=657419
6573 2011-12-08 11:50:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6575 * omx/gstbasevideoencoder.c:
6576 basevideoencoder: Only make the header buffer metadata writable, not the buffer
6578 2011-12-08 10:18:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6580 * omx/gstbasevideoencoder.c:
6581 basevideoencoder: Fix handling of force-keyunit events
6583 2011-12-06 13:28:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6585 * omx/gstomxaudioenc.c:
6586 omxaudioenc: Don't forward EOS events immediately but let all other events be handled by the base class
6587 Previously this logic was inversed, which did not make any sense at all.
6589 2011-12-06 12:47:25 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6591 * omx/gstomxaudioenc.c:
6592 * omx/gstomxaudioenc.h:
6593 omxaudioenc: Use correct timestamp, duration and filled length for the EOS buffers
6595 2011-12-06 12:47:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6597 * omx/gstomxvideodec.c:
6598 * omx/gstomxvideodec.h:
6599 omxvideodec: Use correct timestamp, duration and filled length for the EOS buffers
6601 2011-12-06 12:46:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6603 * omx/gstomxvideoenc.c:
6604 * omx/gstomxvideoenc.h:
6605 omxvideoenc: Use correct timestamp, duration and filled length for the EOS buffers
6607 2011-12-05 13:18:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6610 omx: Improve debugging of buffer handling
6612 2011-12-05 08:12:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6614 * omx/gstomxvideoenc.c:
6615 omxvideoenc: Drop EOS events in ::finish()
6616 The event will be forwarded downstream from the srcpad
6617 loop function after the last buffer was generated by the
6618 component. Forwarding it after ::finish() will use the
6619 sinkpad streaming thread and does not guarantee that
6620 the encoder is completely drained.
6622 2011-12-01 16:20:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6624 * omx/gstomxvideodec.c:
6625 omxvideodec: Properly drop frames due to QoS
6626 Instead of finishing them they should be passed to drop(), which
6627 will then send QoS messages.
6629 2011-11-29 12:21:32 +0100 Jonas Larsson <jonas@hallerud.se>
6631 * omx/gstomxh264enc.c:
6632 omxh264enc: Add support for resending headers after a forced-keyframe
6634 2011-11-29 12:12:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6636 * omx/gstbasevideocodec.h:
6637 * omx/gstbasevideoencoder.c:
6638 basevideoencoder: Pass the all-headers field of the force-key-unit event to the subclass
6640 2011-11-29 12:12:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6642 * omx/gstbasevideoencoder.c:
6643 * omx/gstbasevideoencoder.h:
6644 basevideoencoder: Implement full support for the new force-key-unit event
6645 Including support for the running-time and count fields.
6647 2011-11-29 09:31:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6649 * omx/gstbasevideoencoder.c:
6650 basevideoencoder: Use new force-keyunit event API from gst-plugins-base
6652 2011-11-29 09:18:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6654 * omx/gstbasevideoencoder.c:
6655 * omx/gstbasevideoencoder.h:
6656 basevideoencoder: Adjusting padding is not required for -bad libraries
6658 2011-11-28 19:48:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6660 * omx/gstbasevideoencoder.h:
6661 basevideoencoder: Move some fields to the private part of the instance struct
6663 2011-11-28 19:36:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6665 * omx/gstbasevideoencoder.c:
6666 basevideoencoder: Make headers metadata writable before pushing downstream
6667 The timestamp, duration, etc of the headers has to be changed.
6669 2011-11-28 19:35:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6671 * omx/gstbasevideoencoder.c:
6672 * omx/gstbasevideoencoder.h:
6673 basevideoencoder: Push the downstream force-keyframe event after the next keyframe
6674 Even if the corresponding GstVideoFrame doesn't have the is_sync_point
6677 2011-11-28 19:29:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6679 * omx/gstbasevideoencoder.c:
6680 * omx/gstbasevideoencoder.h:
6681 basevideoencoder: Don't push an upstream force-keyunit event downstream
6683 2011-11-25 11:48:08 +0100 Jonas Larsson <jonas@hallerud.se>
6685 * omx/gstbasevideoencoder.c:
6686 * omx/gstbasevideoencoder.h:
6687 basevideoencoder: Add initial support for the all-headers field of the force-keyframe event
6690 2011-11-25 11:37:39 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
6692 * omx/gstbasevideodecoder.c:
6693 basevideodecoder: some more debug logging
6695 2011-11-23 20:03:32 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
6697 * omx/gstbasevideodecoder.c:
6698 * omx/gstbasevideodecoder.h:
6699 basevideodecoder: add API to drop a frame and post a QoS message on the bus
6700 https://bugzilla.gnome.org/show_bug.cgi?id=640017
6701 API: gst_base_video_decoder_drop_frame()
6703 2011-11-22 23:04:49 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
6705 * omx/gstbasevideodecoder.c:
6706 docs: fix comment in gst_base_video_decoder_get_max_decode_time() docs
6708 2011-11-22 19:57:07 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
6710 * omx/gstbasevideodecoder.c:
6711 basevideodecoder: fix weird event list handling
6712 Get rid of weird code that copies a list manually, taking
6713 ownership of the elements and then frees the old list. Instead,
6714 just take over the old list entirely. (If the intent was to
6715 reverse the list, one could use g_list_reverse() instead).
6716 Then, push events in the list out from last to first (since they
6717 were prepended as they came in) instead of just pushing out the
6718 last in the list and leaking the others.
6720 2011-11-25 11:31:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6724 * omx/gstbaseaudiodecoder.c:
6725 * omx/gstbaseaudiodecoder.h:
6726 * omx/gstbaseaudioencoder.c:
6727 * omx/gstbaseaudioencoder.h:
6728 * omx/gstbaseaudioutils.c:
6729 * omx/gstbaseaudioutils.h:
6730 * omx/gstomxaacenc.c:
6731 * omx/gstomxaudioenc.c:
6732 * omx/gstomxaudioenc.h:
6733 omxaudioenc: Use audio base classes from gst-plugins-base instead of having our own copies
6735 2011-11-18 10:00:31 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6737 * omx/gstomxaudioenc.c:
6738 omxaudioenc: First set ports to flushing before waiting for the srcpad streaming thread to finish
6740 2011-11-18 09:59:43 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6742 * omx/gstomxvideoenc.c:
6743 omxvideoenc: First set ports to flushing before waiting for the srcpad streaming thread to finish
6745 2011-11-18 09:58:58 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6747 * omx/gstomxvideodec.c:
6748 omxvideodec: First set ports to flushing before waiting for the srcpad streaming thread to finish
6750 2011-11-17 14:38:54 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6753 omx: Only disabling of a port is like flushing, enabling is like unflushing
6755 2011-11-17 13:33:35 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6758 omx: Enabling/disabling a port is also like flushing
6759 The component returns all buffers to us and shouldn't get any
6760 new buffers passed anymore.
6762 2011-11-17 11:26:33 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6764 * omx/gstomxaudioenc.c:
6765 omxaudioenc: Signal the drain GCond even if downstream returned an error
6767 2011-11-17 11:26:20 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6769 * omx/gstomxvideoenc.c:
6770 omxvideoenc: Signal the drain GCond even if downstream returned an error
6772 2011-11-17 11:25:52 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6774 * omx/gstomxvideodec.c:
6775 omxvideodec: Signal the drain GCond even if downstream returned an error
6777 2011-11-17 10:34:19 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6779 * omx/gstbasevideoencoder.c:
6780 basevideoencoder: Only call ::reset once in READY->PAUSED
6782 2011-11-17 10:19:35 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6784 * omx/gstomxaudioenc.c:
6785 omxaudioenc: Shutdown component in PAUSED->READY and deallocate buffers
6787 2011-11-17 10:19:30 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6789 * omx/gstomxvideoenc.c:
6790 omxvideoenc: Shutdown component in PAUSED->READY and deallocate buffers
6792 2011-11-17 10:19:10 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6794 * omx/gstomxvideodec.c:
6795 omxvideodec: Shutdown component in PAUSED->READY and deallocate buffers
6797 2011-11-16 12:02:08 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6799 * omx/gstomxvideoenc.c:
6800 omxvideoenc: Set force_keyframe to FALSE after handling it
6801 There's no reason why the base class should forward the event
6802 further downstream if we already handled it and will insert a
6805 2011-11-16 11:21:25 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6807 * omx/gstomxvideodec.c:
6808 omxvideodec: Always push buffers downstream, even if we didn't find a corresponding GstVideoFrame
6810 2011-11-15 09:47:55 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6813 omx: Fix debug level for flushing in wrong state from ERROR to DEBUG
6814 It's not really an error and doesn't matter at all if flush is called
6815 when the component is not running.
6817 2011-11-15 08:40:07 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6819 * omx/gstomxh264enc.c:
6820 omxh264enc: Detect bytestream stream format and don't put SPS/PPS into the caps for this format
6822 2011-11-15 08:28:32 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6824 * omx/gstomxvideoenc.c:
6825 * omx/gstomxvideoenc.h:
6826 omxvideoenc: Add vfunc for handling the output frames
6827 This can be used by subclasses to override the buffer flags
6828 or to handle some frames differently than the default behaviour.
6830 2011-11-14 12:50:26 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6832 * omx/gstomxvideodec.c:
6833 omxvideodec: Don't release buffers twice if dropping because of QoS
6835 2011-11-14 09:13:06 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6838 omx: Add XXX to the nOffset reset hack comment for QCOM
6840 2011-11-10 15:18:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6842 * omx/gstomxaudioenc.c:
6843 omxaudioenc: Make srcpad caps setting threadsafe
6845 2011-11-10 15:17:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6847 * omx/gstomxvideoenc.c:
6848 omxvideoenc: Make srcpad caps setting threadsafe
6850 2011-11-10 15:17:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6852 * omx/gstomxvideodec.c:
6853 omxvideodec: Make srcpad caps setting threadsafe
6855 2011-11-10 15:10:14 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6857 * omx/gstomxaudioenc.c:
6858 omxaudioenc: Make the srcpad task and the sinkpad streaming thread handling threadsafe
6860 2011-11-10 15:03:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6862 * omx/gstomxaudioenc.c:
6863 omxaudioenc: Always flush the ports and make sure no processing is happening in ::flush
6864 This fixes a race condition that happened when seeking
6865 very often in a short period of time.
6867 2011-11-10 15:02:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6869 * omx/gstomxvideoenc.c:
6870 omxvideoenc: Always flush the ports and make sure no processing is happening in ::reset
6871 This fixes a race condition that happened when seeking
6872 very often in a short period of time.
6874 2011-11-10 15:01:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6876 * omx/gstomxvideoenc.c:
6877 omxvideoenc: Fix minor race condition when draining after upstream signalled EOS
6879 2011-11-10 14:56:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6881 * omx/gstomxaudioenc.c:
6882 omxaudioenc: Improve EOS handling
6883 If downstream return UNEXPECTED we should still signal the
6884 drain cond because nothing will trigger this again later.
6886 2011-11-10 14:56:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6888 * omx/gstomxvideoenc.c:
6889 omxvideoenc: Improve EOS handling
6890 If downstream return UNEXPECTED we should still signal the
6891 drain cond because nothing will trigger this again later.
6893 2011-11-10 14:54:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6895 * omx/gstomxaudioenc.c:
6896 omxaudioenc: Improve debugging of EOS and draining
6898 2011-11-10 14:54:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6900 * omx/gstomxvideoenc.c:
6901 omxvideoenc: Improve debugging of EOS and draining
6903 2011-11-10 14:51:06 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6905 * omx/gstomxvideodec.c:
6906 omxvideodec: Log if acquiring buffer for EOS failed
6908 2011-11-10 14:42:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6910 * omx/gstomxvideodec.c:
6911 omxvideodec: The component is not started in READY
6913 2011-11-10 14:39:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6915 * omx/gstomxaudioenc.c:
6916 omxaudioenc: No need to signal the drain cond when going from READY to PAUSED
6917 Also the component is not started in READY
6919 2011-11-10 14:40:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6921 * omx/gstomxvideoenc.c:
6922 omxvideoenc: No need to signal the drain cond when going from READY to PAUSED
6923 Also the component is not started in READY.
6925 2011-11-09 15:46:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6927 * omx/gstomxvideodec.c:
6928 omxvideodec: Always flush the ports and make sure no processing is happening in ::reset
6929 This fixes a race condition that happened when seeking
6930 very often in a short period of time.
6932 2011-11-09 15:45:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6934 * omx/gstomxvideodec.c:
6935 omxvideodec: Fix minor race condition when draining after upstream signalled EOS
6937 2011-11-09 15:44:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6939 * omx/gstomxvideodec.c:
6940 omxvideodec: Improve EOS handling
6941 If downstream return UNEXPECTED we should still signal the
6942 drain cond because nothing will trigger this again later.
6944 2011-11-09 15:43:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6946 * omx/gstomxvideodec.c:
6947 omxvideodec: Improve debugging of EOS and draining
6949 2011-11-09 15:42:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6951 * omx/gstomxvideodec.c:
6952 omxvideodec: The component is not started already when going from READY to PAUSED
6954 2011-11-09 15:42:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6956 * omx/gstomxvideodec.c:
6957 omxvideodec: No need to signal the drain cond when going from READY to PAUSED
6959 2011-11-09 15:41:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6962 omx: Always reset buffer flags for output ports, even in flushing/error state
6964 2011-11-09 09:00:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6966 * omx/gstomxvideodec.c:
6967 omxvideodec: Improve debugging in case of QoS-related frame drops
6969 2011-11-08 12:46:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6971 * omx/gstomxvideoenc.c:
6972 omxvideoenc: Release the video codec stream lock before acquiring an input buffer
6973 Otherwise the srcpad task might block on this lock and
6974 no buffers ever become available again.
6976 2011-11-08 12:45:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6978 * omx/gstomxaudioenc.c:
6979 omxaudioenc: Release the audio encoder stream lock before acquiring an input buffer
6980 Otherwise the srcpad task might block on this lock and
6981 no buffers ever become available again.
6983 2011-11-08 12:42:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6985 * omx/gstomxvideodec.c:
6986 omxvideodec: Release the video codec stream lock before acquiring an input buffer
6987 Otherwise the srcpad task might block on this lock and
6988 no buffers ever become available again.
6990 2011-11-08 11:07:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6992 * omx/gstomxaudioenc.c:
6993 * omx/gstomxaudioenc.h:
6994 omxaudioenc: Don't try to drain the component after EOS
6995 And don't send EOS twice in any case. This most likely
6996 will cause the component to not output it again and
6997 is not necessary anyway.
6999 2011-11-08 11:03:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7001 * omx/gstomxvideoenc.c:
7002 * omx/gstomxvideoenc.h:
7003 omxvideoenc: Don't try to drain the component after EOS
7004 And don't send EOS twice in any case. This most likely
7005 will cause the component to not output it again and
7006 is not necessary anyway.
7008 2011-11-08 10:46:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7010 * omx/gstomxvideodec.c:
7011 * omx/gstomxvideodec.h:
7012 omxvideodec: Don't try to drain the component after EOS
7013 And don't send EOS twice in any case. This most likely
7014 will cause the component to not output it again and
7015 is not necessary anyway.
7017 2011-11-08 09:09:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7019 * omx/gstomxvideodec.c:
7020 omxvideodec: Implement dropping of too late frames via QoS
7022 2011-11-08 08:31:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7024 * omx/gstomxaudioenc.c:
7025 omxaudioenc: Minor code refactoring
7027 2011-11-08 08:31:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7029 * omx/gstomxvideoenc.c:
7030 omxvideoenc: Minor code refactoring
7032 2011-11-08 08:31:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7034 * omx/gstomxvideodec.c:
7035 omxvideodec: Make sure to always release buffers back to OMX
7037 2011-11-08 08:24:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7040 omx: Also properly release buffers when in error state
7042 2011-11-08 08:22:08 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
7045 omx: Properly release buffers during flushing
7046 We can't pass them back to OMX_FillThisBuffer() or OMX_EmptyThisBuffer()
7047 but instead of doing nothing we have to put them back into our queue.
7048 Otherwise the buffer is leaked and we will have too few buffers in
7051 2011-11-07 14:00:47 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7053 * omx/gstomxvideodec.c:
7054 omxvideodec: Free pending frames after draining component
7056 2011-11-07 14:00:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7058 * omx/gstomxvideoenc.c:
7059 omxvideoenc: Free pending frames after draining the component
7061 2011-11-07 11:07:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7063 * omx/gstomxvideoenc.c:
7064 omxvideoenc: Make handling and usage of the base video codec frames threadsafe
7066 2011-11-07 11:05:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7068 * omx/gstomxvideoenc.c:
7069 omxvideoenc: Fix deadlock between srcpad stream lock and ::reset()
7071 2011-11-07 11:04:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7073 * omx/gstomxvideodec.c:
7074 omxvideoenc: Make handling and usage of the base video codec frames threadsafe
7076 2011-11-07 10:58:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7078 * omx/gstomxvideoenc.c:
7079 omxvideoenc: Free all pending frames after draining the component
7081 2011-11-07 10:58:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7083 * omx/gstomxvideodec.c:
7084 omxvideodec: Always free all pending frames when caps changes require reconfiguration
7086 2011-11-04 09:43:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7088 * omx/gstomxaudioenc.c:
7089 omxaudioenc: Only drain the component a single time and only after processing started
7091 2011-11-04 09:43:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7093 * omx/gstomxvideodec.c:
7094 omxvideodec: Only drain the component a single time and only after processing started
7096 2011-11-04 09:43:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7098 * omx/gstomxvideoenc.c:
7099 omxvideoenc: Only drain the component a single time and only after processing started
7101 2011-11-04 09:04:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7104 omx: Reset buffer flags to 0 after it was consumed by the component or the element
7105 Some implementations don't reset the flags and the standard is not
7106 really clear on the expected behaviour. Let's just always reset the
7107 flags as they're not valid at this point anymore.
7109 2011-11-02 13:50:14 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7111 * omx/gstomxvideoenc.c:
7112 * omx/gstomxvideoenc.h:
7113 omxvideoenc: Better handling of encoder parameters
7114 Only set them if necessary and allow to use the component
7117 2011-11-02 13:22:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7119 * omx/gstomxvideoenc.c:
7120 omxvideoenc: Make unsupported bitrate/quantizer settings less fatal
7122 2011-11-02 10:39:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7124 * omx/gstomxvideodec.c:
7125 omxvideodec: If no stride was set for the OMX output port assume GStreamer stride
7126 This is not really correct but there's nothing else we could do.
7128 2011-11-02 10:39:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7130 * omx/gstomxvideoenc.c:
7131 omxvideoenc: If no stride was set for the OMX input port assume GStreamer stride
7132 This is not really correct but there's nothing else we could do.
7134 2011-11-01 16:46:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7136 * omx/gstomxaudioenc.c:
7137 * omx/gstomxaudioenc.h:
7138 omxaudioenc: Implement draining of the component and use it
7139 This makes sure that all buffers are encoded and pushed downstream
7140 before flushing the ports and losing some buffers.
7142 2011-11-01 16:41:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7144 * omx/gstomxvideoenc.c:
7145 * omx/gstomxvideoenc.h:
7146 omxvideoenc: Implement draining of the component and use it
7147 This makes sure that all buffers are encoded and pushed downstream
7148 before flushing the ports and losing some buffers.
7150 2011-11-01 16:08:59 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7152 * omx/gstomxvideodec.c:
7153 * omx/gstomxvideodec.h:
7154 omxvideodec: Implement draining of the component and use it
7155 This makes sure that all buffers are decoded and pushed downstream
7156 before flushing the ports and losing some buffers.
7158 2011-10-20 14:32:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7160 * omx/gstomxvideodec.c:
7161 omxvideodec: Fix deadlock if ::reset is called before finding the corresponding frame of a decoded buffer
7163 2011-11-01 15:10:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7165 * omx/gstomxaudioenc.c:
7166 * omx/gstomxaudioenc.h:
7167 * omx/gstomxvideoenc.h:
7168 omxaudioenc: Forward downstream flow returns to upstream
7170 2011-11-01 15:10:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7172 * omx/gstomxvideoenc.c:
7173 omxvideoenc: Forward downstream flow returns to upstream
7175 2011-11-01 13:58:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7177 * omx/gstomxvideodec.c:
7178 * omx/gstomxvideodec.h:
7179 omxvideodec: Forward downstream flow returns to upstream
7181 2011-10-25 14:23:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7184 omx: Add minimal README file
7186 2011-10-20 15:21:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7188 * omx/gstomxvideodec.c:
7189 omxvideodec: Fix deadlock caused by calling reset while the loop function does something with the base video codec stream lock
7191 2011-10-20 15:20:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7193 * omx/gstomxvideoenc.c:
7194 omxvideoenc: Fix deadlock caused by calling reset while the loop function does something with the base video codec stream lock
7196 2011-10-20 14:30:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7198 * omx/gstomxvideodec.c:
7199 omxvideodec: Move locking at the correct place
7201 2011-10-14 10:27:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7205 omx: Remove QCOM hack to reset nOffset in EmptyBufferDone
7206 This is now done in a generic way that does not require any
7207 hacks because it will work without any side effects on any
7210 2011-10-14 10:26:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7213 omx: Reset nOffset to 0 in EmptyBufferDone if nFilledLen is 0
7214 Some OMX implementations don't reset nOffset when the complete
7215 buffer is emptied but instead only reset nFilledLen. We reset
7216 nOffset to 0 if nFilledLen == 0, which is safe to do because
7217 the offset *must* be 0 if the buffer is not filled at all.
7218 Seen in QCOM's OMX implementation.
7220 2011-10-04 10:56:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7222 * omx/gstomxvideoenc.c:
7223 omxvideoenc: If one parameter/configuration is not supported don't skip the next
7225 2011-10-03 09:12:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7227 * omx/gstomxh264dec.c:
7228 omxh264dec: Require stream-format=byte-stream
7229 Other stream-formats are unlikely to be supported by OMX components.
7231 2011-09-29 10:37:32 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7233 * omx/gstomxvideodec.c:
7234 * omx/gstomxvideodec.h:
7235 omxvideodec: Add API for subclasses to prepare/convert frames
7237 2011-09-27 15:08:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7239 * omx/gstomxaudioenc.c:
7240 omxaudioenc: Switch to Idle first and wait before switching to Loaded and deallocating buffers
7241 Allocating buffers before the Idle state is reached can lead to crashes.
7243 2011-09-27 15:08:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7245 * omx/gstomxvideoenc.c:
7246 omxvideoenc: Switch to Idle first and wait before switching to Loaded and deallocating buffers
7247 Allocating buffers before the Idle state is reached can lead to crashes.
7249 2011-09-27 15:05:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7251 * omx/gstomxvideodec.c:
7252 omxvideodec: Switch to Idle first and wait before switching to Loaded and deallocating buffers
7253 Allocating buffers before the Idle state is reached can lead to crashes.
7255 2011-09-27 14:15:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7259 * omx/gstomxvideodec.c:
7260 omxvideodec: New hack for QCOM to recreate the component instead of reconfiguring it on caps changes
7262 2011-09-27 12:13:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7265 omx: Change a g_assert() into a GST_WARNING_OBJECT()
7267 2011-09-26 13:04:18 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7271 omx: Add hack for Qualcomm's OMX implementation to manually reset nOffset in EmptyBufferDone
7273 2011-09-23 17:02:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7275 * omx/gstomxaudioenc.c:
7276 omxaudioenc: Add a check to prevent a zero-sized OMX buffer
7278 2011-09-23 17:02:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7280 * omx/gstomxvideoenc.c:
7281 omxvideoenc: Add some more checks for correct OMX buffer sizes
7283 2011-09-23 15:53:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7285 * omx/gstomxvideodec.c:
7286 omxvideodec: Add some more checks for OMX buffer sizes
7288 2011-09-14 10:15:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7292 * omx/gstomxaudioenc.c:
7293 * omx/gstomxvideodec.c:
7294 * omx/gstomxvideoenc.c:
7295 omx: Wait until the Executing state is reached before calling OMX_FillThisBuffer()
7296 This correctly works around the QCOM race condition that happens when calling
7297 FTB after setting the new state and before reaching it.
7299 2011-09-02 14:43:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7301 * omx/gstomxvideodec.c:
7302 omxvideodec: Negotiate video format with downstream and what the component claims to support
7304 2011-08-25 19:56:58 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
7306 * omx/gstbasevideoencoder.c:
7307 basevideoencoder: fix element leak
7308 and this concludes an hour of yelling at the bloody test failing,
7309 only to track down the problem not being in the test.
7310 https://bugzilla.gnome.org/show_bug.cgi?id=657368
7312 2011-08-19 09:20:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7314 * omx/gstomxvideoenc.c:
7315 omxvideoenc: Release basevideocodec stream lock while waiting for a buffer
7316 This prevents deadlocks if no empty input buffers are available and
7317 releasing input buffers requires the loop function to handle some
7318 output buffers first.
7320 2011-08-19 09:19:22 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7322 * omx/gstomxvideodec.c:
7323 omxvideodec: Release basevideocodec stream lock while waiting for a buffer
7324 This prevents deadlocks if no empty input buffers are available and
7325 releasing input buffers requires the loop function to handle some
7326 output buffers first.
7328 2011-08-18 10:24:26 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7330 * omx/gstbasevideodecoder.c:
7331 basevideodecoder: Fix deadlock
7333 2011-08-18 10:03:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7335 * omx/gstbaseaudiodecoder.c:
7336 baseaudiodecoder: Don't take the stream lock in the seek handler
7337 This will lead to deadlocks
7339 2011-08-18 10:02:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7341 * omx/gstbasevideocodec.c:
7342 * omx/gstbasevideocodec.h:
7343 * omx/gstbasevideodecoder.c:
7344 * omx/gstbasevideoencoder.c:
7345 basevideo: Fix locking, especially if both pads have different streaming threads
7347 2011-08-18 09:42:02 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7349 * omx/gstbasevideodecoder.c:
7350 * omx/gstbasevideoencoder.c:
7351 basevideo: Don't call g_type_class_peek_parent() in class_init
7352 This is already done by the GObject boilerplate macro
7354 2011-08-18 09:40:46 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7356 * omx/gstbaseaudiodecoder.c:
7357 baseaudiodecoder: Don't call g_type_class_peek_parent() in class_init
7358 This is already done by the boilerplate macro
7360 2011-08-18 09:34:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7362 * omx/gstbaseaudiodecoder.c:
7363 * omx/gstbaseaudiodecoder.h:
7364 baseaudiodecoder: Fix thread safety issues if both pads have different streaming threads
7366 2011-08-18 09:17:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7368 * omx/gstbaseaudiodecoder.c:
7369 baseaudiodecoder: Delay sending of serialized events to finish_frame()
7371 2011-08-17 14:33:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7373 * omx/gstomxaudioenc.c:
7374 omxaudioenc: Always require at least OMX_MIN_PCMPAYLOAD_MSEC per input buffer
7376 2011-08-17 14:28:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7378 * omx/gstbaseaudioencoder.c:
7379 * omx/gstbaseaudioencoder.h:
7380 baseaudioencoder: Add support for requesting a minimum and maximum number of samples per frame
7381 This extends the special case of a fixed number of samples per frame
7382 that was supported before already.
7384 2011-08-17 14:17:18 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7386 * omx/gstomxaudioenc.c:
7387 omxaudioenc: Handle inbuf==NULL properly in ::handle_frame()
7389 2011-08-17 13:04:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7391 * omx/gstomxaacenc.c:
7392 omxaacenc: Implement ::get_num_samples() vfunc
7394 2011-08-17 13:03:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7396 * omx/gstomxaudioenc.c:
7397 * omx/gstomxaudioenc.h:
7398 omxaudioenc: Add vfunc to get the number of samples inside a buffer
7400 2011-08-17 11:34:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7402 * omx/gstomxaudioenc.c:
7403 omxaudioenc: Release baseaudioencoder stream lock while waiting for a buffer in ::handle_frame()
7404 This prevents deadlocks if no empty input buffers are available and
7405 releasing input buffers requires the loop function to handle some
7406 output buffers first.
7408 2011-08-17 11:34:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7410 * omx/gstbaseaudioencoder.c:
7411 * omx/gstbaseaudioencoder.h:
7412 baseaudioencoder: Fix thread safety issues if both pads have different streaming threads
7414 2011-08-17 09:58:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7416 * omx/gstbaseaudioencoder.c:
7417 baseaudioencoder: Taking the OBJECT lock in reset() is not needed
7419 2011-08-16 11:03:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7421 * omx/gstomxaudioenc.c:
7422 omxaudioenc: Remove hack that only applies to the video encoder class
7424 2011-08-16 10:49:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7429 * omx/gstomxaacenc.c:
7430 * omx/gstomxaacenc.h:
7431 omxaacenc: Add initial version of OpenMAX AAC encoder element
7433 2011-08-15 15:10:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7436 * omx/gstomxaudioenc.c:
7437 * omx/gstomxaudioenc.h:
7438 omxaudioenc: Add initial version of audio encoder base class
7440 2011-08-15 14:14:11 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7442 * omx/gstbaseaudioencoder.c:
7443 baseaudioencoder: Delay sending of serialized events to finish_frame()
7445 2011-08-15 13:06:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7448 * omx/gstbaseaudiodecoder.c:
7449 * omx/gstbaseaudiodecoder.h:
7450 * omx/gstbaseaudioencoder.c:
7451 * omx/gstbaseaudioencoder.h:
7452 audio: Integrate audio base classes into the build system and fixup
7454 2011-08-15 12:56:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7456 * omx/gstbaseaudiodecoder.c:
7457 * omx/gstbaseaudiodecoder.h:
7458 * omx/gstbaseaudioencoder.c:
7459 * omx/gstbaseaudioencoder.h:
7460 * omx/gstbaseaudioutils.c:
7461 * omx/gstbaseaudioutils.h:
7462 audio: Add audio decoder/encoder base classes
7463 Taken from http://cgit.collabora.com/git/user/manauw/gst-plugins-bad.git/log/?h=baseaudio
7465 2011-08-12 12:25:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7467 * omx/gstbasevideoencoder.c:
7468 basevideoencoder: Proxy the width/height/framerate/PAR constraints of downstream caps to upstream
7469 This allows to specify constraints on the compressed downstream caps
7470 by muxers or capsfilters, which will then be forwarded to upstream
7471 and allows video converters to fulfill the constraints.
7472 Code based on Mark Nauwelaerts audio encoder base class.
7474 2011-08-12 12:13:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7476 * omx/gstbasevideoencoder.h:
7477 basevideoencoder: Remove old ::getcaps() comment
7479 2011-08-12 12:06:23 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7481 * omx/gstbasevideoencoder.c:
7482 * omx/gstbasevideoencoder.h:
7483 basevideoencoder: Remove ::get_caps() vfunc
7484 Subclasses can set the caps more efficiently and this only
7485 caused additional indirections.
7487 2011-08-10 10:24:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7489 * omx/gstomxh263enc.c:
7490 * omx/gstomxh264enc.c:
7491 * omx/gstomxmpeg4videoenc.c:
7492 * omx/gstomxvideoenc.c:
7493 omxvideoenc: Use "video/x-raw-yuv" as sink template caps instead of strict I420 caps
7495 2011-08-10 10:23:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7497 * omx/gstomxmpeg4videodec.c:
7498 omxmpeg4videodec: Don't require width/height on sink pad caps
7500 2011-08-10 10:11:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7502 * omx/gstomxh263dec.c:
7503 * omx/gstomxh264dec.c:
7504 * omx/gstomxmpeg4videodec.c:
7505 * omx/gstomxvideodec.c:
7506 * omx/gstomxwmvdec.c:
7507 omxvideodec: Use "video/x-raw-yuv" as src template caps instead of strict I420 caps
7509 2011-08-10 09:56:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7511 * omx/gstomxvideoenc.c:
7512 omxvideoenc: Set the state back to StateLoaded even if an error happened
7514 2011-08-10 09:49:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7517 omx: Don't hold any locks while calling OMX_SendCommand()
7518 It might call into one of the callbacks and lead to deadlocks, e.g.
7519 with the Qualcomm OMX implementation.
7521 2011-08-10 09:32:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7526 2011-08-10 09:23:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7529 omx: Reset pending reconfigure output ports when changing the state from Executing to any lower state
7531 2011-08-10 09:08:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7534 omx: Fix crash when setting last error after the ports were freed
7536 2011-08-10 09:03:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7539 omx: Free component structure
7541 2011-08-10 09:02:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7544 omx: Make component destruction safer
7546 2011-08-10 08:53:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7549 omx: Set pAppPrivate of buffers to NULL when deallocating buffers
7550 This prevents usage of freed memory later if the OMX component
7551 has weird behaviour.
7553 2011-08-10 08:52:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7555 * omx/gstomxvideodec.c:
7556 omxvideodec: Set the state back to StateLoaded even if an error happened
7558 2011-08-10 08:51:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7561 omx: Add some assertions to check if the buffer pAppPrivate is still correct
7563 2011-08-08 13:04:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7566 omx: Add parenthesis at correct places in the struct init macro
7568 2011-08-08 12:12:58 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7571 omx: Only prevent setting a higher state if the component is in an error state
7573 2011-08-03 16:02:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7575 * omx/gstbasevideodecoder.c:
7576 basevideodecoder: Use the cached video frame size instead of recalculating it
7578 2011-08-03 15:35:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7581 omx: Improve debugging in param/config getter/setter wrappers
7583 2011-08-03 13:10:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7585 * omx/gstomxvideodec.c:
7586 omxvideodec: Don't abort if the color format is not supported but give a useful error message
7588 2011-08-02 15:14:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7590 * omx/gstomxh263enc.c:
7591 * omx/gstomxh264enc.c:
7592 * omx/gstomxmpeg4videoenc.c:
7593 * omx/gstomxvideoenc.c:
7594 omxvideoenc: Don't fail if setting the bitrate or profile is not supported by the component
7595 Also always set/get the profile, even if there are no peer caps.
7597 2011-08-02 15:14:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7599 * omx/gstbasevideoencoder.c:
7600 basevideoencoder: Make access to the list of frames threadsafe
7602 2011-08-01 13:22:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7606 omx: Add a hacks flag for the Qualcomm 7x30 OMX_FillThisBuffer() race and make it optional
7608 2011-07-29 13:56:59 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7611 omx: Add workaround for QCOM 7x30 race condition
7613 2011-07-29 12:06:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7617 * omx/gstomxh263enc.c:
7618 * omx/gstomxh263enc.h:
7619 omxh263enc: Add H.263 encoder element
7621 2011-07-29 11:26:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7623 * omx/gstomxmpeg4videoenc.c:
7624 omxmpeg4videoenc: Add support for setting profile/level via caps
7626 2011-07-28 14:14:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7628 * omx/gstomxh264enc.c:
7629 omxh264enc: Add support for setting profile/level via caps
7631 2011-07-28 12:58:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7633 * omx/gstomxvideoenc.c:
7634 omxvideoenc: Add support for forcing the next frame to be a keyframe
7636 2011-07-28 11:54:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7638 * omx/gstomxvideoenc.c:
7639 * omx/gstomxvideoenc.h:
7640 omxvideoenc: Add support for setting bitrate/quantization related parameters
7642 2011-07-28 10:23:08 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7646 omx: Add wrapper functions for OMX_[GS]et{Config,Parameter}
7648 2011-07-28 09:54:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7652 omx: Add macro to initialize OpenMAX structures
7654 2011-07-28 09:08:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7656 * omx/gstomxvideoenc.c:
7657 omxvideoenc: Don't output 0-byte buffers
7659 2011-07-25 15:05:08 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7662 omx: Ensure that the pAppPrivate pointer in OMX buffers is set correctly
7664 2011-07-25 13:19:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7666 * omx/gstomxvideodec.c:
7667 * omx/gstomxvideoenc.c:
7668 omxvideo{enc,dec}: Only set/unset flushing state on ports if they were created already
7670 2011-07-25 12:01:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7674 * omx/gstomxwmvdec.c:
7675 * omx/gstomxwmvdec.h:
7676 omxwmvdec: Add WMV video decoder element
7678 2011-07-25 11:44:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7682 * omx/gstomxh263dec.c:
7683 * omx/gstomxh263dec.h:
7684 omxh263dec: Add H.263 decoder element
7686 2011-07-25 11:32:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7690 * omx/gstomxh264enc.c:
7691 * omx/gstomxh264enc.h:
7692 omxh264enc: Add H.264 encoder element
7694 2011-07-25 10:48:58 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7696 * omx/gstomxvideodec.c:
7697 omxvideodec: Try harder to deallocate the buffers after errors happened
7699 2011-07-25 10:47:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7701 * omx/gstomxvideoenc.c:
7702 omxvideoenc: Try harder to deallocate the buffers after errors happened
7704 2011-07-25 10:46:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7707 omx: Deallocate port buffers before freeing the component
7708 They should be deallocated by the caller before reaching the
7709 Loaded state but to be on the safe side we will make sure
7710 they're really deallocated here.
7712 2011-07-21 11:15:14 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7714 * omx/gstomxvideoenc.c:
7715 omxvideoenc: Add initial support for stride conversion
7717 2011-07-21 10:38:26 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7719 * omx/gstomxh264dec.c:
7720 * omx/gstomxmpeg4videodec.c:
7721 * omx/gstomxmpeg4videoenc.c:
7722 omx: Set default roles for the components if none were set from the config file
7724 2011-07-21 10:36:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7727 omx: Failure to set the component role is fatal
7729 2011-07-21 07:53:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7731 * omx/gstomxvideoenc.c:
7732 omxvideoenc: Add support for setting codec_data on the srcpad caps
7734 2011-07-21 07:44:34 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7736 * omx/gstomxvideoenc.c:
7737 omxvideoenc: Free/drop GstVideoFrames that resulted in an empty buffer
7739 2011-07-21 07:44:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7741 * omx/gstbasevideoencoder.c:
7742 basevideoencoder: Allow finishing of frames with no src_buffer to drop/free the GstVideoFrame
7744 2011-07-21 07:31:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7746 * omx/gstomxvideoenc.c:
7747 omxvideoenc: Remove obsolete TODO comment
7749 2011-07-20 11:09:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7753 omx: Use libgstopenmax.so for the plugin filename and openmax for the plugin name
7754 Resolves conflicts with gst-openmax.
7756 2011-07-20 08:34:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7762 * omx/gstomxmpeg4videoenc.c:
7763 * omx/gstomxmpeg4videoenc.h:
7764 * omx/gstomxvideoenc.c:
7765 * omx/gstomxvideoenc.h:
7766 omxvideoenc: Add video encoder base class and MPEG4 video encoder
7767 Unfortunately requires lots of hacks again to work properly with
7770 2011-07-20 10:39:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7772 * omx/gstbasevideoencoder.c:
7773 basevideoencoder: Only get caps from the subclass if they were not set yet by the subclass
7775 2011-07-20 09:25:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7777 * omx/gstbasevideoencoder.c:
7778 * omx/gstbasevideoencoder.h:
7779 basevideoencoder: Delay sending of serialized sink events until finish_frame()
7781 2011-07-20 09:09:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7783 * omx/gstbasevideoencoder.c:
7784 * omx/gstbasevideoencoder.h:
7785 basevideoencoder: Add ::reset vfunc and handle ::reset/::finish the same way as in the decoder
7787 2011-07-19 12:50:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7789 * omx/gstbasevideoencoder.c:
7790 basevideoencoder: Use a temporary GstVideoState until the subclass accepted the caps
7791 Also store the caps in the GstVideoState and assume a PAR of 1/1 instead
7792 of 0/1 if no PAR is specified in the caps.
7794 2011-07-19 12:29:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7797 * omx/gstomxvideodec.c:
7798 omx: Improve debug output a bit
7800 2011-07-19 10:33:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7804 * omx/gstomxvideodec.c:
7805 omx: Rework port reconfiguration again and only use the Bellagio specific hacks with Bellagio
7806 We only reconfigure ports that need to be reconfigured now instead of
7809 2011-07-19 10:33:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7814 * omx/gstomxvideodec.c:
7815 * omx/gstomxvideodec.h:
7816 omx: Add infrastructure to enable special hacks for broken OpenMAX implementations
7818 2011-07-18 13:10:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7821 omx: When acquiring a buffer from an input port always wait until all output ports are reconfigured
7823 2011-07-18 08:41:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7825 * omx/gstomxvideodec.c:
7826 omxvideodec: Add support for converting between omx and gst rowstrides
7828 2011-07-14 10:34:09 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7831 omx: Provide all buffers to output ports after enabling them
7833 2011-07-14 08:29:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7835 * omx/gstomxvideodec.c:
7836 omxvideodec: Add support for NV12 / OMX_COLOR_FormatYUV420SemiPlanar
7838 2011-07-14 07:58:41 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7840 * omx/gstomxvideodec.c:
7841 * omx/gstomxvideodec.h:
7842 omxvideodec: Only flush the component ports after we passed input to them
7844 2011-07-13 21:19:34 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7846 * omx/gstomxvideodec.c:
7847 omxvideodec: Only change states downwards if an upper state was reached
7849 2011-07-13 20:37:02 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7853 * omx/gstomxvideodec.c:
7854 * omx/gstomxvideodec.h:
7855 omx: Add support for setting the component-role
7857 2011-07-13 20:22:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7861 * omx/gstomxvideodec.c:
7862 omx: Improve error reporting by formatting the error codes better and also providing their string representation
7864 2011-07-13 14:36:14 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7867 build: Dist autogen.sh
7869 2011-07-13 14:35:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7873 build: Only require GStreamer >= 0.10.29 and GLib >= 2.16
7875 2011-07-13 14:04:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7878 build: Dist gstomx.conf
7880 2011-07-13 14:04:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7883 build: Clean _stdint.h on "make distclean"
7885 2011-07-13 14:02:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7887 * omx/gstomxvideodec.c:
7888 omxvideodec: Fix typo
7890 2011-07-13 13:59:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7895 2011-07-13 12:46:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7897 * omx/gstomxvideodec.c:
7898 omxvideodec: Set SYNCFRAME flag on the OMX buffers for non-delta units
7900 2011-07-13 12:37:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7902 * omx/gstomxvideodec.c:
7903 omxvideodec: Free all pending frames when resetting the decoder
7904 Workaround for https://bugzilla.gnome.org/show_bug.cgi?id=654529
7906 2011-07-13 09:59:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7908 * omx/gstomxvideodec.c:
7909 omxvideodec: Handle output buffers without a corresponding GstVideoFrame more gracefully
7910 This can happen on EOS in some cases and when the input is not
7913 2011-07-13 09:31:22 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7915 * omx/gstomxvideodec.c:
7916 omxvideodec: Fix deadlock when finishing old frames that are left over by the decoder
7918 2011-07-12 11:37:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7920 * omx/gstomxh264dec.c:
7921 omxh264dec: It's called H.264, not H264
7923 2011-07-12 11:36:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7925 * omx/gstomxh264dec.c:
7926 * omx/gstomxmpeg4videodec.c:
7927 * omx/gstomxvideodec.c:
7928 * omx/gstomxvideodec.h:
7929 omxvideodec: Make sink/src pad template caps configurable
7931 2011-07-12 11:13:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7934 omx: Allow to set a preferred configuration directory with the GST_OMX_CONFIG_DIR environment variable
7936 2011-07-12 10:55:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7938 * omx/gstomxh264dec.c:
7939 * omx/gstomxmpeg4videodec.c:
7940 * omx/gstomxvideodec.c:
7941 omxvideodec: Make core/component-name and in/outport index configurable
7943 2011-07-12 10:05:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7948 omx: Add initial version of configuration system
7949 This now only registers elements that are specified in the
7951 The configuration file is a keyfile in the first XDG configuration
7952 directory with the name gstomx.conf.
7954 2011-07-12 08:53:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7958 * omx/gstomxh264dec.c:
7959 * omx/gstomxh264dec.h:
7960 * omx/gstomxh264videodec.h:
7961 omxh264dec: Rename from omxh264videodec to omxh264dec
7963 2011-07-12 08:40:48 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7965 * omx/gstomxh264videodec.c:
7966 omxh264videodec: Require alignment=au and stream-format={avc,bytestream}
7968 2011-07-11 12:59:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7970 * omx/gstbasevideodecoder.c:
7971 basevideodecoder: First inform subclass about resetting before resetting/freeing all internal state
7972 The subclass might want to access the old state.
7974 2011-07-11 12:36:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7976 * omx/gstbasevideodecoder.c:
7977 basevideodecoder: Track present position on discont before resetting it
7979 2011-07-11 11:52:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7981 * omx/gstbasevideodecoder.c:
7982 basevideodecoder: Also protect the list of pending frames from concurrent access when pushing all pendings events
7984 2011-07-11 11:28:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7986 * omx/gstbasevideocodec.c:
7987 * omx/gstbasevideocodec.h:
7988 * omx/gstbasevideodecoder.c:
7989 basevideocodec: Protect access to the list of pending frames with the object lock
7990 This is required if ::finish_frame() and all buffer output happens
7991 on a different thread than the sinkpad streaming thread.
7993 2011-07-11 09:35:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7995 * omx/gstbasevideodecoder.c:
7996 basevideodecoder: Set the correct lists to NULL after freeing
7998 2011-07-11 08:54:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8000 * omx/gstbasevideodecoder.c:
8001 basevideodecoder: Work with a copy of the GstVideoState in setcaps until the caps are accepted
8002 Also fix a refcount problem with the codec_data.
8004 2011-07-12 08:34:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8008 * omx/gstomxh264videodec.c:
8009 * omx/gstomxh264videodec.h:
8010 omxh264videodec: Add h.264 video decoder
8012 2011-07-12 08:29:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8014 * omx/gstomxmpeg4videodec.c:
8015 omxmpeg4videodec: Fix debug category name
8017 2011-07-09 11:41:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8020 * omx/gstbasevideocodec.h:
8021 * omx/gstbasevideodecoder.c:
8022 * omx/gstbasevideoencoder.c:
8023 * omx/gstbasevideoutils.c:
8024 * omx/gstbasevideoutils.h:
8025 basevideo: Move the utils from the codec header to its own header
8027 2011-07-09 11:32:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8029 * omx/gstbasevideocodec.c:
8030 * omx/gstbasevideodecoder.c:
8031 basevideo: Use GSlice for allocating GstVideoFrame and don't duplicate code in the decoder base class
8033 2011-07-09 11:05:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8035 * omx/gstomxvideodec.c:
8036 omxvideodec: Use the destroy notify to free the coder_hook
8038 2011-07-09 10:57:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8040 * omx/gstbasevideocodec.c:
8041 * omx/gstbasevideocodec.h:
8042 * omx/gstbasevideodecoder.c:
8043 basevideo: Add destroy notify for the coder_hook to prevent memory leaks
8046 2011-07-09 10:44:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8049 basevideo: Fix GType names to not conflict with the public video base classes
8050 It's still not possible to include headers of both in the same file
8051 or compile/link both into the same plugin but that shouldn't be
8054 2011-07-08 15:42:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8056 * omx/gstomxvideodec.c:
8057 omxvideodec: Fix some minor memory leaks
8059 2011-07-08 15:25:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8063 * omx/gstomxvideodec.c:
8064 omx: Rework port reconfiguration
8065 We always reconfigure all ports now if the settings of one
8066 port changes to prevent lots of race conditions, dropped
8067 frames and similar issues.
8069 2011-07-08 13:16:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8071 * omx/gstomxvideodec.c:
8072 * omx/gstomxvideodec.h:
8073 omxvideodec: Use the frames storage of the base class instead of implementing our own
8074 They could get out of sync and we could store already destroyed frames.
8076 2011-07-07 12:51:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8079 omx: Clarify GQueue/GPtrArray element types
8081 2011-07-07 12:23:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8085 * omx/gstomxvideodec.c:
8086 omx: Add more checks to acquire_buffer() and return the current state additional to the buffer
8087 Also refactor the code flow in the video decoder for this. This makes
8088 the usage of acquire_buffer() easier and more atomic.
8090 2011-07-07 12:22:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8092 * omx/gstomxvideodec.c:
8093 omxvideodec: Also flush/unflush the input port when changing the state PAUSED<->READY
8095 2011-07-07 12:21:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8098 omx: Don't broadcast port->port_cond after allocating buffers successfully
8099 Allocating buffers must happen while no thread is waiting for the
8100 cond and especially must happen from the thread that would acquire
8101 buffers from the port.
8103 2011-07-07 11:27:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8105 * omx/gstomxvideodec.c:
8106 omxvideodec: Don't leak the codec_data after sending it
8108 2011-07-07 10:27:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8111 omx: Always check if the component is in an error state before waiting for a condition variable to be signalled
8112 Otherwise we might wait forever because nothing is going to signal
8113 the condition variable anymore.
8115 2011-07-07 10:22:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8118 omx: Always hold port->port_lock before signalling port->port_cond when notifying about errors
8119 Otherwise a port might be in the critical section, has checked the error state
8120 already but waits after port->port_cond is signalled, which will lead
8123 2011-07-07 10:07:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8125 * omx/gstomxvideodec.c:
8126 omxvideodec: Remove reconfiguration test hack
8128 2011-07-06 13:27:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8131 omx: Improve debug output a bit
8133 2011-07-06 13:26:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8136 omx: Always try to deallocate buffers, even if there's a component error
8138 2011-07-06 13:26:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8141 omx: Use G_USEC_PER_SEC for clarity instead of 1000000
8143 2011-07-06 13:19:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8145 * omx/gstomxvideodec.c:
8146 omxvideodec: Error out if the GStreamer allocated buffer is smaller than the OpenMAX output buffer
8147 Usually this must never happen but currently it happens during reconfigurations
8148 because of a race condition. Still it's better than crashing.
8150 2011-07-06 10:40:13 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8154 omx: Don't use port_def.bEnabled to check if the Enable/Disable command is finished
8155 bEnabled should be set immediately after sending the command, it's only
8156 Bellagio that waits until the command is finished before setting it.
8158 2011-07-06 10:30:11 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8160 * omx/gstomxvideodec.c:
8161 omxvideodec: Remove obsolete FIXME comment
8163 2011-07-06 10:29:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8167 omx: Improve error handling and reporting
8169 2011-07-06 08:48:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8171 * omx/gstomxmpeg4videodec.c:
8172 * omx/gstomxvideodec.c:
8173 * omx/gstomxvideodec.h:
8174 omxvideodec: Make the inport and outport index configurable by the subclass
8176 2011-06-28 08:51:23 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8181 * omx/gstomxmpeg4videodec.c:
8182 * omx/gstomxmpeg4videodec.h:
8183 * omx/gstomxvideodec.c:
8184 * omx/gstomxvideodec.h:
8185 omx: Add initial version of OpenMAX framework, video decoder base class and MPEG4 video decoder
8186 This currently hardcodes a lot of stuff but works at least.
8187 Also adds a generic framework for handling OpenMAX cores, components
8190 2011-06-28 11:47:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8192 * omx/gstbasevideocodec.c:
8193 * omx/gstbasevideocodec.h:
8194 * omx/gstbasevideodecoder.c:
8195 * omx/gstbasevideodecoder.h:
8196 basevideodecoder: Don't reorder serialized src events
8197 And allow to drop EOS by the subclass if ::finish returns
8201 2011-06-27 09:41:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8203 * omx/gstbasevideocodec.c:
8204 * omx/gstbasevideocodec.h:
8205 * omx/gstbasevideodecoder.c:
8206 basevideo: Add the caps to the GstVideoState and clean up caps/codec_data properly
8208 2011-06-27 09:37:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8210 * omx/gstbasevideocodec.c:
8211 * omx/gstbasevideocodec.h:
8212 * omx/gstbasevideodecoder.c:
8213 * omx/gstbasevideodecoder.h:
8214 * omx/gstbasevideoencoder.c:
8215 * omx/gstbasevideoencoder.h:
8216 * omx/gstbasevideoutils.c:
8217 basevideo: Add video encoder/decoder base classes from gst-plugins-bad
8219 2011-06-21 11:17:35 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8221 * omx/openmax/OMX_Audio.h:
8222 * omx/openmax/OMX_Component.h:
8223 * omx/openmax/OMX_ComponentExt.h:
8224 * omx/openmax/OMX_ContentPipe.h:
8225 * omx/openmax/OMX_Core.h:
8226 * omx/openmax/OMX_CoreExt.h:
8227 * omx/openmax/OMX_IVCommon.h:
8228 * omx/openmax/OMX_Image.h:
8229 * omx/openmax/OMX_Index.h:
8230 * omx/openmax/OMX_IndexExt.h:
8231 * omx/openmax/OMX_Other.h:
8232 * omx/openmax/OMX_Types.h:
8233 * omx/openmax/OMX_Video.h:
8234 * omx/openmax/OMX_VideoExt.h:
8235 openmax: Add OpenMAX IL 1.1.2 headers