3 2022-10-04 01:14:01 +0100 Tim-Philipp Müller <tim@centricular.com>
11 2022-10-04 01:13:59 +0100 Tim-Philipp Müller <tim@centricular.com>
14 Update ChangeLogs for 1.21.1
16 2022-09-21 19:19:45 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
19 meson: Use implicit builtin dirs in pkgconfig generation
20 Starting with Meson 0.62, meson automatically populates the variables
21 list in the pkgconfig file if you reference builtin directories in the
22 pkgconfig file (whether via a custom pkgconfig variable or elsewhere).
23 We need this, because ${prefix}/libexec is a hard-coded value which is
24 incorrect on, for example, Debian.
25 Bump requirement to 0.62, and remove version compares that retained
26 support for older Meson versions.
27 Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1245
28 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3061>
30 2021-03-24 14:20:18 -0500 Zebediah Figura <z.figura12@gmail.com>
33 meson: Build with -Wl,-z,nodelete to prevent unloading of dynamic libraries and plugins
34 GLib made the unfortunate decision to prevent libgobject from ever being
35 unloaded, which means that now any library which registers a static type
36 can't ever be unloaded either (and any library that depends on those,
38 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/778>
40 2022-09-01 11:51:48 -0400 Thibault Saunier <tsaunier@igalia.com>
43 meson: Namespace the plugins_doc_dep/libraries variables
44 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
46 2022-06-29 10:55:13 +0100 Tim-Philipp Müller <tim@centricular.com>
49 coding style: allow declarations after statement
50 See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1243/
51 and https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/78
52 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2683>
54 2022-04-06 12:56:30 +0100 Tim-Philipp Müller <tim@centricular.com>
57 Bump GLib requirement to >= 2.62
58 Can't require 2.64 yet because of
59 https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/323
60 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2568>
62 2022-03-30 11:06:02 -0400 Xavier Claessens <xavier.claessens@collabora.com>
65 Use gmodule-no-export-2.0
66 We don't need `-Wl,--export-dynamic`, that's used only for executables
67 that needs to export an API to be used by plugins they load.
68 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
70 2022-03-25 15:00:20 -0400 Xavier Claessens <xavier.claessens@collabora.com>
74 * tests/check/meson.build:
76 Remove glib and gobject dependencies everywhere
77 They are part of gst_dep already and we have to make sure to always have
78 gst_dep. The order in dependencies matters, because it is also the order
79 in which Meson will set -I args. We want gstreamer's config.h to take
80 precedence over glib's private config.h when it's a subproject.
81 While at it, remove useless fallback args for gmodule/gio dependencies,
82 only gstreamer core needs it.
83 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
85 2022-03-18 13:42:27 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
88 meson: Bump all meson requirements to 0.60
89 Lots of new warnings ever since
90 https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1934
91 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1977>
93 2022-02-21 11:37:26 -0500 Xavier Claessens <xavier.claessens@collabora.com>
97 devenv: Add some missing GStreamer specific env variables
98 This should make "meson devenv" closer to what "gst-env.py" sets.
99 - GST_VALIDATE_SCENARIOS_PATH
100 - GST_VALIDATE_APPS_DIR
102 - GST_ENCODING_TARGET_PATH
107 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1768>
109 2022-02-04 11:15:47 +0000 Tim-Philipp Müller <tim@centricular.com>
113 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1635>
115 === release 1.20.0 ===
117 2022-02-03 19:53:25 +0000 Tim-Philipp Müller <tim@centricular.com>
126 2022-02-03 19:53:18 +0000 Tim-Philipp Müller <tim@centricular.com>
129 Update ChangeLogs for 1.20.0
131 === release 1.19.90 ===
133 2022-01-28 14:28:35 +0000 Tim-Philipp Müller <tim@centricular.com>
142 2022-01-28 14:28:28 +0000 Tim-Philipp Müller <tim@centricular.com>
145 Update ChangeLogs for 1.19.90
147 2022-01-05 02:07:59 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
150 meson: Add explicit check: kwarg to all run_command() calls
151 This is required since Meson 0.61.0, and causes a warning to be
153 https://github.com/mesonbuild/meson/commit/2c079d855ed87488bdcc6c5c06f59abdb9b85b6c
154 https://github.com/mesonbuild/meson/issues/9300
155 This exposed a bunch of places where we had broken run_command()
156 calls, unnecessary run_command() calls, and places where check: true
158 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1507>
160 2021-11-03 18:44:03 +0000 Tim-Philipp Müller <tim@centricular.com>
165 === release 1.19.3 ===
167 2021-11-03 15:43:36 +0000 Tim-Philipp Müller <tim@centricular.com>
176 2021-11-03 15:43:32 +0000 Tim-Philipp Müller <tim@centricular.com>
179 Update ChangeLogs for 1.19.3
181 2021-10-18 15:47:00 +0100 Tim-Philipp Müller <tim@centricular.com>
183 * tests/check/meson.build:
184 meson: update for meson.build_root() and .build_source() deprecation
185 -> use meson.project_build_root() or .global_build_root() instead.
186 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1183>
188 2021-10-18 00:40:14 +0100 Tim-Philipp Müller <tim@centricular.com>
192 * tests/check/meson.build:
193 meson: update for dep.get_pkgconfig_variable() deprecation
194 ... in favour of dep.get_variable('foo', ..) which in some
195 cases allows for further cleanups in future since we can
196 extract variables from pkg-config dependencies as well as
197 internal dependencies using this mechanism.
198 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1183>
200 2021-10-14 18:38:26 +0100 Tim-Philipp Müller <tim@centricular.com>
203 meson: bump meson requirement to >= 0.59
204 For monorepo build and ugly/bad, for advanced feature
205 option API like get_option('xyz').required(..) which
206 we use in combination with the 'gpl' option.
207 For rest of modules for consistency (people will likely
208 use newer features based on the top-level requirement).
209 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1084>
211 2021-09-28 10:11:15 +1000 Brad Hards <bradh@frogmouth.net>
214 doc: update IRC links to OFTC
215 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/945>
217 2021-09-26 01:07:02 +0100 Tim-Philipp Müller <tim@centricular.com>
221 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/925>
223 === release 1.19.2 ===
225 2021-09-23 01:36:02 +0100 Tim-Philipp Müller <tim@centricular.com>
234 2021-07-09 15:14:15 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
236 * omx/gstomxvideodec.c:
237 omxvideodec: fix OMX flags on header buffer
238 The header (SPS/PPS) buffer should have the CODECONFIG flag
239 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/49>
241 2021-07-09 14:52:59 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
243 * omx/gstomxvideodec.c:
244 omxvideodec: allow to start decoder on HEADER buffer
245 If the headers are sent in their own buffer
246 it won't have the SYNC_FRAME flag but we still
247 do want to start decoding rather than dropping it.
248 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/49>
250 2018-09-06 21:56:57 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
253 * omx/gstomxh264dec.c:
254 * omx/gstomxh265dec.c:
255 * omx/gstomxvideodec.c:
256 omxh26xdec: videodecoder support subframe
257 Use of subframe API from videodecoder base class.
258 This subframe allows to decode subframe instead of
259 waiting for a whole frame.
260 The subframe uses the same frame over the whole
261 subframe passing process and will wait
262 for a signal to know the last subframe.
263 In this implementation it will use
264 GST_VIDEO_BUFFER_FLAG_MARKER as the
265 end of batch of subframes.
266 This implement subframe mode negotation for the Zynq based on caps
267 negotation. This mode can be combined with low-latency mode, in order to
268 reach the lowest possible latency (assuming the stream is within the
269 low-latency constraints for the HW).
270 ... ! video/x-h264,alignment=nal ! omxh264dec ! ...
271 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/49>
273 2021-06-01 15:29:18 +0100 Tim-Philipp Müller <tim@centricular.com>
278 === release 1.19.1 ===
280 2021-06-01 00:16:41 +0100 Tim-Philipp Müller <tim@centricular.com>
289 2020-11-04 18:48:13 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
292 meson: Enable some MSVC warnings for parity with GCC/Clang
293 This makes it easier to do development with MSVC by making it warn
294 on common issues that GCC/Clang error out for in our CI configuration.
295 Continuation from https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/223
296 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/75>
298 2020-10-16 12:45:09 +0200 Stéphane Cerveau <scerveau@collabora.com>
300 * examples/egl/testegl.c:
302 meson: update glib minimum version to 2.56
303 In order to support the symbol g_enum_to_string in various
304 project using GStreamer ( gst-validate etc.), the glib minimum
305 version should be 2.56.0.
306 Remove compat code as glib requirement
308 Version used by Ubuntu 18.04 LTS
309 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/74>
311 2020-10-05 12:32:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
313 * omx/gstomxvideodec.c:
314 omxvideodec: support interlace-mode=interleaved input
315 interlace-mode=alternate is a special case of interlace-mode=interleaved
316 where the fields are split using two different buffers.
317 The Zynq decoder always produces alternate content and we
318 used to assume that upstream will set interlace-mode=alternate in its
320 This is no longer the case as h265parse is now setting
321 alternate-mode=interleaved on alternate content to not break compat with
322 elements not supporting alternate.
323 As a result the decoder now accept both 'interleaved' and 'alternate' on
324 its input and ensures that its ouput has interlace-mode=alternate.
325 Needed to fix https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/825
326 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/72>
328 2020-09-08 17:31:06 +0100 Tim-Philipp Müller <tim@centricular.com>
331 ci: include template from gst-ci master branch again
333 2020-09-08 16:59:09 +0100 Tim-Philipp Müller <tim@centricular.com>
338 === release 1.18.0 ===
340 2020-09-08 00:10:02 +0100 Tim-Philipp Müller <tim@centricular.com>
350 2020-08-27 17:19:44 +0100 Tim-Philipp Müller <tim@centricular.com>
352 * config/tizonia/meson.build:
353 meson: fix Tizonia build
354 Was failing for release versions with
355 meson.build:414:10: ERROR: Can not set values on configuration object that has been used.
356 Caused by !69, but CI didn't notice at the time because it was set to a git version.
358 === release 1.17.90 ===
360 2020-08-20 16:16:35 +0100 Tim-Philipp Müller <tim@centricular.com>
369 2020-07-08 17:39:20 +0100 Tim-Philipp Müller <tim@centricular.com>
373 * scripts/extract-release-date-from-doap-file.py:
374 meson: set release date from .doap file for releases
375 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/69>
377 2020-07-03 02:04:16 +0100 Tim-Philipp Müller <tim@centricular.com>
382 === release 1.17.2 ===
384 2020-07-03 00:37:06 +0100 Tim-Philipp Müller <tim@centricular.com>
393 2020-06-20 00:28:37 +0100 Tim-Philipp Müller <tim@centricular.com>
398 === release 1.17.1 ===
400 2020-06-19 19:27:38 +0100 Tim-Philipp Müller <tim@centricular.com>
409 2020-06-16 01:20:27 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
411 * docs/gst_plugins_cache.json:
412 docs: Update plugin cache json
413 https://gitlab.freedesktop.org/alatiera/gst-ci/-/jobs/3109574
414 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/68>
416 2020-06-03 22:24:09 -0400 Thibault Saunier <tsaunier@igalia.com>
418 * docs/gst_plugins_cache.json:
419 docs: Update documentation cache
421 2019-12-23 18:23:55 -0800 Dylan Yip <dylan.yip@xilinx.com>
424 omx: Add latest OMX_ALG_Index's to omx_index_type_to_str
425 Add following indexes to omx_index_type_to_str:
426 OMX_ALG_IndexParamVideoAccessUnitDelimiter
427 OMX_ALG_IndexParamVideoBufferingPeriodSEI
428 OMX_ALG_IndexParamVideoPictureTimingSEI
429 OMX_ALG_IndexParamVideoRecoveryPointSEI
430 OMX_ALG_IndexParamVideoMasteringDisplayColourVolumeSEI
431 OMX_ALG_IndexParamVideoContentLightLevelSEI
432 OMX_ALG_IndexConfigVideoRegionOfInterestByValue
433 OMX_ALG_IndexConfigVideoColorPrimaries
435 2020-05-20 17:05:33 +0200 Stéphane Cerveau <scerveau@collabora.com>
438 zynq: change API to use public 2020.01 from vcu-omx-il
439 This new release 2020.01 fixes an API typo
440 Change to OMX_ALG_IndexConfigVideoHighDynamicRangeSEI
441 instead of OMX_ALG_IndexConfigVideoHighDynamicRangeSEIs
444 2017-12-27 17:18:54 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
446 * omx/gstomxvideoenc.c:
447 omxvideoenc: factor out gst_omx_video_enc_allocate_out_buffers()
449 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/66>
451 2020-04-10 11:47:03 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
453 * omx/gstomxh265enc.c:
456 * omx/gstomxvideodec.c:
457 * omx/gstomxvideoenc.c:
458 omxvideoenc: remove unsupported formats from caps template
459 Our encoder implementation actually supports a small subset of the
460 formats supported by the decoder. Those are the formats for which we
461 have a copy path in gst_omx_video_enc_fill_buffer() and which are not
462 filtered out in filter_supported_formats().
464 2020-04-10 09:59:02 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
467 video: remove BGR from supported format
468 It's not supported by either decoder or encoder and is even not listed in
469 gst_omx_video_get_format_from_omx() so it can't work.
471 2020-04-10 10:21:16 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
473 * omx/gstomxvideoenc.c:
474 omxvideoenc: add GRAY8 support
475 It's supported by Zynq encoder and was already in the sink caps
478 2020-04-10 11:18:49 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
480 * omx/gstomxvideoenc.c:
481 omxvideoenc: factor out gst_omx_video_enc_copy_plane()
482 No semantic change, I'm going to use it to copy GRAY8 buffers which is
483 actually a single plane 8-bits format.
485 2020-04-10 10:58:34 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
487 * omx/gstomxvideoenc.c:
488 omxvideoenc: use gst_video_meta_get_plane_height() to compute slice height
489 This new API saves us from doing manual computation and actually work
490 with single planar formats, such as GRAY8.
492 2020-04-07 19:59:12 +0200 Stéphane Cerveau <scerveau@collabora.com>
494 * omx/gstomxh264enc.c:
495 * omx/gstomxh265enc.c:
497 * omx/gstomxvideoenc.c:
498 omxh26xenc: fix coverity with frame test
499 Coverity was complaining with:
500 Null pointer dereferences (REVERSE_INULL) Null-checking "frame"
501 suggests that it may be null, but it has already been
502 dereferenced on all paths leading to the check.
503 The frame == NULL has been removed as 'frame' is actively used
504 in the code above without any change of dereferencing and setting
505 its value to NULL before the test.
508 2020-03-19 16:23:41 +0100 Stéphane Cerveau <scerveau@collabora.com>
510 * omx/gstomxvideoenc.c:
511 gstomxvideoenc: fix subframe output_buffer
512 Using more than 1 subframes was failing with
513 frame->output_buffer = NULL
515 2020-02-06 10:21:49 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
517 * omx/gstomxvideodec.c:
518 omxvideodec: add support of alternate interlace mode on zynq
520 2020-02-06 10:11:13 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
522 * omx/gstomxh265enc.c:
523 * omx/gstomxvideoenc.c:
524 omxvideoenc: add support of alternate interlace mode on zynq
525 It's only supported by the Zynq HEVC encoder for now.
527 2020-02-06 10:12:50 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
530 omx: add alternate flags to buffer_flags_map
531 Zynq specific flags used to tag top/bottom fields in alternate mode.
533 2020-02-06 09:57:48 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
536 * omx/gstomxvideoenc.c:
537 omxvideo(enc): use GST_VIDEO_INFO_FIELD_RATE_N()
538 Does not change anything for now but will be needed when we'll support
539 interlace-mode=alternate as the field rate will be twice the frame rate.
540 Made the code safe from division by 0 while I was on it.
542 2020-02-06 09:36:20 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
544 * omx/gstomxvideodec.c:
545 * omx/gstomxvideoenc.c:
546 omxvideo{enc,dec}: use GST_VIDEO_INFO_FIELD_HEIGHT()
547 Does not change anything for now but will be needed when we'll support
548 interlace-mode=alternate as the fields will have half the frame height.
550 2020-02-25 10:45:47 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
553 omx: don't log error when failing to load conf file with generic target
554 The generic target is meant to only test building gst-omx. It doesn't
555 provide any configuration file and so is not supposed to register any
557 I'm not aware of any user building gst-omx with this target and
558 providing their own conf file to actually register elements. But best to
559 not break this use case anyway so let's just downgrade the log message.
560 Fix GST_ERROR in the 'check fedora' CI job.
562 2020-01-27 11:56:53 +0100 Stéphane Cerveau <scerveau@collabora.com>
565 meson: add glib project fallback
566 Add a fallback from glib project to provide glib, gio and
567 gmodule dependencies.
569 2020-01-15 11:06:12 +0000 Stéphane Cerveau <scerveau@collabora.com>
571 * omx/gstomxvideoenc.c:
572 omxvideoenc: fix warning
573 Fix warning test when OMX_BUFFERFLAG_ENDOFFRAME
576 2018-08-28 13:03:14 -0700 Varunkumar Allagadapa <varunkum@xilinx.com>
578 * omx/gstomxvideoenc.c:
579 * omx/gstomxvideoenc.h:
580 omxvideoenc: Add look-ahead property to ZYNQ_USCALE_PLUS encoder
581 This patch adds look-ahead property to encoder
582 The value indicates look ahead size in frames,
583 the number of frames processed ahead of second pass encoding.
584 Dual pass encoding is disabled if look-ahead
585 value is less than 2.
587 2018-08-06 13:02:41 -0700 Varunkumar Allagadapa <varunkum@xilinx.com>
589 * omx/gstomxvideoenc.c:
590 * omx/gstomxvideoenc.h:
591 omxvideoenc: Add long-term-ref support to ZYNQ_USCALE_PLUS encoder
592 Custom API that upstream elements can use to notify encoders about
593 marking longterm ref. pictures or using longterm ref. pictures in
595 This patch adds below properties:
596 long-term-ref: Enable/Disable dynamically marking long-term
597 reference pictures in encoding process
598 long-term-freq: Periodicity of long-term reference picture
599 marking in encoding process.
600 If a picture is marked as long-term reference picture then it remains
601 in the DPB list for ever unless it overrides with new long-term pitcure with
602 same index. Encoder can use this long-term picture as refence for
604 This feature is mostly useful to avoid visual artifacts propagation in streaming use cases
605 when packet loss happens. Instead of requesting for IDR, client can request for use long-term
606 reference picture for encoding.
608 2020-01-07 10:24:19 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
611 meson: display OMX target when configuring
612 I'm adding more gst-omx CI (
613 https://gitlab.freedesktop.org/gstreamer/gst-ci/issues/20 ) having the
614 OMX targets displayed in the logs makes things clearer.
616 2019-08-30 10:27:32 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
619 omx: remove useless double negations
620 flush and port->flushing are both gboolean.
622 2019-12-20 22:19:06 -0800 Julien Isorce <jisorce@oblong.com>
625 meson: fix tizonia build
626 meson.build was both using path to gst-omx/openmax/OMX*
627 headers and path to OMX headers provided by tizilheaders.pc
628 so this patch makes sure we only use the later.
629 Also bump tizonia minimum version to 0.19.0 which
630 is the latest release.
632 2019-05-16 10:50:18 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
634 * omx/gstomxh265enc.c:
635 * omx/gstomxh265enc.h:
636 omxh265enc: handle CODECCONFIG buffers
637 Exact same code as omxh264enc.
639 2019-05-16 10:38:49 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
641 * omx/gstomxh264enc.c:
642 omxh264enc: send codec data downstream
643 We are operating in stream-format=byte-stream so the codec data buffer
644 is meant to be part of the buffer flow.
645 The base class will push it when a key frame is requested (as we stored
646 it with gst_video_encoder_set_headers()) but we still have to push it
647 right away as part of the normal buffer flow.
648 Also set the HEADER flag on this buffer.
650 2019-05-16 10:38:49 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
652 * omx/gstomxh264enc.c:
653 omxh264enc: no need to check if codeconfig has startcode
654 We currently only support stream-format=byte-stream so there is no point
655 re-checking for it when handling CODECCONFIG buffer.
657 2018-09-04 20:12:17 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
659 * omx/gstomxh264enc.c:
660 * omx/gstomxh265enc.c:
661 omxh26xenc: Negotiate subframe mode
662 We now negotiate subframe mode through the caps. To enabled subframe
663 mode, the caps need to specify alignment=nal:
664 ... ! omxh264enc ! video/x-h264,alignment=nal ! ...
665 ... ! omxh265enc ! video/x-h265,alignment=nal ! ...
667 2018-08-31 12:24:34 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
669 * omx/gstomxvideoenc.c:
670 omxvideoenc: use subframe base class API
671 Use subframe base class support.
673 2018-09-04 19:34:59 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
677 omx: Add helper to enable/disable/read subframe mode
679 2019-12-19 13:51:17 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
682 zynq: add mapping for latest custom indexes
683 Fix warning when building using version 2019.2 of OMX headers.
685 2019-09-12 16:29:59 -0700 Varunkumar Allagadapa <varunkumar.allagadapa@xilinx.com>
687 * omx/gstomxvideoenc.c:
688 omxvideoenc: update qp-mode settings
689 Adds load-qp-absolute and load-qp-relative qp-modes
691 2019-12-10 18:34:25 +0900 Shinya Saito <ssaito@igel.co.jp>
693 * omx/gstomxvideoenc.c:
694 omxvideoenc: Add stride check for input buffer extraction
695 Stride of input buffer may be different from
696 that of omx input port even if both sizes are the same.
698 2019-05-15 14:04:47 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
700 * omx/gstomxvideoenc.c:
701 omxvideoenc: pass padding requirements to ALLOCATION query
702 By passing the expected video buffer layout, the upstream producer
703 may be able to produce buffers fitting those requierements allowing
704 gst-omx to use dynamic buffer mode rather than having to copy each input
706 This is particularly useful with v4l2src as it can request the capture
707 driver to produce buffers with the required paddings.
709 2019-07-09 13:07:32 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
711 * omx/gstomxbufferpool.c:
714 omxbufferpool: use gst_video_meta_set_alignment()
715 Tell buffer consumer about our paddings.
716 v4l2src can now uses these paddings information when trying to import
717 buffers to configure the v4l2 driver accordingly.
719 2019-05-30 11:11:34 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
721 * omx/gstomxvideoenc.c:
722 omxvideoenc: fix buffer size in debug log
723 Use the actual OMX buffer size rather than the info.size as OMX
724 may require larger buffer if the port requires some padding.
726 2019-10-14 00:48:32 +0100 Tim-Philipp Müller <tim@centricular.com>
733 * config/Makefile.am:
734 * config/bellagio/Makefile.am:
735 * config/rpi/Makefile.am:
736 * config/tizonia/Makefile.am:
737 * config/zynqultrascaleplus/Makefile.am:
739 * examples/Makefile.am:
740 * examples/egl/Makefile.am:
744 * tests/check/.gitignore:
745 * tests/check/Makefile.am:
746 * tests/check/generic/.gitignore:
748 Remove autotools build
750 2019-10-07 16:59:10 +0000 Stéphane Cerveau <scerveau@collabora.com>
752 * omx/gstomxallocator.c:
753 omxallocator: fix leak with a proper chaining finalize
755 2019-09-20 15:02:24 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
757 * omx/gstomxvideoenc.c:
758 omxvideoenc: revert draining on ALLOCATION and DRAIN query
759 My latest patch introduces some regressions which I have no time to
760 debug properly at the moment so just revert it for now.
762 2019-09-17 13:02:54 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
764 * omx/gstomxvideoenc.c:
765 omxvideoenc: let encoder base class handle ALLOCATION query
766 Fixing a regression introduced in my previous patch
767 (7c40a91c31aa4bcbb191f7c6a5d222edf9dfd9d1).
768 The ALLOCATION query needs to be handled by GstVideoEncoder (to call
769 propose_allocation()) so chain up the query handling rather than early
772 2019-08-29 12:20:56 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
774 * omx/gstomxvideoenc.c:
775 omxvideoenc: drain encoder on ALLOCATION and DRAIN queries
776 Ensure that the encoder releases all its input buffers when requested by
777 upstream. Encoder input buffers may be shared with downstreaming (when
778 using dmabuf), upstream may then request the encoder to
779 drain when reconfiguring before destroying its buffers.
780 Also drain on ALLOCATION query as we already do in kmssink as that
781 notify of a format change.
782 Fix "decoder ! encoder" pipeline when decoding a file with different
785 2019-08-28 15:52:41 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
788 omx: log the number of pending buffers when port is EOS
790 2019-08-28 15:49:00 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
793 omx: log when an output port is eos
795 2019-08-27 15:47:28 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
797 * omx/gstomxvideoenc.c:
798 omxvideoenc: log the full input format
799 Make it easier to debug dynamic format changes.
801 2019-08-21 12:25:40 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
803 * omx/gstomxvideodec.c:
804 omxvideodec: fix dmabuf import
805 When importing dmabuf, UseBuffer() has to be called with the fd as
806 pBuffer rather than the mapped address of the buffer.
808 2019-08-21 12:48:25 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
810 * omx/gstomxbufferpool.c:
811 omxbufferpool: fix dmabuf import
812 When importing dmabuf from downstream, we want the allocator to be in
813 OTHER_POOL mode despite output_mode being DMABUF.
814 So check first if other_pool is set before checking for pool's
817 2019-08-22 17:55:54 +0900 Shinya Saito <ssaito@igel.co.jp>
819 * omx/gstomxvideoenc.c:
820 omxvideoenc: Remove unnecessary gst_video_frame_unmap()
822 2019-07-25 16:30:13 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
824 * omx/gstomxvideodec.c:
825 omxvideodec: log supported caps by the decoder
826 Can be useful when debugging to check the caps supported by the decoder
829 2019-07-11 12:03:46 +0900 Shinya Saito <ssaito@igel.co.jp>
831 * omx/gstomxvideoenc.c:
832 omxvideoenc: Unref frame of codec config buffer
833 After handling codec config, codec frame should be unreffed.
835 2019-06-14 16:27:37 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
838 omxvideo: check difference between frame and requested ts
839 This has proven to be very useful when debugging to detect bugs where we
840 match the wrong gst frame with an output OMX buffer.
842 2019-06-14 10:57:29 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
846 * omx/gstomxvideodec.c:
847 * omx/gstomxvideoenc.c:
848 omxvideo: add debug infos to find_nearest_frame()
849 Those debug infos have proved to be very helpful when debugging
850 timestamp issues. They are often linked to gst-omx picking the wrong
851 frame when trying to map from OMX.
853 2019-03-05 16:57:40 +0900 Shinya Saito <ssaito@igel.co.jp>
855 * omx/gstomxvideodec.c:
856 omxvideodec: Deactivate negotiated pool when output own buffer
857 If decoder outputs internal buffer and not use OMX_UseBuffer,
858 downstream bufferpool should be stopped.
860 2019-06-03 12:21:05 +0900 Shinya Saito <ssaito@igel.co.jp>
862 * omx/gstomxh264enc.c:
863 * omx/gstomxh264enc.h:
864 omxh264enc: Add 'ref-frames' property
865 Add a property to control the number of frames for reference.
866 Min and max value is based on OpenMAX IL 1.2.0 Specification.
868 2019-06-03 07:57:02 +0200 Niels De Graef <niels.degraef@barco.com>
872 meson: Bump minimal GLib version to 2.44
873 This means we can use some newer features and get rid of some
874 boilerplate code using the G_DECLARE_* macros.
875 As discussed on IRC, 2.44 is old enough by now to start depending on it.
877 2019-04-19 12:38:54 -0400 Thibault Saunier <tsaunier@igalia.com>
879 * docs/gst_plugins_cache.json:
886 doc: Build documentation of hotdoc
888 2019-03-26 12:26:03 +0200 George Kiagiadakis <george.kiagiadakis@collabora.com>
892 gstomx: remove gst_omx_buffer_set_omx_buf/get_omx_buf
893 They are no longer used anywhere
895 2019-03-22 12:11:13 +0200 George Kiagiadakis <george.kiagiadakis@collabora.com>
898 * omx/gstomxallocator.c:
899 * omx/gstomxallocator.h:
900 * omx/gstomxbufferpool.c:
901 * omx/gstomxbufferpool.h:
902 * omx/gstomxvideoenc.c:
904 omxbufferpool: refactor to allow memory sharing
905 One big restriction of the OMX buffer pool has always been
906 that the GstMemory objects were flagged with NO_SHARE.
907 This was because the buffer pool needed to be sure that when
908 a buffer returned to the pool, it would be safe to release the
909 OMX buffer back to OpenMAX.
910 With this change, this is no longer a restriction. What this
911 commit introduces is a new allocator that allows us to track
912 the GstMemory objects independently. Now, when a buffer returns
913 to the pool, it is not necessary for the memory to be released
914 as well. We simply track the memory's ref count in the allocator
915 and we return the OMX buffer back when the memory's ref count
917 The reason for doing this is to allow implementing zero-copy
918 transfers in situations where we may need to copy or map a
919 certain region of the buffer. For instance, omxh264enc ! h264parse
920 should be possible to be zero-copy by using an OMX buffer pool
923 2019-04-23 15:13:23 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
925 * omx/gstomxbufferpool.c:
926 omxbufferpool: fix memory mapping with offset
927 gst_memory_map() is already adding the offset to the mapped pointer.
928 Doing it in the memory implementation was resulting in the offset being
930 It doesn't matter yet as we are only creating memory without offset for
931 now but it will once we'll start sharing OMX memories.
933 2019-04-19 10:43:58 +0100 Tim-Philipp Müller <tim@centricular.com>
940 === release 1.16.0 ===
942 2019-04-19 00:38:44 +0100 Tim-Philipp Müller <tim@centricular.com>
952 2019-04-16 12:23:10 -0700 Julien Isorce <jisorce@oblong.com>
955 Fixes build with omx >= 1.2.0
956 gstomx.c:1405:10: error: ‘OMX_IndexParamCustomContentPipe’ undeclared (first use in this function)
957 case OMX_IndexParamCustomContentPipe
958 Some enums have been deprecated in 1.2.0
959 https://gitlab.freedesktop.org/gstreamer/gst-omx/issues/27
961 2018-05-18 10:55:21 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
964 * examples/egl/Makefile.am:
965 * examples/egl/meson.build:
966 testegl: properly detect and use rpi specific libs
967 Use pkg-config to detect and configure rpi specific libs used in testegl
968 rather than hardcoding their flags.
970 2018-05-18 10:53:34 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
972 * examples/egl/testegl.c:
973 testelg: include eglext.h
974 Neded for the declaration of eglSaneChooseConfigBRCM().
976 2018-05-18 10:38:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
978 * examples/egl/testegl.c:
979 testegl: move up pi specific macros
980 We need to define __VCCOREVER__ and disable redundant-decls before
981 including the egl.h from the pi.
983 === release 1.15.90 ===
985 2019-04-11 00:40:52 +0100 Tim-Philipp Müller <tim@centricular.com>
995 2019-04-10 00:19:55 +0100 Tim-Philipp Müller <tim@centricular.com>
998 meson: add -Wundef as additional warning flag
1000 2019-04-10 00:16:27 +0100 Tim-Philipp Müller <tim@centricular.com>
1002 * omx/gstomxvideoenc.c:
1003 omx: fix autotools build for generic target
1004 gstomxvideoenc.c:2874:7: error: "USE_OMX_TARGET_ZYNQ_USCALE_PLUS" is not defined, evaluates to 0 [-Werror=undef]
1005 #elif USE_OMX_TARGET_ZYNQ_USCALE_PLUS
1006 Works on meson because it doesn't use -Wundef
1008 2018-11-12 12:51:28 +0200 Jordan Petridis <jordan@centricular.com>
1011 Add Gitlab CI configuration
1012 This commit adds a .gitlab-ci.yml file, which uses a feature
1013 to fetch the config from a centralized repository. The intent is
1014 to have all the gstreamer modules use the same configuration.
1015 The configuration is currently hosted at the gst-ci repository
1016 under the gitlab/ci_template.yml path.
1017 Part of https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/29
1019 2019-03-25 16:30:11 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
1022 omx: disable OMX_API_TRACE code if gst debug is disabled
1023 No need to create debug structs which won't be used as DEBUG macros are
1026 2018-10-11 10:55:04 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1029 omx: log Get/SetParameter/Config calls
1030 Extend OMX_API_TRACE by logging component configuration calls.
1032 2019-02-06 14:57:05 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
1034 * omx/gstomxbufferpool.c:
1035 omxbufferpool: don't use CAT_PERFORMANCE if pool will copy
1036 This was the single place where this category was used in gst-omx so
1037 most users, including me, are generally not turning it and were missing this
1038 important information from logs.
1039 The copying code uses gst_video_frame_copy() which is already logging
1040 with CAT_PERFORMANCE so we can still have this information when using
1041 only this debug category.
1043 2019-02-06 14:50:44 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
1045 * omx/gstomxvideodec.c:
1046 omxvideodec: add debug if proposed pool can't provide enough buffers
1047 We were silently ignoring the pool which was pretty confusing when
1050 2019-03-26 12:17:26 +0000 Charlie Turner <cturner@igalia.com>
1052 * omx/gstomxaacdec.c:
1053 * omx/gstomxaacenc.c:
1054 * omx/gstomxamrdec.c:
1055 * omx/gstomxh263dec.c:
1056 * omx/gstomxh263enc.c:
1057 * omx/gstomxh264dec.c:
1058 * omx/gstomxh264enc.c:
1059 * omx/gstomxh265dec.c:
1060 * omx/gstomxh265enc.c:
1061 * omx/gstomxmjpegdec.c:
1062 * omx/gstomxmp3dec.c:
1063 * omx/gstomxmp3enc.c:
1064 * omx/gstomxmpeg2videodec.c:
1065 * omx/gstomxmpeg4videodec.c:
1066 * omx/gstomxmpeg4videoenc.c:
1067 * omx/gstomxtheoradec.c:
1068 * omx/gstomxvp8dec.c:
1069 * omx/gstomxwmvdec.c:
1070 omx: Add hardware classifiers to encoders/decoders
1072 2019-03-25 16:01:48 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
1075 meson: sync warnings flags with -good
1076 Add more warnings flags and disabled unused variable warnings if gst
1077 debug system is disabled.
1078 Copied from gst-plugins-good/meson.build
1080 2019-03-04 09:16:40 +0000 Tim-Philipp Müller <tim@centricular.com>
1088 === release 1.15.2 ===
1090 2019-02-26 12:02:23 +0000 Tim-Philipp Müller <tim@centricular.com>
1100 2019-02-14 23:57:09 +0000 Tim-Philipp Müller <tim@centricular.com>
1103 * meson_options.txt:
1104 meson: add options to disable examples, tests and tools and bump meson requirement
1106 2019-01-04 10:11:38 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
1108 * omx/gstomxvideo.c:
1109 * omx/gstomxvideo.h:
1110 * omx/gstomxvideodec.c:
1111 * omx/gstomxvideoenc.c:
1112 omxvideo: use GST_VIDEO_CAPS_MAKE() for template caps
1113 Simplify the code and so we advertise the formats actually supported by
1116 2018-06-04 12:20:03 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1118 * omx/gstomxvideoenc.c:
1119 omxvideoenc: validate cpb-size and initial-delay
1120 cpb-size cannot be smaller than initial-delay.
1122 2018-10-02 10:47:06 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1124 * omx/gstomxvideodec.c:
1125 omxvideodec: Remove duplicated QoS code
1126 The 'finish' function do the exact same check / drop, there is no
1127 need to duplicate this here.
1129 2018-09-20 14:44:09 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1131 * omx/gstomxvideodec.c:
1132 * omx/gstomxvideodec.h:
1133 omxvideodec: Remove dead code
1134 The omxvideodec base class have a totally unused prepare_frame() vritual
1135 function, remove it.
1137 2018-07-11 17:38:22 -0700 Varunkumar Allagadapa <varunkum@xilinx.com>
1139 * omx/gstomxvideoenc.c:
1140 omxvideoenc: add adaptive gop-mode option
1141 Added adaptive gop-mode option to ZYNQ_USCALE_PLUS encoder properties
1143 2018-02-13 18:25:51 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1145 * omx/gstomxvideoenc.c:
1146 omxvideoenc: Add dynamic framerate support
1147 Instead of going through a full reset, try and change the framerate
1148 config on the encoder when only the framerate have change.
1150 === release 1.15.1 ===
1152 2019-01-17 02:38:28 +0000 Tim-Philipp Müller <tim@centricular.com>
1162 2018-02-20 10:57:42 -0800 Varunkumar Allagadapa <varunkum@xilinx.com>
1164 * omx/gstomxvideoenc.c:
1165 omxvideoenc: Add dynamic IDR insertion support on zynq
1166 As the pi, the zynq has its own API to request keyframe.
1168 2019-01-07 13:29:37 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
1172 * omx/gstomxbufferpool.c:
1173 omxbufferpool: fix race when releasing input buffers
1174 If buffers were released from the pool while
1175 gst_omx_video_enc_handle_frame() was waiting for new buffers,
1176 gst_omx_port_acquire_buffer() was never awaken as the buffers weren't
1177 released through OMX's messaging system.
1178 GQueue isn't thread safe so also protect it with the lock mutex.
1180 2018-11-15 11:17:59 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1182 * omx/gstomxbufferpool.c:
1183 * omx/gstomxbufferpool.h:
1184 * omx/gstomxvideodec.c:
1185 * omx/gstomxvideoenc.c:
1186 omxbufferpool: fix early input buffer release
1187 We used to track the 'allocating' status on the pool. It is used while
1188 allocating so output buffers aren't passed right away to OMX and input
1189 ones are not re-added to the pending queue.
1190 This was causing a bug when exporting buffers to v4l2src. On start
1191 v4l2src acquires a buffer, read its stride and release it right away.
1192 As no buffer was received by the encoder element at this point, 'allocating'
1193 was still on TRUE and so the the buffer wasn't put back to the pending
1194 queue and, as result, no longer available to the pool.
1195 Fix this by checking the active status of the pool instead of manually
1196 tracking it down. The pool is considered as active at the very end of
1197 the activation process so we're good when buffers are released during
1200 2018-12-05 17:24:48 -0300 Thibault Saunier <tsaunier@igalia.com>
1203 Automatic update of common submodule
1204 From ed78bee to 59cb678
1206 2018-11-23 12:57:15 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
1209 omx: fix OMX_EventBufferFlag OMX_API_TRACE struct
1210 The GType was missing from the second field of the struct.
1212 2018-11-05 05:43:43 +0000 Matthew Waters <matthew@centricular.com>
1216 Update git locations to gitlab
1218 2018-09-18 16:50:11 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1221 omx: rename OMX_PERFORMANCE debug cat to OMX_API_TRACE
1222 This debug category can now be used to track more OMX calls and events
1223 so best to rename it to something more generic.
1224 https://bugzilla.gnome.org/show_bug.cgi?id=797171
1226 2018-08-21 17:35:04 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1229 omx: log OMX commands 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-21 16:50:38 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1237 omx: factor out gst_omx_component_send_command()
1238 No semantic change. I'm going to add extra debug in this function.
1239 https://bugzilla.gnome.org/show_bug.cgi?id=797171
1241 2018-08-21 15:14:09 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1244 omx: log OMX events with OMX_PERFORMANCE debug category
1245 It has been useful to have a clear raw and structured view of the gst
1246 <-> OMX exchanges when debugging.
1247 https://bugzilla.gnome.org/show_bug.cgi?id=797171
1249 2018-08-22 12:51:30 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1252 omx: rename log_omx_performance() to log_omx_performance_buffer()
1253 I'm about to log more things under this category
1254 https://bugzilla.gnome.org/show_bug.cgi?id=797171
1256 2018-09-07 22:57:30 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1258 * omx/gstomxvideoenc.c:
1259 omxvideoenc: Remove spurious locking
1260 The method we call in the context of pushing a buffer are all thread
1261 safe. Holding a lock would prevent input buffers from being queued while
1263 https://bugzilla.gnome.org/show_bug.cgi?id=715192
1265 2018-09-07 23:09:29 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1267 * omx/gstomxvideoenc.c:
1268 omxvideoenc: Remove unneeded size check
1269 We only enter this branch if nFilledLen > 0, there is not need
1271 https://bugzilla.gnome.org/show_bug.cgi?id=715192
1273 2018-09-07 22:55:41 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1275 * omx/gstomxvideodec.c:
1276 omxvideodec: Remove spurious unlock in error case
1277 This was forgotton in previous patch. We no long hold the lock when goto
1278 invalid_buffer is called.
1279 https://bugzilla.gnome.org/show_bug.cgi?id=715192
1281 2018-08-31 17:28:03 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1283 * omx/gstomxvideodec.c:
1284 omxvideodec: don't hold the stream lock when trying to push a frame
1285 The base class methods will lock this properly when needed, there seems
1286 to be no need to lock it explicitly.
1287 This allows the patch in gstvideodec for unlocking the stream lock
1288 when pushing buffers out to work.
1289 https://bugzilla.gnome.org/show_bug.cgi?id=715192
1291 2018-07-31 13:22:31 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1293 * omx/gstomxvideodec.c:
1294 omxvideodec: don't import OMX buffers from downstream
1295 We already have code configuring the encoder stride and slice height
1296 when receiving the first buffer from upstream.
1297 We don't have an equivalent when the encoder is exporting its buffers to the
1299 There is no point adding it and making the code even more
1300 complex as we wouldn't gain anything by exporting from the encoder to
1301 the decoder. The dynamic buffer mode already ensures 0-copy between OMX
1303 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1305 2018-05-15 11:59:26 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1309 * omx/gstomxbufferpool.c:
1310 * omx/gstomxvideoenc.c:
1311 * omx/gstomxvideoenc.h:
1312 omxvideoenc: implement dmabuf export on input buffers
1313 Propose pool upstream so input buffers can be allocated by the port and
1315 The actual OMX buffers are allocated when the pool is activated, so we
1316 don't end up doing useless allocations if the pool isn't used.
1317 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1319 2018-08-13 15:10:37 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1323 * omx/gstomxaudiodec.c:
1324 * omx/gstomxaudioenc.c:
1325 * omx/gstomxaudiosink.c:
1326 * omx/gstomxvideodec.c:
1327 * omx/gstomxvideoenc.c:
1328 omx: allow gst_omx_port_acquire_buffer() to not wait for buffers
1329 Will be needed to implement GST_BUFFER_POOL_ACQUIRE_FLAG_DONTWAIT.
1330 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1332 2018-07-31 15:04:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1334 * omx/gstomxvideodec.c:
1335 omxvideodec: don't import non-dmabuf when dec is in dmabuf mode
1336 Fix 'omxh264dec ! videocrop' pipeline.
1337 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1339 2018-08-02 11:29:12 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1341 * omx/gstomxvideodec.c:
1342 omxvideodec: factor out gst_omx_try_importing_buffer()
1343 No semantic change, just make the code clearer and improve debug output.
1344 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1346 2018-07-26 16:30:08 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1348 * omx/gstomxvideodec.c:
1349 omxvideodec: fix gst_video_info_from_caps() caps assertion
1350 The "use buffers" code path uses gst_video_info_from_caps() which is
1351 asserting if caps is NULL (because pool was rejected).
1352 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1354 2018-07-26 16:22:50 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1356 * omx/gstomxvideodec.c:
1357 omxvideodec: fix pool caps reference stealing
1358 gst_buffer_pool_config_get_params() doesn't ref the returning caps;
1359 so gst_caps_replace() was unreffing the reference owned by the pool.
1360 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1362 2018-07-25 09:57:20 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1364 * omx/gstomxvideodec.c:
1365 omxvideodec: prevent timeout when shutting down because of pending out buffers
1366 The OMX transition state to Loaded won't be complete until all buffers
1367 have been freed. There is no point waiting, and timeout, if we know that
1368 output buffers haven't been freed yet.
1369 The typical scenario is output buffers being still used downstream
1370 and being freed later when released back to the pool.
1371 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1373 2018-07-24 15:14:31 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1375 * omx/gstomxbufferpool.c:
1376 omxbufferpool: reference the OMX component
1377 Now that the pool is responsible of freeing the OMX buffers, we need to
1378 ensure that the OMX component stay alive while the pool is as we rely on
1379 the component to free the buffers.
1380 The GstOMXPort is owned by the component so no need to ref this one.
1381 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1383 2018-07-24 15:06:01 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1387 * omx/gstomxaudiodec.c:
1388 * omx/gstomxaudioenc.c:
1389 * omx/gstomxaudiosink.c:
1390 * omx/gstomxvideodec.c:
1391 * omx/gstomxvideoenc.c:
1392 turn GstOMXComponent to a GstMiniObject
1393 Will use it for refcounting.
1394 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1396 2018-05-28 12:20:45 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1398 * omx/gstomxbufferpool.c:
1399 * omx/gstomxvideodec.c:
1400 omxbufferpool: deallocate OMX buffers when stopping
1401 The pool is stopped when all the buffers have been released. Deallocate
1402 when stopping so we are sure that the buffers aren't still used by
1404 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1406 2018-05-24 16:28:21 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1409 omx: call gst_omx_buffer_unmap() when handling BUFFER_DONE
1410 When using a input buffer pool, the buffer may be released to the pool when
1411 gst_omx_buffer_unmap() is called. We need to have buf->used unset at
1412 this point as the pool may use it to check the status of the pool.
1413 {Empty,Fill}BufferDone is called from OMX internal threads while
1414 messages are handled from gst elements' thread. Best to do all this
1415 when handling the message so we don't mess with OMX threads and keep
1416 the original thread/logic split.
1417 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1419 2018-05-25 14:44:16 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1421 * omx/gstomxvideodec.c:
1422 * omx/gstomxvideoenc.c:
1423 omxvideo{enc,dec}: stop calling shutdown() in change_state
1424 This is no longer needed since we implemented close() vfuncs as the
1425 encoder/decoder base class already take care of calling close() (which
1426 is calling shutdown()) in its own change_state implementation.
1427 We also move the shut down of the component from PAUSED_TO_READY to READY_TO_NULL.
1428 By doing so upstream will have already deactivated the pool from the
1429 encoder and so won't be preventing the OMX state change as the buffers
1430 will all be released.
1431 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1433 2018-05-15 16:21:26 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1437 * omx/gstomxbufferpool.c:
1438 omx: factor out gst_omx_buffer_get/set_omx_buf()
1439 Move the qdata code to helper functions as I'm going to need them in
1440 omxvideoenc to implement dmabuf export.
1441 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1443 2018-05-15 11:01:13 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1445 * omx/gstomxvideoenc.c:
1446 omxvideoenc: factor out gst_omx_video_enc_set_to_idle()
1447 No semantic change. We'll have to use this when the input pool is
1448 activated so we can allocate buffers.
1449 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1451 2018-05-15 09:56:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1453 * omx/gstomxvideoenc.c:
1454 omxvideoenc: factor out gst_omx_video_enc_deallocate_in_buffers()
1455 Will add extra code when adding input buffer pool.
1456 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1458 2018-05-14 15:16:38 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1461 omx: add pBuffer to OMX_PERFORMANCE logs
1462 Can be useful to check the fd being passed when using dmabuf.
1463 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1465 2018-03-21 12:43:33 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1469 * omx/gstomxvideodec.c:
1470 * omx/gstomxvideoenc.c:
1471 omx: factor out gst_omx_port_set_dmabuf()
1472 No semantic change. I also made the debug message a bit clearer.
1473 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1475 2018-08-22 15:56:18 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1478 omx: wait for flush complete and buffers being released when flushing
1479 When flusing we should wait for OMX to send the flush command complete event
1480 AND all ports being released.
1481 We were stopping as soon as one of those condition was met.
1482 Fix a race between FillThisBufferDone/EmptyBufferDone and the flush
1483 EventCmdComplete messages. The OMX implementation is supposed to release
1484 its buffers before posting the EventCmdComplete event but the ordering
1485 isn't guaranteed as the FillThisBufferDone/EmptyBufferDone and
1486 EventHandler callbacks can be called from different threads (cf 2.7
1487 'Thread Safety' in the spec).
1488 Only wait for buffers currently used by OMX as some buffers may not be
1489 in the pending queue because they are held downstream.
1490 https://bugzilla.gnome.org/show_bug.cgi?id=789475
1492 2018-08-22 15:52:23 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1495 omx: factor out should_wait_until_flushed()
1496 No semantic change. Makes the code easier to understand and I'm about to
1497 change the waiting condition.
1498 https://bugzilla.gnome.org/show_bug.cgi?id=789475
1500 2018-08-28 13:10:35 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1502 * omx/gstomxvideoenc.c:
1503 omxvideoenc: pause component when flushing
1504 As stated in the spec ("6.1.3 Seek Event Sequence") we should pause
1506 We were pausing the decoder but not the encoder so I just aligned the
1508 https://bugzilla.gnome.org/show_bug.cgi?id=797038
1510 2018-07-12 12:41:18 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1512 * omx/gstomxvideoenc.c:
1513 omxvideoenc: fix vertical padding in NV16 formats
1514 My previous patch to calculate the vertical padding was always halfing
1515 the height of the chroma plane which is incorrect for NV16 formats.
1516 https://bugzilla.gnome.org/show_bug.cgi?id=796749
1518 2018-07-05 15:13:47 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1520 * omx/gstomxvideoenc.c:
1521 omxvideoenc: include vertical padding in nFilledLen when copying
1522 According to the OMX spec (3.1.3.7.1) nFilledLen is meant to include any
1523 padding. We use to include the horizontal one (stride) but not the
1524 vertical one if nSliceHeight is bigger than the actual height.
1525 The calculated nFilledLen was wrong as it didn't include the padding
1527 https://bugzilla.gnome.org/show_bug.cgi?id=796749
1529 2018-04-26 12:30:47 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1533 * omx/gstomxvideodec.c:
1534 * omx/gstomxvideoenc.c:
1535 * omx/gstomxvideoenc.h:
1536 omxvideoenc: implement decide_allocation
1537 Increase the number of output buffers by the number of buffers requested
1539 Prevent buffers starvation if downstream is going to use dynamic buffer
1541 https://bugzilla.gnome.org/show_bug.cgi?id=795746
1543 2018-04-26 12:29:16 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1545 * omx/gstomxvideodec.c:
1546 omxvideodec: implement propose_allocation
1547 Tell upstream about how many buffer we plan to use so they can adjust
1548 their own number of buffers accordingly if needed.
1549 Same logic as the existing gst_omx_video_enc_propose_allocation().
1550 https://bugzilla.gnome.org/show_bug.cgi?id=795746
1552 2018-05-17 09:54:11 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1554 * omx/gstomxvideoenc.c:
1555 * omx/gstomxvideoenc.h:
1556 omxvideoenc: always signal drain cond when stopping streaming loop
1557 Similar change as the one I just did in omxvideodec.
1558 https://bugzilla.gnome.org/show_bug.cgi?id=796207
1560 2018-05-16 17:06:29 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1562 * omx/gstomxvideodec.c:
1563 * omx/gstomxvideodec.h:
1564 omxvideodec: always signal drain cond when stopping streaming loop
1565 If for some reason something goes wrong and we stop the streaming loop
1566 we may end up with other threads still waiting on the drain cond.
1567 No more buffers will be produced by the component so they were waiting
1569 Fix this by always signalling this cond when stopping the streaming
1571 https://bugzilla.gnome.org/show_bug.cgi?id=796207
1573 2018-05-16 17:02:01 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1575 * omx/gstomxvideodec.c:
1576 omxvideoenc: factor out gst_omx_video_enc_pause_loop()
1577 No semantic change. I'm going to use it in more failure cases.
1578 https://bugzilla.gnome.org/show_bug.cgi?id=796207
1580 2018-05-17 14:24:52 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1582 * config/zynqultrascaleplus/gstomx.conf:
1583 zynqultrascaleplus: enable 'ensure-buffer-count-actual' hack
1584 https://bugzilla.gnome.org/show_bug.cgi?id=791211
1586 2018-04-27 16:26:36 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1590 * omx/gstomxvideodec.c:
1591 * omx/gstomxvideoenc.c:
1592 omxvideodec/enc: add hack updating nBufferCountActual before allocating
1593 The OMX specs states that the nBufferCountActual of a port has to default
1594 to its nBufferCountMin. If we don't change nBufferCountActual we purely rely
1595 on this default. But in some cases, OMX may change nBufferCountMin before we
1596 allocate buffers. Like for example when configuring the input ports with the
1597 actual format, it may decrease the number of minimal buffers required.
1598 This method checks this and update nBufferCountActual if needed so we'll use
1599 less buffers than the worst case in such scenarios.
1600 SetParameter() needs to be called when the port is either disabled or
1601 the component in the Loaded state.
1602 Don't do this for the decoder output as
1603 gst_omx_video_dec_allocate_output_buffers() already check
1604 nBufferCountMin when computing the number of output buffers.
1605 On some platform, like rpi, the default nBufferCountActual is much
1606 higher than nBufferCountMin so only enable this using a specific gst-omx
1608 https://bugzilla.gnome.org/show_bug.cgi?id=791211
1610 2018-05-28 15:02:13 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1612 * omx/gstomxvideodec.c:
1613 * omx/gstomxvideoenc.c:
1614 omxvidee{enc,dec}: refresh input port definition after setting format
1615 Setting the input format and the associated encoder/decoder settings
1616 may also affect the nBufferCountMin of the input port.
1617 Refresh the input port so we'll use up to date values in propose/decide
1619 https://bugzilla.gnome.org/show_bug.cgi?id=796445
1621 2018-05-07 11:59:08 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1624 omx: always consider component in 'invalid' state when an error occured
1625 gst_omx_component_get_state() used to early return if there was no
1626 pending state change. So if the component raised an error it wasn't
1627 considered in the invalid state until the next requested state change.
1628 Fix this by checking first if we received an error.
1629 https://bugzilla.gnome.org/show_bug.cgi?id=795874
1631 2018-05-25 01:35:58 +1000 Matthew Waters <matthew@centricular.com>
1634 * meson_options.txt:
1635 meson: Update option names to omit 'with_omx' prefixes
1636 Companion commit to:
1637 https://cgit.freedesktop.org/gstreamer/gstreamer/commit/?id=4fb02fc85b70be631f5331b2547e5dc61ef7a43a
1638 https://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=1e1a5d658e4a031535c44823fd398d3052ca2000
1641 2018-03-21 13:52:23 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1643 * omx/gstomxvideodec.c:
1644 omxvideodec: pass a GstOMXBufferMode to gst_omx_buffer_pool_new()
1645 The output_mode is supposed to be a GstOMXBufferMode, not a boolean.
1647 2018-05-03 09:27:15 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1649 * config/zynqultrascaleplus/gstomx.conf:
1650 zynq: remove 'no-disable-outport' hack
1651 No longer needed with newer version of the OMX stack.
1653 2018-03-13 16:15:30 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1655 * omx/gstomxh264enc.c:
1656 * omx/gstomxh265enc.c:
1657 omxh26{4,5}enc: don't pick default 10-bit profile
1658 The OMX stack of the zynqultrascaleplus (the only one supporting
1659 NV12_10LE32 and NV16_10LE32) will now pick the proper profile if none
1660 has been requested. Best to rely on its default than hardcoding a
1661 specific one in gst-omx.
1662 https://bugzilla.gnome.org/show_bug.cgi?id=794319
1664 2018-03-06 14:16:56 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1666 * omx/gstomxh264utils.c:
1667 omxh264: sync with supported profiles on zynqultrascaleplus
1668 Add extra supported AVC profiles and remove extended and 4:4:4 profiles
1669 which are actually not implemented.
1670 https://bugzilla.gnome.org/show_bug.cgi?id=794177
1672 2018-03-06 10:45:14 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1674 * omx/gstomxh264enc.c:
1675 * omx/gstomxh264utils.c:
1676 * omx/gstomxh264utils.h:
1677 omxh264: factor out gst_omx_h264_utils_get_profile_from_enum()
1678 Move the profile <-> enum mapping to one place. Make changes easier as
1679 I'm about to add extra profiles.
1681 https://bugzilla.gnome.org/show_bug.cgi?id=794177
1683 2018-03-06 11:02:44 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1685 * omx/gstomxh265utils.c:
1686 omxh265: add format range extension profiles on zynqultrascaleplus
1687 The zynqultrascaleplus OMX gained support for more format range
1688 extensions profiles (A.3.5).
1689 https://bugzilla.gnome.org/show_bug.cgi?id=794177
1691 2018-03-06 10:45:14 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1693 * omx/gstomxh265enc.c:
1694 * omx/gstomxh265utils.c:
1695 * omx/gstomxh265utils.h:
1696 omxh265: factor out gst_omx_h265_utils_get_profile_from_enum()
1697 Move the profile <-> enum mapping to one place. Make changes easier as
1698 I'm about to add some profiles.
1700 https://bugzilla.gnome.org/show_bug.cgi?id=794177
1702 2018-03-08 12:22:26 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1704 * omx/gstomxvideoenc.c:
1705 omxvideoenc: add NV16 support
1706 NV16 format wasn't supported on encoder input while it was on decoder
1708 https://bugzilla.gnome.org/show_bug.cgi?id=794175
1710 2018-03-08 12:09:38 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1712 * omx/gstomxvideo.c:
1713 omxvideo: display port number when listing supported formats
1714 More convenient when debugging.
1715 https://bugzilla.gnome.org/show_bug.cgi?id=794175
1717 2018-03-29 16:42:40 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1720 * omx/gstomxvideoenc.c:
1721 * omx/gstomxvideoenc.h:
1722 omxvideoenc: restore OMX default target-bitrate if requested by user
1723 0xffffffff is the magic number in gst-omx meaning 'the default value
1724 defined in OMX'. This works fine with OMX parameters which are only set
1725 once when starting the component but not with configs which can be
1726 changed while PLAYING.
1727 Save the actual OMX default bitrate so we can restore it later if user
1728 sets back 0xffffffff on the property.
1729 Added GST_OMX_PROP_OMX_DEFAULT so we stop hardcoding magic numbers
1731 https://bugzilla.gnome.org/show_bug.cgi?id=794998
1733 2018-03-29 11:36:00 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1735 * omx/gstomxvideoenc.c:
1736 omxvideoenc: use gst_omx_video_enc_set_bitrate() when setting bitrate in set_format
1737 We weren't using the usual pattern when re-setting the bitrate:
1738 - get parameters from OMX
1739 - update only the fields different from 0xffffffff (OMX defaults)
1741 Also added a comment explaining why we re-set this param.
1742 https://bugzilla.gnome.org/show_bug.cgi?id=794998
1744 2018-03-29 11:26:04 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1746 * omx/gstomxvideoenc.c:
1747 omxvideoenc: factor out gst_omx_video_enc_set_bitrate()
1748 No semantic change, I'm about to re-use this function in set_format().
1749 https://bugzilla.gnome.org/show_bug.cgi?id=794998
1751 2018-04-20 11:54:14 +0100 Tim-Philipp Müller <tim@centricular.com>
1754 meson: fix miscellaneous meson warnings
1755 cc.has_header*() doesn't have a 'required:' kwarg.
1757 2018-04-18 12:42:55 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1759 * omx/gstomxvideodec.c:
1760 * omx/gstomxvideoenc.c:
1761 omxvideoenc/dec: fix handling of component enabling failing
1762 - Report the error from OMX if any (OMX_EventError)
1763 - If not report the failing to the application (GST_ELEMENT_ERROR)
1764 - return GST_FLOW_ERROR rather than FALSE
1766 https://bugzilla.gnome.org/show_bug.cgi?id=795352
1768 2018-04-16 10:53:41 +0100 Tim-Philipp Müller <tim@centricular.com>
1771 Automatic update of common submodule
1772 From 3fa2c9e to ed78bee
1774 2018-03-14 14:53:50 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1777 log_omx_performance: convert pointers to strings
1778 G_TYPE_POINTER are not serialized in logs.
1779 https://bugzilla.gnome.org/show_bug.cgi?id=794331
1781 2018-04-02 15:14:51 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1783 * omx/gstomxvideoenc.c:
1784 omxvideoenc: remove duplicated debug message
1785 We already have the exact same message at the beginning of
1786 gst_omx_video_enc_handle_frame(). Having it twice is confusing when
1787 reading/grepping logs.
1788 I kept the earlier one to keep the symetry with
1789 gst_omx_video_dec_handle_frame().
1790 https://bugzilla.gnome.org/show_bug.cgi?id=794897
1792 2018-02-22 11:27:03 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1794 * omx/gstomxvideoenc.c:
1795 omxvideoenc: add 'roi' qp-mode on zynqultrascaleplus
1796 New QP mode used to handle ROI metadata.
1797 https://bugzilla.gnome.org/show_bug.cgi?id=793696
1799 2018-03-20 10:31:10 +0000 Tim-Philipp Müller <tim@centricular.com>
1807 === release 1.14.0 ===
1809 2018-03-19 20:31:02 +0000 Tim-Philipp Müller <tim@centricular.com>
1819 === release 1.13.91 ===
1821 2018-03-13 19:32:39 +0000 Tim-Philipp Müller <tim@centricular.com>
1831 2018-03-09 12:02:29 +0000 Tim-Philipp Müller <tim@centricular.com>
1834 meson: fix typo in package name define
1836 2018-02-27 15:42:53 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1838 * omx/gstomxh265enc.c:
1839 * omx/gstomxh265utils.c:
1840 omxh265: update 422 profile names
1841 h265parse is gaining support for the format range extension profile
1843 Use the profile names defined in h265parse.
1844 https://bugzilla.gnome.org/show_bug.cgi?id=793928
1846 2018-03-05 13:49:18 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1848 * omx/gstomxvideoenc.c:
1849 omxvideoenc: Don't drop the frame on empty payload
1850 This otherwise may lead to "No reference frame found" warning.
1852 2018-03-01 15:16:55 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1854 * omx/gstomxvideodec.c:
1855 omxvideodec: Don't drop the frame on empty payload
1856 This otherwise may lead to "No reference frame found" warning.
1858 2018-03-02 15:36:06 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1861 omx: Free empty buffers list in use_dynamic_buffers
1862 To indicate we are doing dynamic buffers importation, we pass
1863 a list of NULL pointers, but we forgot to free that list.
1865 2018-03-01 15:16:32 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1867 * omx/gstomxvideodec.c:
1868 omxvideodec: Fix CodecState leak
1870 === release 1.13.90 ===
1872 2018-03-03 23:00:59 +0000 Tim-Philipp Müller <tim@centricular.com>
1882 2018-03-03 20:21:06 +0000 Tim-Philipp Müller <tim@centricular.com>
1884 * config/Makefile.am:
1885 config: dist tizonia config files
1887 2018-03-02 11:06:08 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1890 Revert "omx: wait for flush complete and buffers being released when flushing"
1891 This reverts commit 4211e4c29a262f110cb92ddf9c06b403ced233ef.
1893 2018-02-21 12:50:42 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1895 * omx/gstomxvideoenc.c:
1896 videoenc: don't set stride padding to 0 when copying frames
1897 Padding can be left undefined there is no point filling it with 0.
1898 https://bugzilla.gnome.org/show_bug.cgi?id=793694
1900 2018-02-16 11:50:35 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1902 * omx/gstomxbufferpool.c:
1903 * omx/gstomxh264enc.c:
1904 * omx/gstomxh265enc.c:
1905 * omx/gstomxvideo.c:
1906 * omx/gstomxvideodec.c:
1907 * omx/gstomxvideoenc.c:
1908 add support for NV12_10LE32 and NV16_10LE32 on zynqultrascaleplus
1909 The encoder and decoder on zynqultrascaleplus support these new 10 bits
1911 https://bugzilla.gnome.org/show_bug.cgi?id=793694
1913 2018-02-16 11:46:47 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1915 * omx/gstomxvideoenc.c:
1916 omxvideoenc: factor out gst_omx_video_enc_nv12_manual_copy()
1917 No semantic change, I'm going to re-use it to copy the NV12_10LE32
1919 https://bugzilla.gnome.org/show_bug.cgi?id=793694
1921 2018-01-17 10:40:49 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1923 * omx/gstomxvideoenc.c:
1924 omxvideoenc: display the computed buffer size when configuring input
1925 https://bugzilla.gnome.org/show_bug.cgi?id=793694
1927 2018-02-06 14:25:57 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1929 * omx/gstomxvideoenc.c:
1930 * omx/gstomxvideoenc.h:
1931 videoenc: implement ROI on zynqultrascaleplus
1932 Check input buffers for ROI meta and pass them to the encoder by using
1933 zynqultrascaleplus's custom OMX extension. Also add a new
1934 "default-roi-quality" in order to tell the encoder what quality level
1935 should be applied to ROI by default.
1936 https://bugzilla.gnome.org/show_bug.cgi?id=793696
1938 2018-02-14 17:23:39 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1940 * omx/gstomxvideoenc.c:
1941 omxvideoenc: remove GST_PARAM_MUTABLE_PLAYING from 'max-bitrate' property
1942 This property isn't actually mutable in the PLAYING state.
1943 https://bugzilla.gnome.org/show_bug.cgi?id=793458
1945 2018-02-14 17:20:02 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1947 * omx/gstomxvideoenc.c:
1948 * omx/gstomxvideoenc.h:
1949 omxvideoenc: protect target_bitrate with the object lock
1950 The 'target-bitrate' property can be changed while PLAYING
1951 (GST_PARAM_MUTABLE_PLAYING). Make it thread-safe to prevent concurrent
1952 accesses between the application and streaming thread.
1953 https://bugzilla.gnome.org/show_bug.cgi?id=793458
1955 2018-02-20 11:46:49 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1957 * omx/gstomxbufferpool.c:
1958 omxbufferpool: add PERFORMANCE DEBUG message when copying output frames
1959 I spent quiet some time figuring out why performance of my pipeline were
1960 terrible. Turned out it was because of output frames being copied
1961 because of stride/offset mismatch.
1962 Add a PERFORMANCE DEBUG message to make it easier to spot and debug from logs.
1963 https://bugzilla.gnome.org/show_bug.cgi?id=793637
1965 2018-02-15 19:44:37 +0000 Tim-Philipp Müller <tim@centricular.com>
1971 === release 1.13.1 ===
1973 2018-02-15 17:50:14 +0000 Tim-Philipp Müller <tim@centricular.com>
1982 2017-06-30 15:15:06 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1984 * omx/gstomxh265enc.c:
1985 omxh265enc: fix typo in "periodicty-idr" property name
1986 Also fix the 'nick' of the property.
1987 omxh265enc is based on the code from omxh264enc and suffers the same
1988 typo as we fixed in https://bugzilla.gnome.org/show_bug.cgi?id=784370
1989 This element isn't part of a stable release yet so it's not an API
1991 https://bugzilla.gnome.org/show_bug.cgi?id=793390
1993 2018-02-08 19:18:59 +0000 Tim-Philipp Müller <tim@centricular.com>
1996 meson: make version numbers ints and fix int/string comparison
1997 WARNING: Trying to compare values of different types (str, int).
1998 The result of this is undefined and will become a hard error
1999 in a future Meson release.
2000 Also remove unused libversion/soversion.
2002 2017-12-12 16:50:00 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2007 include all OMX extension headers if present
2008 The OMX specs defines 8 headers that implementations can use to define
2009 their custom extensions. We were checking and including 3 and ignoring
2011 https://bugzilla.gnome.org/show_bug.cgi?id=792043
2013 2018-01-30 10:31:03 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2017 * tools/meson.build:
2018 meson: simplify OMX extensions detection
2019 We are now always checking which files are present or not, even when using our
2020 internal copy of OMX, rather than hardcoding the ones present in it.
2021 https://bugzilla.gnome.org/show_bug.cgi?id=792043
2023 2018-01-30 11:54:24 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
2027 * tools/meson.build:
2028 Revert "meson: use include_directories() with external OMX headers path"
2029 This reverts commit 9d37a92a615e54e8ee12f8c65bcfe386ec9de2d0.
2031 2017-11-27 14:52:10 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2033 * omx/gstomxh265enc.c:
2034 * omx/gstomxh265enc.h:
2035 omxh265enc: add some encoding properties
2036 constrained-intra-prediction and loop-filter-mode.
2037 Those map standard OMX settings.
2038 https://bugzilla.gnome.org/show_bug.cgi?id=792528
2040 2017-11-23 15:54:15 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2042 * omx/gstomxh264enc.c:
2043 * omx/gstomxh264enc.h:
2044 omxh264enc: add some encoding properties
2045 entropy-mode, constrained-intra-prediction and loop-filter-mode.
2046 Those map standard OMX settings.
2047 https://bugzilla.gnome.org/show_bug.cgi?id=792528
2049 2017-06-08 12:31:21 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2051 * omx/gstomxvideoenc.c:
2052 * omx/gstomxvideoenc.h:
2053 omxvideoenc: add zynqultrascaleplus specific properties
2054 https://bugzilla.gnome.org/show_bug.cgi?id=792528
2056 2017-10-31 12:24:39 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2058 * omx/gstomxvideoenc.c:
2059 omxvideoenc: document unit of target-bitrate property
2060 nTargetBitrate and nEncodeBitrate are defined in bits per second in the
2062 https://bugzilla.gnome.org/show_bug.cgi?id=792528
2064 2017-07-06 10:18:48 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2066 * omx/gstomxvideodec.c:
2067 * omx/gstomxvideodec.h:
2068 omxvideodec: add internal-entropy-buffers property on zynqultrascaleplus
2069 Custom property to control the number of internal buffers used in the
2070 decoder to smooth out entropy decoding performance.
2071 https://bugzilla.gnome.org/show_bug.cgi?id=792528
2073 2018-01-30 10:31:03 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2077 * tools/meson.build:
2078 meson: use include_directories() with external OMX headers path
2079 It seems cleaner to use the proper meson tools to include this path
2080 rather than manually tweak the build flags.
2081 This also allows us to simplify the OMX extensions detection code. We
2082 are now always checking which files are present, even when using our
2083 internal copy of OMX, rather than hardcoding the ones present in it.
2084 https://bugzilla.gnome.org/show_bug.cgi?id=792043
2086 2017-11-07 15:09:35 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2088 * omx/gstomxvideoenc.c:
2089 omxvideoenc: expose chroma format and bit depth in output caps
2090 As we added in the parser (bgo#792039) expose the chroma and bit
2091 depth information in output caps.
2092 https://bugzilla.gnome.org/show_bug.cgi?id=792040
2094 2017-11-07 14:30:45 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2096 * omx/gstomxvideoenc.c:
2097 omxvideoenc: factor out get_output_caps()
2098 No semantic change so far.
2099 https://bugzilla.gnome.org/show_bug.cgi?id=792040
2101 2017-12-29 11:59:36 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2103 * config/zynqultrascaleplus/gstomx.conf:
2106 * omx/gstomxvideodec.c:
2107 omxvideodec: add hack to pass color format from caps to OMX decoder
2108 This hack tries to pass as much information as possible from caps to the
2109 decoder before it receives any buffer. These information can be used by
2110 the OMX decoder to, for example, pre-allocate its internal buffers
2111 before starting to decode and so reduce its initial latency.
2112 This mechanism is currently supported by the zynqultrascaleplus decoder.
2113 https://bugzilla.gnome.org/show_bug.cgi?id=792040
2115 2017-12-01 12:43:19 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2118 log failing OMX calls as errors
2119 I find it confusing when debugging that OMX calls returning an error
2120 where not logged as GST_LEVEL_ERROR making them harder to spot.
2121 Fix this by introducing simple log macros checking the return value of
2122 the OMX call and logging failures as errors.
2123 https://bugzilla.gnome.org/show_bug.cgi?id=791069
2125 2017-10-30 11:59:19 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2128 add OMX_PERFORMANCE debug category
2129 Can be used to log buffers exchange between OMX and gst-omx to profile
2130 performances of the OMX component.
2131 Ideally this should be done using tracer hooks but it's currently not
2132 possible to define custom hooks outside of core.
2133 Use GST_DEBUG="OMX_PERFORMANCE:8" to enable it.
2135 https://github.com/gdesmott/gst-log-parser/blob/master/src/bin/omx-perf.rs
2136 as a simple program consuming those logs to generate gnuplot files and
2138 https://bugzilla.gnome.org/show_bug.cgi?id=791093
2140 2017-07-27 11:21:59 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2144 * omx/gstomxvideoenc.c:
2145 * omx/gstomxvideoenc.h:
2146 omxvideoenc: implement dmabuf import on zynqultrascaleplus
2147 The Zynq UltraScale+ encoder implements a custom OMX extension to
2148 directly import dmabuf saving the need of mapping input buffers.
2149 This can be use with either 'v4l2src io-mode=dmabuf' or an OMX video
2151 https://bugzilla.gnome.org/show_bug.cgi?id=792361
2153 2017-09-22 16:02:40 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2155 * omx/gstomxvideoenc.c:
2156 omxvideoenc: drop late input frames if QoS is enabled
2157 Make use of the new GstVideoEncoder QoS API to drop late input frames. This may
2158 help a live pipeline to catch up if it's being late and all frames end up
2159 being dropped at the sink.
2160 https://bugzilla.gnome.org/show_bug.cgi?id=792783
2162 2018-01-19 15:18:23 +0530 Ashish Kumar <kr.ashish@samsung.com>
2164 * examples/egl/testegl.c:
2165 TestEgl: Removed redundant/unused code
2166 https://bugzilla.gnome.org/show_bug.cgi?id=788550
2168 2018-01-03 16:07:18 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2170 * omx/gstomxvideoenc.c:
2171 omxvideoenc: early return in fill_buffer() if something goes wrong
2172 If something goes wrong while trying to manually copy the input buffer,
2173 the 'break' was moving us out of the 'for' loop but not out of the switch block.
2174 So we ended up calling gst_video_frame_unmap() a second time (raising
2175 assertions) and returning TRUE rather than FALSE.
2176 Reproduced with a WIP zynqultrascaleplus OMX branch reporting wrong
2177 buffer sizes and so triggering this bug.
2178 https://bugzilla.gnome.org/show_bug.cgi?id=792167
2180 2017-12-19 16:09:41 +0000 Tim-Philipp Müller <tim@centricular.com>
2183 meson: gl: the winsys and platform list in the .pc file is space-separated
2185 2017-12-19 16:08:58 +0000 Tim-Philipp Müller <tim@centricular.com>
2188 meson: fix subproject fallback for gstreamer-gl-1.0
2191 2017-12-12 17:30:27 +0000 Julien Isorce <jisorce@oblong.com>
2193 * omx/gstomxvideo.c:
2194 * omx/gstomxvideo.h:
2195 * omx/gstomxvideodec.c:
2196 omxvideodec: ignore very little variations of the framerate
2198 The dynamic format change should not happen when the
2199 resolution does not change and when only the framerate
2200 changes but very slightly, i.e. from 50000/1677=29.81
2201 to 89/3=29.66 so a "percentage change" of less than 1%
2202 (i.e. 100*(29.81-29.66)/29.66 = 0.50 < 1 ). In that case
2203 just ignore it to avoid unnecessary renegotiation.
2204 https://bugzilla.gnome.org/show_bug.cgi?id=759043
2206 2017-08-09 12:07:33 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2208 * omx/gstomxvideodec.c:
2209 * omx/gstomxvideodec.h:
2210 omxvideodec: use dynamic buffer mode on input if possible
2211 Prevent from copying the input buffers between GStreamer and OMX.
2212 Tested on zynqultrascaleplus and rpi (without dynamic buffers).
2213 https://bugzilla.gnome.org/show_bug.cgi?id=787093
2215 2017-07-20 16:35:31 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2217 * omx/gstomxvideoenc.c:
2218 * omx/gstomxvideoenc.h:
2219 omxvideoenc: use dynamic buffer mode on input if possible
2220 If the OMX component supports dynamic buffer mode and the input buffers
2221 are properly aligned avoid copying each input frame between OMX and
2223 Tested on zynqultrascaleplus and rpi (without dynamic buffers).
2224 https://bugzilla.gnome.org/show_bug.cgi?id=787093
2226 2017-07-20 12:56:37 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2228 * omx/gstomxvideodec.c:
2229 * omx/gstomxvideoenc.c:
2230 omxvideoenc/dec: factor out input buffer allocation
2231 No semantic change so far. I'm going to add an alternate way to allocate
2233 https://bugzilla.gnome.org/show_bug.cgi?id=787093
2235 2017-07-20 16:31:54 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2239 omx: add API to implement dynamic buffers support
2240 OMX 1.2.0 introduced a third way to manage buffers by allowing
2241 components to only allocate buffers header during their initialization
2242 and change their pBuffer pointer at runtime.
2243 This new feature can save us a copy between GStreamer and OMX for each
2245 This patch adds API to allocate and use such buffers.
2246 https://bugzilla.gnome.org/show_bug.cgi?id=787093
2248 2017-12-14 14:53:17 +1100 Matthew Waters <matthew@centricular.com>
2251 Automatic update of common submodule
2252 From e8c7a71 to 3fa2c9e
2254 2017-12-13 12:06:40 +0000 Julien Isorce <jisorce@oblong.com>
2256 * omx/gstomxvideodec.c:
2257 omxvideodec: consolidate the decision to try UseBuffer
2258 The tee element can call gst_query_add_allocation_pool with pool as NULL.
2259 Checking nth > 0 is not enough so we need to verify if there is a pool.
2260 https://bugzilla.gnome.org/show_bug.cgi?id=730758
2261 https://bugzilla.gnome.org/show_bug.cgi?id=784069
2263 2017-12-12 14:45:30 +0000 Julien Isorce <jisorce@oblong.com>
2265 * omx/gstomxvideo.c:
2266 * omx/gstomxvideo.h:
2267 * omx/gstomxvideodec.c:
2268 * omx/gstomxvideoenc.c:
2269 gstomxvideodec: fix framerate overflow
2270 Some live streams can set the framerate to 50000/1677 (=29.81).
2271 GstVideoInfo.fps_n << 16 is wrong if the fps_n is 50000
2272 (i.e. greater than 32767).
2273 https://bugzilla.gnome.org/show_bug.cgi?id=759043
2275 2017-08-22 13:48:26 +0100 Julien Isorce <jisorce@oblong.com>
2278 * examples/egl/Makefile.am:
2279 * examples/egl/meson.build:
2280 * examples/egl/testegl.c:
2282 example: port testegl.c to desktop
2283 Will be easier to maintain.
2284 Also uniformize autotool build with meson build which is
2285 already retrieving the gl libs.
2286 https://bugzilla.gnome.org/show_bug.cgi?id=781606
2288 2017-12-11 15:55:44 +0000 Julien Isorce <jisorce@oblong.com>
2291 meson: move omx features check after target selection
2292 And uses gst_omx_args instead of add_global_arguments.
2293 Similar to c69232852120d064c689caef07b3c68ad8fe6288
2294 which was only for configure.ac
2295 Useful to get omxvp8dec with meson too:
2296 meson . buildtmp -D with_omx_target=tizonia
2297 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2299 2017-12-04 17:11:04 +0000 Julien Isorce <jisorce@oblong.com>
2301 * config/tizonia/gstomx.conf.in:
2302 config: add OMX.Aratelia.audio_decoder.aac to Tizonia config
2303 Useful mostly for testing/debugging purpose as this is a software
2304 based decoder (libfaad) for which GStreamer provides a direct
2306 https://bugzilla.gnome.org/show_bug.cgi?id=791482
2308 2017-11-29 14:18:41 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2310 * omx/gstomxvideodec.c:
2311 omxvideodec: retrieve OMX_IndexParamVideoPortFormat before setting it
2312 The usual pattern when setting OMX params is to first get the struct
2313 param, override the values we want to set and then set the updated
2315 We were not doing this with OMX_IndexParamVideoPortFormat and so were
2316 resetting some fields such as OMX_VIDEO_PARAM_PORTFORMATTYPE.xFramerate
2317 https://bugzilla.gnome.org/show_bug.cgi?id=790979
2319 2017-05-21 17:34:51 +0100 Julien Isorce <jisorce@oblong.com>
2321 * omx/gstomxaacenc.c:
2322 omxaacenc: also set 'profile' if mpegversion is 4
2323 Like done by gst_codec_utils_aac_caps_set_level_and_profile
2324 which is called by avenc_aac, ffaac and voaacenc.
2325 https://bugzilla.gnome.org/show_bug.cgi?id=735208
2327 2017-10-24 12:19:50 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2330 omx: wait for flush complete and buffers being released when flushing
2331 As stated in the existing comment, when flusing we should wait for OMX
2332 to send the flush command complete event AND all ports being released.
2333 We were stopping as soon as one of those condition was met.
2334 Fix a race between FillThisBufferDone/EmptyBufferDone and the flush
2335 EventCmdComplete messages. The OMX implementation is supposed to release
2336 its buffers before posting the EventCmdComplete event but the ordering
2337 isn't guaranteed as the FillThisBufferDone/EmptyBufferDone and
2338 EventHandler callbacks can be called from different threads (cf 2.7
2339 'Thread Safety' in the spec).
2340 https://bugzilla.gnome.org/show_bug.cgi?id=789475
2342 2017-10-24 11:45:20 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2345 gst_omx_port_set_flushing: simplify waiting loop
2346 No semantic change so far, I just made the 'while' end condition easier
2347 to understand as a first step before changing it.
2348 - move error/time out checks inside the loop to make it clearer on what
2349 we are actually waiting for.
2350 - group port->buffers checks together with parenthesis as they are part
2351 of the same conceptual check: waiting for all buffers to be released.
2352 https://bugzilla.gnome.org/show_bug.cgi?id=789475
2354 2017-11-27 20:17:17 +1100 Matthew Waters <matthew@centricular.com>
2357 Automatic update of common submodule
2358 From 3f4aa96 to e8c7a71
2360 2017-11-23 15:03:48 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2362 * omx/gstomxh264enc.c:
2363 * omx/gstomxh264utils.c:
2364 zynqultrascaleplus: add support for extra AVC levels
2365 The Zynqultrascaleplus has support for extra AVC levels not defined in
2366 the OMX spec as a customer extension.
2367 https://bugzilla.gnome.org/show_bug.cgi?id=790758
2369 2017-10-16 14:47:07 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2373 * config/meson.build:
2376 * tests/Makefile.am:
2377 * tests/check/.gitignore:
2378 * tests/check/Makefile.am:
2379 * tests/check/generic/.gitignore:
2380 * tests/check/generic/states.c:
2381 * tests/check/meson.build:
2382 * tests/meson.build:
2384 Most of the boilerplate and the states test has been copied from
2386 https://bugzilla.gnome.org/show_bug.cgi?id=789094
2388 2017-10-17 13:07:05 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2391 * tools/meson.build:
2392 meson: add tools support
2393 Looks like the tools directory was left out during the initial port to
2395 https://bugzilla.gnome.org/show_bug.cgi?id=789090
2397 2017-10-16 14:24:50 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2400 omx: fix build on rpi
2401 The nTimeStamp field is a OMX_TICKS struct on the rpi so use the proper
2403 Fix build on the build which has been broken by
2404 b3173144b7c1b12c9e1b7571f78659be45d813f6
2405 https://bugzilla.gnome.org/show_bug.cgi?id=789052
2407 2017-10-17 12:11:04 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2411 check if Allegro headers are present when building zynqultrascaleplus
2412 The Zynq UltraScale+ uses a custom version of OMX implementing several
2413 3rd party extensions. Make sure those are present when building this
2415 https://bugzilla.gnome.org/show_bug.cgi?id=788064
2417 2017-10-16 12:42:44 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2419 * omx/gstomxvideodec.c:
2420 omxvideodec: remove redundant debug message
2421 We have already a debug message right after.
2422 https://bugzilla.gnome.org/show_bug.cgi?id=789058
2424 2017-10-16 13:26:38 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2426 * omx/gstomxh265enc.c:
2427 * omx/gstomxh265utils.c:
2428 omxh265: fix enum casting when using Allegro HEVC extensions
2429 Allegro's HEVC implementation defines a superset of the profiles and
2430 enums from the Android implementation.
2431 Properly cast to fix -Wenum-conversion warnings from clang.
2432 https://bugzilla.gnome.org/show_bug.cgi?id=789057
2434 2017-10-16 13:08:12 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2436 * omx/gstomxh265enc.c:
2437 * omx/gstomxvp8dec.c:
2438 properly cast extension enums
2439 OMX's allow 3rds party to define extensions using their own enums
2440 (like OMX_VIDEO_CODINGEXTTYPE) and to be used as the general
2441 ones (like OMX_VIDEO_CODINGTYPE).
2442 Properly cast those to fix -Wenum-conversion warnings from some
2443 compilers such as clang.
2444 https://bugzilla.gnome.org/show_bug.cgi?id=789057
2446 2017-10-09 13:12:35 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2449 omx: also reset nTimeStamp when re-using buffers
2450 Some OMX implementations may check if the timestamp of the output buffers
2451 they receive is actually not set.
2452 https://bugzilla.gnome.org/show_bug.cgi?id=788711
2454 2017-10-04 17:11:55 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2457 omx: factor out gst_omx_buffer_reset()
2458 https://bugzilla.gnome.org/show_bug.cgi?id=788711
2460 2017-10-09 17:27:22 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2464 * omx/gstomxvideodec.c:
2465 * omx/gstomxvideoenc.c:
2466 add gst_omx_buffer_flags_to_string()
2467 Make debug logs more readable so users don't have to manually figure out
2468 the meaning of flags.
2469 https://bugzilla.gnome.org/show_bug.cgi?id=788767
2471 2017-09-27 19:47:29 +0530 Ponnam Srinivas <p.srinivas@samsung.com>
2473 * omx/gstomxh263enc.c:
2474 h263enc: fix caps leak in error code path
2475 https://bugzilla.gnome.org/show_bug.cgi?id=788245
2477 2017-09-21 15:21:36 +0530 Ponnam Srinivas <p.srinivas@samsung.com>
2479 * omx/gstomxh264enc.c:
2480 omxh264enc: fix caps leak
2481 https://bugzilla.gnome.org/show_bug.cgi?id=787711
2483 2017-09-21 11:36:46 +0530 Ponnam Srinivas <p.srinivas@samsung.com>
2485 * omx/gstomxh265enc.c:
2486 omxh265enc: fix caps leak
2487 https://bugzilla.gnome.org/show_bug.cgi?id=787714
2489 2017-09-13 15:32:51 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2491 * omx/gstomxvideodec.c:
2492 omxvideodec: log info about frame before releasing it
2493 gst_video_decoder_release_frame() takes ownership of the frame and will
2494 destroy it. So we should no longer use it after calling it.
2495 https://bugzilla.gnome.org/show_bug.cgi?id=787628
2497 2017-08-20 20:19:33 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2500 configure: Show tizonia target in help
2501 https://bugzilla.gnome.org/show_bug.cgi?id=786544
2503 2017-07-12 14:35:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2505 * config/zynqultrascaleplus/gstomx.conf:
2508 * omx/gstomxh265dec.c:
2509 * omx/gstomxh265dec.h:
2511 omxh265dec: add H265 decoder
2512 Add HEVC decoder for the zynqultrascaleplus platform.
2513 I used the H264 decoder code as a template.
2514 https://bugzilla.gnome.org/show_bug.cgi?id=785434
2516 2017-07-12 11:01:15 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2518 * config/zynqultrascaleplus/gstomx.conf:
2523 * omx/gstomxh265enc.c:
2524 * omx/gstomxh265enc.h:
2525 * omx/gstomxh265utils.c:
2526 * omx/gstomxh265utils.h:
2528 omxh265enc: add H265 encoder
2529 The OMX spec doesn't support HEVC but the OMX stack of the
2530 zynqultrascaleplus adds it as a custom extension.
2531 It uses the same API as the one of Android's OMX stack.
2532 I used the H264 encoder code as a template.
2533 https://bugzilla.gnome.org/show_bug.cgi?id=785434
2535 2017-08-28 13:56:22 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2537 * omx/gstomxvideoenc.c:
2538 omxvideoenc: use caps from query in propose_allocation
2539 Prevent crash by not deferencing a NULL pointer if self->input_state
2540 isn't defined when propose_allocation() is called.
2541 https://bugzilla.gnome.org/show_bug.cgi?id=786442
2543 2017-09-04 09:34:03 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2546 omx: display states as string if changing failed
2547 Improve the error message by displaying the states in their string
2548 representation rather than their numerical value.
2549 https://bugzilla.gnome.org/show_bug.cgi?id=787235
2551 2017-08-22 10:22:45 +0100 Julien Isorce <jisorce@oblong.com>
2553 * omx/gstomxvideodec.c:
2554 omxvideodec: EGLDisplay is not indirectly defined by gstgl headers inclusion
2555 Just use gpointer as done in GstGL to not include
2556 EGL/egl.h just for EGLDisplay.
2557 https://bugzilla.gnome.org/show_bug.cgi?id=784779
2559 2017-07-14 16:34:04 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2561 * config/tizonia/gstomx.conf.in:
2562 config: expose OMX.mesa h264 decoder and encoder in Tizonia config
2563 https://bugzilla.gnome.org/show_bug.cgi?id=783976
2565 2017-08-11 07:48:37 -0700 Julien Isorce <jisorce@oblong.com>
2567 * omx/gstomxvideodec.c:
2568 omxvideodec: remove wrong SettingsChanged ack
2569 Partially revert 1b7d0b8:
2570 omxvideodec: handle IL 1.2 behavior for OMX_SetParameter
2571 It turned out it was a problem in the decoder which was
2572 not updating some local variables upon SetParameter.
2573 https://bugzilla.gnome.org/show_bug.cgi?id=783976
2575 2017-07-20 09:43:19 +0100 Julien Isorce <jisorce@oblong.com>
2577 * omx/gstomxaudiodec.c:
2578 * omx/gstomxaudioenc.c:
2579 * omx/gstomxvideodec.c:
2580 * omx/gstomxvideoenc.c:
2581 omx{audio,video}{dec,enc}: sequentially disable ports because buffers are not shared
2582 For the history, the parallel disable port has been introduced by:
2583 "00be69f omxvideodec: Disable output port when setting a new format"
2584 and then replicated to videoenc, audiodec and audioenc.
2585 This is only required to do 'parallel' if buffers are shared between ports.
2586 But for decoders and encoders the input and output buffer are of different
2587 nature by definition (bitstream vs images). So they cannot be shared.
2588 Also starting from IL 1.2.0 it is written in the spec that the parallel
2589 disable is not allowed and will return an error. Except when buffers are
2591 Again here we know in advance that they are not shared so let's always
2592 do a sequential disable.
2593 Tested on Desktop, rpi and zynqultrascaleplus.
2594 https://bugzilla.gnome.org/show_bug.cgi?id=786348
2596 2017-08-17 12:26:05 +0100 Tim-Philipp Müller <tim@centricular.com>
2599 Automatic update of common submodule
2600 From 48a5d85 to 3f4aa96
2602 2017-08-10 12:16:53 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2604 * omx/gstomxvideodec.c:
2605 omxvideodec: use the decoder API to set latency
2606 https://bugzilla.gnome.org/show_bug.cgi?id=785125
2608 2017-07-06 14:19:19 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2610 * omx/gstomxvideodec.c:
2611 * omx/gstomxvideoenc.c:
2612 omxvideoenc/dec: declare latency on zynqultrascaleplus
2613 The OMX specification doesn't provide any API to expose the latency
2614 introduced by encoders and decoders. We implemented this as a custom
2615 extension as declaring the latency is needed for live pipelines like
2617 https://bugzilla.gnome.org/show_bug.cgi?id=785125
2619 2017-08-07 13:16:01 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2621 * omx/gstomxvideoenc.c:
2622 omxvideoenc: adjust stride and slice height from input
2623 Use the stride and slice height information from the first buffer meta
2624 data to adjust the settings of the input port.
2625 This will ensure that the OMX input buffers match the GStreamer ones
2626 and so will save us from having to copy line-by-line each one.
2627 This is also the first step to allow the OMX encoder to receive dmabuf.
2628 Tested on rpi and zynqultrascaleplus.
2629 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2631 2017-08-07 11:45:29 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2633 * omx/gstomxvideoenc.c:
2634 omxvideoenc: delay buffer configuration until component is enabled
2635 No significant change for now. Just delay the input port configuration
2636 of the buffer size related fields (stride, slice height, buffer size)
2637 until the component is activated.
2638 This will allow us to use the actual stride/height of the first input
2639 and so avoid the buffer copying code path in most cases.
2640 Tested on rpi and zynqultrascaleplus.
2641 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2643 2017-07-24 13:52:35 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2645 * omx/gstomxvideodec.c:
2646 * omx/gstomxvideoenc.c:
2647 omxvideodec/enc: delay allocation after the allocation query
2648 Allocating OMX components buffers in set_format() is too early.
2649 Doing it when receiving the first buffers will allow the element to use
2650 the information from the allocation query and/or the first incoming
2651 buffer to pick to best allocation mode.
2652 Tested on raspberry pi with dynamic resolution changes on decoder and
2654 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2656 2017-07-25 14:27:45 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2658 * omx/gstomxvideoenc.c:
2659 omxvideoenc: start src thread in handle_frame()
2660 Makes the code simpler as we no longer need to restart the thread in
2661 gst_omx_video_enc_flush() and It's more symetric which the omxvideodec
2663 I'm also going to move the enabling of the OMX component in
2664 handle_frame() and the src pad thread needs to be started after it.
2665 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2667 2017-07-25 14:07:30 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2669 * omx/gstomxvideodec.c:
2670 omxvideodec: earlier return if downstream_flow_ret is not OK
2671 There is no point to (re)start the src thread if, for example, we are
2673 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2675 2017-07-24 12:31:37 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2677 * omx/gstomxvideodec.c:
2678 * omx/gstomxvideodec.h:
2679 omxvideodec: factor out enable and disable code
2680 No semantic change, just factor out the code enabling and disabling the
2681 component to their own functions.
2682 Makes the code easier to read as the set_format() method was already
2683 pretty big. Will also allow us to easily change the enabling logic.
2684 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2686 2017-07-24 12:31:37 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2688 * omx/gstomxvideoenc.c:
2689 * omx/gstomxvideoenc.h:
2690 omxvideoenc: factor out enable and disable code
2691 No semantic change, just factor out the code enabling and disabling the
2692 component to their own functions.
2693 Makes the code easier to read as the set_format() method was already
2694 pretty big. Will also allow us to easily change the enabling logic.
2695 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2697 2017-07-27 12:12:01 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2700 omx: also reset nFilledLen before calling OMX_FillThisBuffer()
2701 The spec states that the buffer passed to OMX_FillThisBuffer() needs to be
2702 empty. Some implementation may check it actually is by checking its
2703 nFilledLen field, so best to reset it as well.
2704 https://bugzilla.gnome.org/show_bug.cgi?id=785623
2706 2017-07-17 21:06:47 +0100 Julien Isorce <jisorce@oblong.com>
2708 * omx/gstomxvideodec.c:
2709 * omx/gstomxvideodec.h:
2710 omxvideodec: make generic the OMX_UseEGLImage code path
2711 Will be easier to maintain and to make enhancements.
2712 Tested with Tizonia on Desktop.
2713 Also tested with Bellagio to make sure it does not crash when
2714 calling OMX_UseEGLImage and indeed it returns NotImplemented.
2715 Then gst-omx fallback to OMX_UseBuffer if it can and so on.
2716 Also tested on rpi to make sure there is no regression.
2717 https://bugzilla.gnome.org/show_bug.cgi?id=784365
2719 2017-07-21 11:52:00 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
2721 * omx/gstomxvideodec.c:
2722 omxvideodec: Fix segment seek
2723 On segment seek, unlike EOS, we drain, but we cannot expect a flush
2724 later to reset the decoder state. As a side effect, the decoder would
2725 remain in EOS state and ignore any new incoming buffers.
2726 To fix this, we call _flush() inside the _drain() function, and
2727 _finish() becomes what _drain() was before. This way, for _finish() (the
2728 eos case) we only drain, for _drain() triggered by segment seek or new
2729 caps, we also reset the decoder state so it's ready to accept buffers.
2730 https://bugzilla.gnome.org/show_bug.cgi?id=785237
2732 2017-07-10 15:00:58 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2734 * omx/gstomxvideoenc.c:
2735 omxvideoenc: ensure enough buffers are allocated in the pool
2736 Handle allocation query and ensure enough buffers are allocated in
2737 the negotiated pool. This help preventing buffer starvation in the pipeline.
2738 https://bugzilla.gnome.org/show_bug.cgi?id=785122
2740 2017-07-04 12:16:39 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2745 * omx/gstomxbufferpool.c:
2746 * omx/gstomxbufferpool.h:
2747 * omx/gstomxvideodec.c:
2748 * omx/gstomxvideodec.h:
2750 omxvideodec: add dmabuf support for output
2751 The zynqultrascaleplus OMX implementation has a custom extension
2752 allowing decoders to output dmabuf and so avoid buffers copy between OMX
2754 Make use of this extension when built on the zynqultrascaleplus. The
2755 buffer pool code should be re-usable for other platforms as well.
2756 https://bugzilla.gnome.org/show_bug.cgi?id=784847
2758 2017-06-20 00:13:33 +0100 Julien Isorce <jisorce@oblong.com>
2760 * config/tizonia/gstomx.conf.in:
2761 config: add OMX.Aratelia.video_decoder.vp8 to Tizonia config
2762 Useful mostly for testing/debugging purpose as this is a software
2763 based encoder (libvpxdec) for which GStreamer provides a direct
2765 https://bugzilla.gnome.org/show_bug.cgi?id=783976
2767 2017-06-19 23:56:02 +0100 Julien Isorce <jisorce@oblong.com>
2769 * omx/gstomxvideodec.c:
2770 omxvideodec: handle IL 1.2 behavior for OMX_SetParameter
2771 It triggers SettingsChanged on the other port and it is up to
2772 the client to decide if it should lead to a port reconfiguration.
2773 Settings are propagated to the other port for fields they have
2774 in common. But this event is only triggered on the other port
2775 if it actually change a setting.
2776 https://bugzilla.gnome.org/show_bug.cgi?id=783976
2778 2017-07-18 23:41:17 +0100 Julien Isorce <jisorce@oblong.com>
2780 * config/tizonia/gstomx.conf.in:
2781 config: set rank to 0 for Tizonia's mp3 decoder
2782 Should have been 0 from the initial commit
2783 eed49b4231a063639f90279c8044404c2149902a
2785 2017-07-17 21:03:55 +0100 Julien Isorce <jisorce@oblong.com>
2787 * omx/gstomxvideodec.c:
2788 omxvideodec: fix file permissions
2789 Introduced by ebc9b4903cbdac2793c24b05a1bb7acc3b67fae5
2791 2017-06-29 23:17:26 +0100 Julien Isorce <jisorce@oblong.com>
2793 * omx/gstomxvideodec.c:
2794 omxvideodec: fix buffer leak when eglimage setup fails
2795 Can happen if gst_buffer_pool_acquire_buffer succeeds but
2796 gst_buffer_n_memory (buffer) is not exactly 1.
2797 In theory this should not happen because the decoder requests
2798 EGLImage(RGBA) but better to fix any leak on corner cases.
2799 https://bugzilla.gnome.org/show_bug.cgi?id=784365
2801 2017-07-17 18:36:36 +0530 Satya Prakash Gupta <sp.gupta@samsung.com>
2804 omx: Possible Memory leak in gst_caps_from_string
2805 https://bugzilla.gnome.org/show_bug.cgi?id=784978
2807 2017-07-17 15:48:44 +0530 Satya Prakash Gupta <sp.gupta@samsung.com>
2809 * omx/gstomxvideoenc.c:
2810 omxvideoenc: Fix deadlock in error case when draining
2811 https://bugzilla.gnome.org/show_bug.cgi?id=784972
2813 2017-07-17 13:44:54 +0530 Satya Prakash Gupta <sp.gupta@samsung.com>
2815 * omx/gstomxaudioenc.c:
2816 omxaudioenc: Fix deadlock in error case when draining
2817 https://bugzilla.gnome.org/show_bug.cgi?id=784967
2819 2017-06-02 12:36:30 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2824 build: include OMX_IndexExt and OMX_ComponentExt if present
2825 These files may be used by OMX implementation to define custom extensions.
2826 Include them if present as we are already doing with OMX_VideoExt.h
2827 https://bugzilla.gnome.org/show_bug.cgi?id=784847
2829 2017-07-13 16:40:26 +1000 Jan Schmidt <jan@centricular.com>
2831 * omx/gstomxh264enc.c:
2832 omxh264enc: Re-add periodicty-idr property for backward compat
2833 Retain backwards compatibility by adding a duplicate
2834 property for periodicty-idr
2835 https://bugzilla.gnome.org/show_bug.cgi?id=784370
2837 2017-06-30 15:15:06 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2839 * omx/gstomxh264enc.c:
2840 omxh264enc: fix typo in "periodicty-idr" property name
2841 Also fix the 'nick' of the property.
2842 https://bugzilla.gnome.org/show_bug.cgi?id=784370
2844 2017-06-29 22:48:47 +0100 Julien Isorce <jisorce@oblong.com>
2846 * omx/gstomxvideodec.c:
2847 * omx/gstomxvideodec.h:
2848 omxvideodec: use OMX_UseBuffer
2849 For example this allows the omx decoder to directly fill the
2850 pixmaps coming from the video sink.
2851 It only avoids a buffer copy when the decoder uses a pool provided
2852 by a downstream element. So let's restrict this usage to situations
2853 where the decoder decides to use a downstream buffer pool.
2854 Tested with Tizonia/OMX.Aratelia.video_decoder.vp8
2855 and with Bellagio/OMX.mesa.video_decoder.avc.
2856 If it fails to setup buffers with OMX_UseBuffer the decoders
2857 fallbacks to usual OMX_AllocateBuffer.
2858 Also it allows to test on desktop the GstOMXBufferPool->other_pool
2859 management which was previously only used in the OMX_UseEGLImage
2861 https://bugzilla.gnome.org/show_bug.cgi?id=784069
2863 2017-07-12 10:29:16 +0100 Julien Isorce <jisorce@oblong.com>
2866 omx: do not always print an error if OMX_{UseBuffer,EGLImage} fails
2867 Let the caller decide to print an error. Because it can be part of
2868 a normal trial path.
2869 https://bugzilla.gnome.org/show_bug.cgi?id=784069
2871 2017-07-12 16:00:53 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2874 meson: add gstomxmp3enc
2875 Commit 02d493e85921596f7cac7ef4af02fde500e9a5d8 didn't add
2876 gstomxmp3enc.c to meson.
2877 https://bugzilla.gnome.org/show_bug.cgi?id=784848
2879 2017-05-23 10:32:58 +0100 Julien Isorce <jisorce@oblong.com>
2881 * config/tizonia/gstomx.conf.in:
2882 config: add OMX.Aratelia.audio_encoder.mp3 to Tizonia config
2883 Useful mostly for testing/debugging purpose as this is a software
2884 based encoder (libmp3lame) for which GStreamer provides a direct
2886 https://bugzilla.gnome.org/show_bug.cgi?id=782988
2888 2017-05-23 10:32:06 +0100 Julien Isorce <jisorce@oblong.com>
2892 * omx/gstomxmp3enc.c:
2893 * omx/gstomxmp3enc.h:
2894 omx: add gstomxmp3enc
2895 Initial support and only tested with the software based
2896 encoder OMX.Aratelia.audio_encoder.mp3 from Tizonia which
2897 internally uses libmp3lame.
2898 https://bugzilla.gnome.org/show_bug.cgi?id=782988
2900 2017-03-28 16:27:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2902 * config/zynqultrascaleplus/gstomx.conf:
2905 * omx/gstomxh264dec.c:
2906 h264dec: add hack to pass profile and level to OMX
2907 This information can be useful to zynqultrascaleplus decoders. They may
2908 use this information to reduce startup latency by configuring itself
2909 before receiving the first frames.
2910 We also have a custom OMX extension allowing the decoder to report the
2911 latency. The profile/level information helps it reporting a more
2912 accurate latency earlier.
2913 https://bugzilla.gnome.org/show_bug.cgi?id=783114
2915 2017-07-03 13:17:11 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2918 * omx/gstomxh264enc.c:
2919 * omx/gstomxh264utils.c:
2920 * omx/gstomxh264utils.h:
2922 omxh264enc: move profile and level parsing functions to their own files
2923 Will allow to re-use them in the decoder element.
2924 https://bugzilla.gnome.org/show_bug.cgi?id=783114
2926 2017-07-04 03:15:00 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2928 * config/meson.build:
2929 * config/tizonia/meson.build:
2931 * meson_options.txt:
2932 meson: Add tizonia option
2933 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2935 2017-04-29 02:56:59 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2938 * config/tizonia/Makefile.am:
2939 * config/tizonia/gstomx.conf.in:
2940 * config/tizonia/meson.build:
2942 config: add omxmp3dec config for tizonia
2943 GST_OMX_CONFIG_DIR=$HOME/gst/master/gst-omx/config/tizonia/ \
2944 gst-launch-1.0 filesrc location=mpthreetest.mp3 ! id3demux ! \
2945 mpegaudioparse ! omxmp3dec ! audioconvert ! pulsesink
2946 v2: [Nicolas] Use template to create gstomx.conf using pkg-config
2947 v3: [Nicolas] Ignore only config/tizonia/gstomx.conf
2948 v4: [Nicolas] Add "/" for single occurence
2949 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2951 2017-05-07 20:09:54 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2954 omx: always ignore OMX_ErrorPortUnpopulated
2955 It is safe to ignore it always. Tizonia notifies this error to pass
2956 some khronos conformance tests. Problem is that gst-omx saves this
2957 error in comp->last_error and then gst_omx_port_set_enabled early
2958 error out which fails the pipeline.
2959 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2961 2017-04-29 02:53:26 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2965 omx: guard some omx enums with IL version
2966 Some enums that existed in 1.1.2 just do not exit in 1.2.0
2967 See https://www.khronos.org/registry/OpenMAX-IL/specs/OpenMAX_IL_1_2_0_Specification_redline.pdf
2968 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2970 2017-04-29 01:56:01 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2973 configure.ac: add tizonia target for --with-omx-target flag.
2974 This will check for tizilheaders.pc which adds path to omx-il
2975 headers its cflags. Can be installed all together with the 1.2 headers
2976 with package tizilheaders if not building from sources:
2977 https://github.com/tizonia/tizonia-openmax-il
2978 It is also adviced to remove libomxil-bellagio-dev package because
2979 it installs headers /usr/include directly, ex: /usr/include/OMX_Video.h.
2980 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2982 2017-07-05 10:47:41 +0100 Julien Isorce <jisorce@oblong.com>
2984 * omx/gstomxaudioenc.c:
2985 omxaudioenc: update local port_def after reopening the component
2986 gst_omx_audio_enc_open will only update GstOMXAudioEnc->port->port_def.
2987 Note that the component is reopen only if the flag
2988 GST_OMX_HACK_NO_COMPONENT_RECONFIGURE is set.
2989 https://bugzilla.gnome.org/show_bug.cgi?id=782418
2991 2017-07-05 10:48:52 +0100 Julien Isorce <jisorce@oblong.com>
2993 * omx/gstomxvideoenc.c:
2994 omxvideoenc: update local port_def after reopening the component
2995 gst_omx_video_enc_open will only update GstOMXVideoEnc->port->port_def.
2996 Note that the component is reopen only if the flag
2997 GST_OMX_HACK_NO_COMPONENT_RECONFIGURE is set.
2998 https://bugzilla.gnome.org/show_bug.cgi?id=782418
3000 2017-05-10 12:38:39 +0900 Sejun Park <sejun79.park@samsung.com>
3002 * omx/gstomxvideodec.c:
3003 omxvideodec: update local port_def after reopening the component
3004 gst_omx_video_dec_open will only update GstOMXVideoDec->port->port_def.
3005 Note that the component is reopen only if the flag
3006 GST_OMX_HACK_NO_COMPONENT_RECONFIGURE is set.
3007 https://bugzilla.gnome.org/show_bug.cgi?id=782418
3009 2017-07-03 16:33:06 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3011 * omx/gstomxvideodec.c:
3012 omxvideodec: increase the minimum number of allocated buffers
3013 Ensure that enough buffers are allocated by adding up component's own
3014 minimal plus the number of buffers requested by downstream.
3015 This should prevent buffers starvation problem if downstream elements
3016 are holding some of the buffers they required.
3017 Also simplify the check on the maximum on buffers. What we actually care
3018 about is to make sure the pool can hold the minimum of required buffers.
3019 https://bugzilla.gnome.org/show_bug.cgi?id=784479
3021 2017-07-03 10:54:50 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3023 * omx/gstomxh264enc.c:
3024 omxh264enc: raise a warning if AVCIntraPeriod is not supported
3025 Some platforms may not implement OMX_IndexConfigVideoAVCIntraPeriod and
3026 use OMX_IndexParamVideoAvc instead to configure the GOP pattern.
3027 So raise a warning instead of an error if this API is not implemented.
3028 https://bugzilla.gnome.org/show_bug.cgi?id=784379
3030 2017-06-29 14:16:19 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3032 * omx/gstomxh264enc.c:
3033 * omx/gstomxh264enc.h:
3034 omxh264enc: add 'b-frames' property
3035 Add a property to control the number of B-frames produced by the
3036 encoder using the OMX_VIDEO_PARAM_AVCTYPE OMX API.
3037 https://bugzilla.gnome.org/show_bug.cgi?id=784379
3039 2017-06-30 14:18:35 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3041 * omx/gstomxh264enc.c:
3042 omxh264enc: fix typo in 'set_avc_intra_period'
3043 https://bugzilla.gnome.org/show_bug.cgi?id=784379
3045 2017-05-22 11:23:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3047 * config/Makefile.am:
3048 * config/meson.build:
3049 * config/zynqultrascaleplus/Makefile.am:
3050 * config/zynqultrascaleplus/gstomx.conf:
3051 * config/zynqultrascaleplus/meson.build:
3054 * meson_options.txt:
3055 add 'zynqultrascaleplus' as OMX target
3056 Adding support for the 'Zynq UltraScale+' as a new OMX target.
3057 See https://www.xilinx.com/products/silicon-devices/soc/zynq-ultrascale-mpsoc.html
3058 for details about the platform.
3059 https://bugzilla.gnome.org/show_bug.cgi?id=783097
3061 2017-05-21 15:23:09 +0100 Julien Isorce <jisorce@oblong.com>
3063 * config/bellagio/gstomx.conf:
3064 config: add OMX.mesa.video_decoder.{avc,mpeg2} for Bellagio config
3065 Install libomxil-bellagio0 and make sure mesa has been built with
3066 --enable-omx. Check there is /usr/lib/libomxil-bellagio0/libomx_mesa.so
3067 then run omxregister-bellagio to regenerate $XDG_DATA_HOME/.omxregister
3068 Then omxh264dec and omxmpeg2dec should load.
3069 https://bugzilla.gnome.org/show_bug.cgi?id=782926
3071 2017-05-18 13:50:56 +0100 Julien Isorce <jisorce@oblong.com>
3074 configure.ac: move omx features check after target selection
3075 Does not change anything, except this will be useful for future commits.
3076 Indeed some targets provide a .pc file where to look for the omx headers.
3077 https://bugzilla.gnome.org/show_bug.cgi?id=782800
3079 2017-06-29 16:48:07 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3081 * omx/gstomxh264dec.c:
3082 omxh264dec: remove 'parsed=true' from sink pad
3083 The decoder only requires to receive one frame per buffer which is
3084 already enforced with 'alignment=au'. There is no need to require to
3085 have a parser upstream.
3086 Allow to run "encode ! decode" pipeline without having a parser.
3087 https://bugzilla.gnome.org/show_bug.cgi?id=784344
3089 2017-06-16 13:28:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3091 * omx/gstomxh264enc.c:
3092 omxh264enc: set profile/level using OMX_VIDEO_PARAM_AVCTYPE as well
3093 The OMX specification defines two API to set the AVC profile and level:
3094 using OMX_VIDEO_PARAM_PROFILELEVELTYPE and OMX_VIDEO_PARAM_AVCTYPE.
3095 We were already supporting the former but not the latter. We are now
3096 setting both so implementation don't have to rely on a specific one.
3097 https://bugzilla.gnome.org/show_bug.cgi?id=783862
3099 2017-06-16 13:19:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3101 * omx/gstomxh264enc.c:
3102 omxh264enc: factor out update_param_profile_level()
3103 https://bugzilla.gnome.org/show_bug.cgi?id=783862
3105 2017-06-16 12:53:15 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3107 * omx/gstomxh264enc.c:
3108 omxh264enc: factor out string to profile/level enum conversion
3109 https://bugzilla.gnome.org/show_bug.cgi?id=783862
3111 2017-06-28 15:06:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3113 * omx/gstomxh264enc.c:
3114 omxh264enc: use OMX_IndexConfigBrcmVideoIntraPeriod on pi
3115 The OMX_VIDEO_CONFIG_AVCINTRAPERIOD.nPFrames setting isn't of any use on
3116 the raspbery pi. Instead it uses a custom extension to define the I
3118 https://bugzilla.gnome.org/show_bug.cgi?id=783829
3120 2017-06-28 15:03:52 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3122 * omx/gstomxh264enc.c:
3123 omxh264enc: factor out set_avc_intra_perdiod()
3124 https://bugzilla.gnome.org/show_bug.cgi?id=783829
3126 2017-06-02 12:48:57 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3129 meson: define HAVE_VIDEO_EXT if OMX_VideoExt.h is present
3130 Meson build wasn't defining the HAVE_VIDEO_EXT like configure.ac does.
3131 https://bugzilla.gnome.org/show_bug.cgi?id=783346
3133 2017-06-11 12:32:01 +0000 Graham Leggett <minfrin@sharp.fm>
3135 * omx/gstomxvideoenc.c:
3136 omxvideoenc: Improve debug output when setting codec state due to new codec_data fails
3137 https://bugzilla.gnome.org/show_bug.cgi?id=783657
3139 2017-05-20 14:49:20 +0100 Julien Isorce <jisorce@oblong.com>
3142 omx: allow 0 feature
3143 Previously the omx plugin was blacklisted if GST_OMX_CONFIG_DIR
3144 points to an invalid path or if the gstomx.conf contains 0 valid
3146 Problem is that once the plugin is blacklisted, a rescan is not
3147 triggered upon changes of the env var or the gstomx.conf file
3148 despite being setup with gst_plugin_add_dependency.
3149 This also makes it more consistent with other plugins that auto
3150 generate features. For example gst-{ffmeg,libav}, gstreamer-vaapi,
3152 To clarify the diff, the plugin_init func will return TRUE even if
3153 g_key_file_get_groups returns 0 element and even if
3154 g_key_file_load_from_dirs fails.
3155 https://bugzilla.gnome.org/show_bug.cgi?id=782867
3157 2017-04-26 22:52:17 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
3159 * config/bellagio/gstomx.conf:
3160 config: add OMX.st.audio_decoder.mp3.mad for Bellagio config
3161 MP3 Software decoder (libmad based) but useful for testing
3162 and to compare with other targets.
3163 GST_OMX_CONFIG_DIR=$HOME/gst/master/gst-omx/config/bellagio/ \
3164 gst-launch-1.0 filesrc location=mpthreetest.mp3 ! id3demux ! \
3165 mpegaudioparse ! omxmp3dec ! audioconvert ! pulsesink
3166 Didn't add 'local' in core-name path compared to other components
3167 in that same gstomx.conf file because OMX.st.audio_decoder.mp3.mad
3168 comes with the Ubuntu package 'libomxil-bellagio0-components-mad'.
3169 All other components listed in this gstomx.conf for Bellagio, are
3170 not provided by any Ubuntu packages. It could explain the 'local',
3171 i.e. requiring to build them from source.
3172 dpkg -L libomxil-bellagio0
3173 /usr/lib/libomxil-bellagio.so.0
3174 https://bugzilla.gnome.org/show_bug.cgi?id=781786
3175 Signed-off-by: Gurkirpal Singh <gurkirpal204@gmail.com>
3176 Signed-off-by: Julien Isorce <jisorce@oblong.com>
3178 2017-05-16 14:39:04 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
3181 Remove plugin specific static build option
3182 Static and dynamic plugins now have the same interface. The standard
3183 --enable-static/--enable-shared toggle are sufficient.
3185 2017-05-10 12:10:10 +0900 Sejun Park <sejun79.park@samsung.com>
3187 * omx/gstomxvideodec.c:
3188 omxvideodec: Removed unreachable code
3189 https://bugzilla.gnome.org/show_bug.cgi?id=782416
3191 2017-05-09 16:26:44 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3194 meson: add dep on GModule
3195 libgstomx uses the GModule API and so needs it in its dependencies list.
3196 https://bugzilla.gnome.org/show_bug.cgi?id=782387
3198 2017-05-09 13:27:28 +0000 Tim-Philipp Müller <tim@centricular.com>
3201 meson: fix config.h generation
3202 "No such input file config.h.meson", but it's not needed anyway.
3203 https://bugzilla.gnome.org/show_bug.cgi?id=782382
3205 2017-05-04 18:59:33 +0300 Sebastian Dröge <sebastian@centricular.com>
3211 === release 1.12.0 ===
3213 2017-05-04 15:48:56 +0300 Sebastian Dröge <sebastian@centricular.com>
3223 === release 1.11.91 ===
3225 2017-04-27 17:53:50 +0300 Sebastian Dröge <sebastian@centricular.com>
3235 2017-04-17 17:02:48 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3237 * omx/gstomxvideoenc.c:
3238 videoenc: use GST_ROUND_UP_N() macro
3239 Makes the code much easier to read and understand.
3240 https://bugzilla.gnome.org/show_bug.cgi?id=781409
3242 2017-04-24 20:30:21 +0100 Tim-Philipp Müller <tim@centricular.com>
3245 Automatic update of common submodule
3246 From 60aeef6 to 48a5d85
3248 2017-04-10 23:51:00 +0100 Tim-Philipp Müller <tim@centricular.com>
3252 Automatic update of common submodule
3253 From 39ac2f5 to 60aeef6
3255 === release 1.11.90 ===
3257 2017-04-07 16:36:45 +0300 Sebastian Dröge <sebastian@centricular.com>
3267 2017-04-07 14:27:23 +0300 Sebastian Dröge <sebastian@centricular.com>
3269 * omx/gstomxvideoenc.c:
3270 omxvideoenc: Fix compiler warning
3271 gstomxvideoenc.c: In function ‘gst_omx_video_enc_fill_buffer’:
3272 CC libgstomx_la-gstomxaacdec.lo
3273 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=]
3274 GST_LOG_OBJECT (self, "Matched strides - direct copy %u bytes",
3276 outbuf->omx_buf->nFilledLen);
3279 2017-03-22 17:18:09 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
3282 meson: fix logic to set HAVE_THEORA
3283 https://bugzilla.gnome.org/show_bug.cgi?id=780392
3285 2017-03-14 03:02:06 +1100 Jan Schmidt <thaytan@noraisin.net>
3287 * omx/gstomxvideoenc.c:
3288 omxvideoenc: Add an unimplemented mapping for RGBA formats
3289 Add some pixel formats mappings for 2 RGBA formats. Not yet
3290 implemented in the buffer input code though, so no effect for now.
3292 2017-03-14 03:00:49 +1100 Jan Schmidt <thaytan@noraisin.net>
3296 * omx/gstomxvideoenc.c:
3297 omxvideoenc: Add GST_OMX_HACK_HEIGHT_MULTIPLE_16 for Rpi
3298 The Raspberry Pi encoder produces corrupt output unless
3299 the input height is a multiple of 16. Add a hack that adds
3300 zero padding when needed.
3302 2017-03-14 02:42:15 +1100 Jan Schmidt <thaytan@noraisin.net>
3304 * omx/gstomxvideoenc.c:
3305 omxvideoenc: Add a mapping for OMX_COLOR_FormatYUV420PackedSemiPlanar
3308 2017-03-14 02:40:24 +1100 Jan Schmidt <thaytan@noraisin.net>
3310 * omx/gstomxvideoenc.c:
3311 omxvideoenc: Filter out unimplemented formats
3312 Don't announce pixel formats in the caps if they've not been
3315 2017-03-14 02:34:36 +1100 Jan Schmidt <thaytan@noraisin.net>
3317 * omx/gstomxvideodec.c:
3318 omxvideodec: demote ERROR message
3319 There's no need to warn about failing to negotiate EGL output
3320 - that can be perfectly normal.
3322 2017-02-24 16:00:29 +0200 Sebastian Dröge <sebastian@centricular.com>
3325 meson: Update version
3327 2017-02-24 15:38:17 +0200 Sebastian Dröge <sebastian@centricular.com>
3332 === release 1.11.2 ===
3334 2017-02-24 15:10:17 +0200 Sebastian Dröge <sebastian@centricular.com>
3343 2017-02-15 18:22:53 +0000 Tim-Philipp Müller <tim@centricular.com>
3346 meson: dist meson build files
3347 Ship meson build files in tarballs, so people who use tarballs
3348 in their builds can start playing with meson already.
3350 2017-01-13 16:23:12 +0000 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
3352 * omx/gstomxaacenc.c:
3353 omxaacenc: let encoder know about incoming rate/channels
3354 https://bugzilla.gnome.org/show_bug.cgi?id=777223
3356 2017-01-18 02:43:44 +1100 Matthew Waters <matthew@centricular.com>
3358 * config/bellagio/meson.build:
3359 * config/meson.build:
3360 * config/rpi/meson.build:
3361 * examples/egl/meson.build:
3362 * examples/meson.build:
3363 * hooks/pre-commit.hook:
3365 * meson_options.txt:
3367 build: add meson build definition
3368 Currently only been tested on the RPi within gst-build.
3370 2017-01-18 15:21:35 +1100 Matthew Waters <matthew@centricular.com>
3372 * examples/egl/testegl.c:
3373 examples/testegl: update for libgstgl changes
3375 2017-01-12 16:33:09 +0200 Sebastian Dröge <sebastian@centricular.com>
3380 === release 1.11.1 ===
3382 2017-01-12 16:26:55 +0200 Sebastian Dröge <sebastian@centricular.com>
3391 2017-01-10 15:29:08 +0000 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
3393 * omx/gstomxaudioenc.c:
3394 omxaudioenc: set base class format instead of just source pad caps
3396 2016-12-18 19:46:55 +0000 Graham Leggett <minfrin@sharp.fm>
3398 * omx/gstomxaudiodec.c:
3399 * omx/gstomxvideodec.c:
3400 omx*dec: Flush before we stop the srcpad loop
3401 Flushing could otherwise hang if output port queue of pending buffers was empty
3402 https://bugzilla.gnome.org/show_bug.cgi?id=774654
3404 2016-12-14 13:29:08 -0800 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
3407 Fix broken build due to syntax error
3408 Problem was introduced by 8716c23e2b0553db2982eb84c437f493c974385e
3410 2016-12-12 11:12:48 +0000 Graham Leggett <minfrin@sharp.fm>
3413 Prevent early EOS by resetting eos flag once GST_OMX_ACQUIRE_BUFFER_EOS is triggered
3414 https://bugzilla.gnome.org/show_bug.cgi?id=774600
3416 2016-12-12 11:09:15 +0000 Graham Leggett <minfrin@sharp.fm>
3419 Add clear debug logging on all the paths out of gst_omx_port_acquire_buffer()
3420 https://bugzilla.gnome.org/show_bug.cgi?id=774600
3422 2016-12-01 18:23:50 +0100 George Kiagiadakis <george.kiagiadakis@collabora.com>
3424 * config/rpi/gstomx.conf:
3427 Add a signals-premature-eos hack for egl_render
3428 egl_render seems to have a bug and signals EOS before it has finished
3429 pushing out all data; this hack simply makes acquire_buffer() wait
3430 a bit more before signalling EOS, in case egl_render decides to spit
3432 https://bugzilla.gnome.org/show_bug.cgi?id=741856
3434 2016-12-11 19:52:37 +0000 Graham Leggett <minfrin@sharp.fm>
3436 * omx/gstomxvideo.c:
3437 Add support for OMX_COLOR_FormatYUV420PackedSemiPlanar and OMX_COLOR_Format24bitBGR888
3438 https://bugzilla.gnome.org/show_bug.cgi?id=775959
3440 2016-12-03 08:20:46 +0100 Edward Hervey <bilboed@bilboed.com>
3443 Automatic update of common submodule
3444 From ac2f647 to 39ac2f5
3446 2016-11-26 11:27:58 +0000 Tim-Philipp Müller <tim@centricular.com>
3449 common: use https protocol for common submodule
3450 https://bugzilla.gnome.org/show_bug.cgi?id=775110
3452 2016-11-25 23:56:06 +0200 Sebastian Dröge <sebastian@centricular.com>
3455 omx: Fix compiler warning with latest clang
3456 gstomx.c:1376:42: error: implicit conversion from enumeration type 'GstOMXAcquireBufferReturn' to different enumeration type 'OMX_ERRORTYPE'
3457 (aka 'enum OMX_ERRORTYPE') [-Werror,-Wenum-conversion]
3458 g_return_val_if_fail (!port->tunneled, GST_OMX_ACQUIRE_BUFFER_ERROR);
3459 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3460 https://bugzilla.gnome.org/show_bug.cgi?id=775112
3462 2016-11-17 19:56:35 +1100 Matthew Waters <matthew@centricular.com>
3464 * omx/gstomxvideodec.c:
3465 videodecoder: remove use of EGLImage orientation
3466 New code should use GstVideoTransformationMeta
3467 (The defaults do the right thing here though).
3469 === release 1.11.0 ===
3471 2016-11-01 18:53:25 +0200 Sebastian Dröge <sebastian@centricular.com>
3476 === release 1.10.0 ===
3478 2016-11-01 18:20:48 +0200 Sebastian Dröge <sebastian@centricular.com>
3487 === release 1.9.90 ===
3489 2016-09-30 13:04:51 +0300 Sebastian Dröge <sebastian@centricular.com>
3499 2016-09-14 11:33:13 +0200 Sebastian Dröge <sebastian@centricular.com>
3502 configure: Depend on gstreamer 1.9.2.1
3504 2016-09-12 14:09:46 +0200 Sebastian Dröge <sebastian@centricular.com>
3508 omx: Also search for gstomx.conf in the autoconf --sysconfdir
3509 https://bugzilla.gnome.org/show_bug.cgi?id=770743
3511 2016-09-10 20:52:10 +1000 Jan Schmidt <jan@centricular.com>
3515 Automatic update of common submodule
3516 From b18d820 to f980fd9
3518 2016-09-10 09:58:16 +1000 Jan Schmidt <jan@centricular.com>
3522 Automatic update of common submodule
3523 From ac2f647 to b18d820
3525 2016-09-01 12:36:09 +0300 Sebastian Dröge <sebastian@centricular.com>
3530 === release 1.9.2 ===
3532 2016-09-01 12:35:58 +0300 Sebastian Dröge <sebastian@centricular.com>
3542 2016-07-11 21:15:48 +0200 Stefan Sauer <ensonic@users.sf.net>
3545 Automatic update of common submodule
3546 From ac2f647 to f49c55e
3548 2016-07-06 13:51:24 +0300 Sebastian Dröge <sebastian@centricular.com>
3553 === release 1.9.1 ===
3555 2016-07-06 13:48:45 +0300 Sebastian Dröge <sebastian@centricular.com>
3565 2016-06-29 16:37:43 +0900 Kazunori Kobayashi <kkobayas@igel.co.jp>
3567 * omx/gstomxvideodec.c:
3568 omxvideodec: Use GST_VIDEO_FRAME_PLANE_STRIDE() to get output buffer's stride
3569 GST_VIDEO_FRAME_PLANE_STRIDE() should be used to get the actual buffer stride,
3570 as reported in the buffers's GstVideoMeta, when copying data to that buffer.
3571 https://bugzilla.gnome.org/show_bug.cgi?id=768173
3573 2016-06-21 11:48:40 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
3576 Automatic update of common submodule
3577 From ac2f647 to f363b32
3579 2016-06-21 11:43:13 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
3581 * omx/gstomxaudioenc.c:
3582 omxaudioenc: implement GstPreset interface
3583 To allow user to use GstPreset to quickly save and load a set of
3585 https://bugzilla.gnome.org/show_bug.cgi?id=767907
3587 2016-06-21 11:41:15 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
3589 * omx/gstomxvideoenc.c:
3590 omxvideoenc: implement GstPreset interface
3591 To allow user to use GstPreset to quickly save and load a set of
3593 https://bugzilla.gnome.org/show_bug.cgi?id=767907
3595 2016-06-17 12:06:48 +0300 Sebastian Dröge <sebastian@centricular.com>
3599 * omx/gstomxaudiodec.c:
3600 * omx/gstomxaudioenc.c:
3601 * omx/gstomxvideo.c:
3602 * omx/gstomxvideodec.c:
3603 * omx/gstomxvideoenc.c:
3604 omx: #define OMX_SKIP64BIT on the RPi as required by their API
3605 Also add generic support for OMX_SKIP64BIT to gst-omx, in case other
3606 implementations also #define that for whatever reason.
3607 https://bugzilla.gnome.org/show_bug.cgi?id=766475
3609 2016-06-17 10:59:45 +0300 Sebastian Dröge <sebastian@centricular.com>
3611 * omx/gstomxvideodec.c:
3612 omxvideodec: Implement ::drain() virtual method
3613 https://bugzilla.gnome.org/show_bug.cgi?id=767641
3615 2016-06-04 19:31:45 +0100 Tim-Philipp Müller <tim@centricular.com>
3618 configure: remove AG_GST_PARSE_SUBSYSTEM_DISABLES
3619 This would check which subsystems are disabled in core by grepping
3620 gstconfig.h. Only problem is: gstconfig.h has moved into libdir now
3621 so we've been checking a non-existent file for a while now. The
3622 macro would just sets GST_DISABLE_* for use in configure.ac and
3623 Makefile.am, but we don't use that anywhere so just get rid of it
3624 (the one place where we use GST_DISABLE_GST_DEBUG is in a .c file
3625 which gets the define from the gstconfig.h include).
3626 https://bugzilla.gnome.org/show_bug.cgi?id=750056
3628 2016-01-20 03:10:38 +0900 Gwang Yoon Hwang <yoon@igalia.com>
3630 * examples/egl/testegl.c:
3631 * omx/gstomxvideodec.c:
3632 omxvideodec : Use gstglmemoryegl for the RPi
3633 Modified to use gstglmemoryegl to avoid texture creation/copy operations
3635 [Matthew Waters]: gst-indent the sources and port testegl to GstGLMemoryEGL
3636 https://bugzilla.gnome.org/show_bug.cgi?id=760918
3638 2016-04-14 10:04:32 +0100 Julien Isorce <j.isorce@samsung.com>
3641 Automatic update of common submodule
3642 From 6f2d209 to ac2f647
3644 2016-02-26 12:42:41 +0200 Sebastian Dröge <sebastian@centricular.com>
3647 Automatic update of common submodule
3648 From b64f03f to 6f2d209
3650 2016-02-17 20:51:03 +1100 Matthew Waters <matthew@centricular.com>
3652 * examples/egl/testegl.c:
3653 examples: update egl example for gstgl API changes
3654 https://bugzilla.gnome.org/show_bug.cgi?id=762053
3655 https://bugzilla.gnome.org/show_bug.cgi?id=753917
3657 2016-02-05 18:11:06 -0300 Thiago Santos <thiagoss@osg.samsung.com>
3661 Automatic update of common submodule
3662 From 86e4663 to b64f03f
3664 2015-12-21 00:43:49 +0100 Koop Mast <kwm@rainbow-runner.nl>
3667 configure: Make -Bsymbolic check work with clang.
3668 Update the -Bsymbolic check with the version glib has. This version
3670 https://bugzilla.gnome.org/show_bug.cgi?id=759713
3672 2015-12-07 09:11:32 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
3676 Automatic update of common submodule
3677 From b319909 to 86e4663
3679 2015-11-18 13:00:28 +0000 Enrique Ocaña González <eocanha@igalia.com>
3682 Remember the last_error after a failed set state call to avoid blocking the next get state call
3683 gst_omx_video_dec_flush() blocks forever in
3684 http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomxvideodec.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n2110
3685 when the previous call to gst_omx_component_set_state() fails in
3686 http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomx.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n827.
3687 To mitigate that, I set "last_error" to true, so the code in
3688 http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomx.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n862
3689 exits early and doesn't block.
3690 https://bugzilla.gnome.org/show_bug.cgi?id=758274
3692 2015-11-18 12:59:59 +0000 Enrique Ocaña González <eocanha@igalia.com>
3694 * omx/gstomxaudiodec.c:
3695 * omx/gstomxaudioenc.c:
3696 * omx/gstomxvideodec.c:
3697 * omx/gstomxvideoenc.c:
3698 Properly handle drain requests while flushing
3699 Without this commit the decoder streaming thread stops without ever attending
3700 the drain request, leaving the decoder input thread waiting forever.
3701 https://bugzilla.gnome.org/show_bug.cgi?id=758274
3703 2015-11-10 10:42:35 +0100 Nicolas Huet <nicolas.huet@parrot.com>
3706 omx: fix hacks leak on class init
3708 2015-10-21 14:37:13 +0100 Tim-Philipp Müller <tim@centricular.com>
3711 Automatic update of common submodule
3712 From b99800a to b319909
3714 2015-10-21 14:28:41 +0300 Sebastian Dröge <sebastian@centricular.com>
3717 Automatic update of common submodule
3718 From 9aed1d7 to b99800a
3720 2015-09-01 16:08:11 -0300 Thiago Santos <thiagoss@osg.samsung.com>
3722 * omx/gstomxaacdec.c:
3723 omxaacdec: Do not accept unknown layouts
3724 It was defaulting to RAW when an unknown layout was received but
3725 the caps template would actually forbid that on the caps query
3726 or accept-caps anyway.
3728 2015-09-01 08:59:54 -0300 Thiago Santos <thiagoss@osg.samsung.com>
3730 * omx/gstomxaudiodec.c:
3731 omxaudiodec: use default pad accept-caps handling
3732 Instead of the audiodecoder one. The OMX audioo decoders have their
3733 valid input in the template pad, so just check against that to
3734 avoid doing a query downstream.
3736 2015-08-28 12:57:33 -0300 Thiago Santos <thiagoss@osg.samsung.com>
3738 * omx/gstomxvideodec.c:
3739 omxvideodec: use default pad accept-caps handling
3740 Instead of the videodecoder one. The OMX video decoders have their
3741 valid input in the template pad, so just check against that to
3742 avoid doing a query downstream.
3744 2015-08-22 15:54:55 +0000 Graham Leggett <minfrin@sharp.fm>
3746 * omx/gstomxvideoenc.c:
3747 omxvideoenc: Add keyframe support for the Rpi, using OMX_IndexConfigBrcmVideoRequestIFrame
3748 https://bugzilla.gnome.org/show_bug.cgi?id=753085
3750 2015-08-20 17:20:50 +0900 Vineeth TM <vineeth.tm@samsung.com>
3752 * examples/egl/testegl.c:
3753 gst-omx: Fix memory leaks when context parse fails
3754 When g_option_context_parse fails, context and error variables are not getting free'd
3755 which results in memory leaks. Free'ing the same.
3756 And replacing g_error_free with g_clear_error, which checks if the error being passed
3757 is not NULL and sets the variable to NULL on free'ing.
3758 https://bugzilla.gnome.org/show_bug.cgi?id=753865
3760 2015-08-16 14:53:42 +0200 Philippe Normand <philn@igalia.com>
3762 * omx/gstomxh264dec.c:
3763 omxh264dec: implement is_format_change
3764 The omxvideodecoder class only checks some of the caps parameters but if
3765 other fields change such as h264 profile and/or level it wouldn't trigger a
3767 https://bugzilla.gnome.org/show_bug.cgi?id=752376
3769 2015-07-03 00:26:48 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
3771 * omx/gstomxvideodec.c:
3772 omxvideodec: unref allocator after getting it from allocation query
3773 Otherwise a reference will be leaked for each allocator. It only happens
3774 when target platform is Raspberry Pi and when we have GL support.
3775 https://bugzilla.gnome.org/show_bug.cgi?id=751867
3777 2015-07-03 21:59:54 +0200 Stefan Sauer <ensonic@users.sf.net>
3780 Automatic update of common submodule
3781 From f74b2df to 9aed1d7
3783 2015-06-16 17:50:14 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
3786 Automatic update of common submodule
3787 From 6015d26 to f74b2df
3789 2015-06-09 11:30:49 +0200 Edward Hervey <bilboed@bilboed.com>
3792 Automatic update of common submodule
3793 From d9a3353 to 6015d26
3795 2015-06-08 23:08:28 +0200 Stefan Sauer <ensonic@users.sf.net>
3798 Automatic update of common submodule
3799 From d37af32 to d9a3353
3801 2015-06-07 23:07:22 +0200 Stefan Sauer <ensonic@users.sf.net>
3804 Automatic update of common submodule
3805 From 21ba2e5 to d37af32
3807 2015-06-07 17:32:25 +0200 Stefan Sauer <ensonic@users.sf.net>
3810 Automatic update of common submodule
3811 From c408583 to 21ba2e5
3813 2015-06-07 17:16:43 +0200 Stefan Sauer <ensonic@users.sf.net>
3817 Automatic update of common submodule
3818 From c8fb372 to c408583
3820 2015-05-19 18:21:40 +0300 Sebastian Dröge <sebastian@centricular.com>
3822 * omx/gstomxaudiodec.c:
3823 * omx/gstomxaudiodec.h:
3824 omxaudiodec: Add an output adapter for chunking the output into codec frames
3825 Otherwise the base class will be confused.
3826 See https://bugzilla.gnome.org/show_bug.cgi?id=685730
3828 2015-04-26 18:24:13 +0100 Tim-Philipp Müller <tim@centricular.com>
3832 Remove obsolete Android build cruft
3833 This is not needed any longer.
3835 2015-04-22 10:40:22 +0200 Sebastian Dröge <sebastian@centricular.com>
3839 autotools automatically generate this, and when using different versions
3840 for autogen.sh there will always be changes to a file tracked by git.
3842 2015-04-08 15:57:59 +0100 Tim-Philipp Müller <tim@centricular.com>
3848 Add m4 directory so aclocal doesn't complain in autogen.sh
3849 Might come in handy, and these warnings seem to be
3850 fatal in some environments.
3851 You may need to git clean -x -d -f your tree before
3852 git pulling/merging.
3854 2015-04-07 22:25:57 +0100 Tim-Philipp Müller <tim@centricular.com>
3858 Update autogen.sh to latest version
3860 2015-04-03 18:58:17 +0100 Tim-Philipp Müller <tim@centricular.com>
3863 Automatic update of common submodule
3864 From bc76a8b to c8fb372
3866 2015-03-06 12:12:49 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3868 * omx/gstomxaacdec.c:
3869 omxaudiodec: add comment explaining duplicate code path
3871 2015-03-06 12:09:06 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3873 * omx/gstomxaacdec.c:
3874 Revert "omxaudiodec: remove duplicate code path"
3875 This reverts commit a8d26ff27a8b43f589424a59294f9057641b2a46.
3877 2015-03-06 12:03:56 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3880 omx: handle both errors in the two steps of update_port_definition
3881 Also consider potential errors in the _get_parameter() in the return of the
3882 update_port_definition function.
3885 2015-03-06 10:57:53 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3887 * omx/gstomxaudioenc.c:
3888 omxaudioenc: impossible if statement
3889 ret is set to GST_STATE_CHANGE_SUCCESS and never touched, so it is impossible
3890 for it to be anything else at the if check. Remove the if check.
3893 2015-03-06 10:54:43 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3895 * omx/gstomxaudiodec.c:
3896 omxaudiodec: impossible if statement
3897 ret is set to GST_STATE_CHANGE_SUCCESS and never touched, so it is impossible
3898 for it to be anything else at the if check. Remove it.
3901 2015-03-06 10:50:30 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3903 * omx/gstomxaacdec.c:
3904 omxaudiodec: remove duplicate code path
3906 2014-12-19 11:19:55 +0200 George Kiagiadakis <george.kiagiadakis@collabora.com>
3909 omx: call handle_messages() only once in acquire_buffer() to avoid potential deadlock
3910 There is one rare case where calling handle_messages() more than once can cause a deadlock
3911 in the video decoder element:
3912 - sink pad thread starts the src pad task (gst_omx_video_dec_loop())
3913 - _video_dec_loop() calls gst_omx_port_acquire_buffer() on dec_out_port
3914 - blocks in gst_omx_component_wait_message() releasing comp->lock and comp->messages_lock
3915 (initially, there are no buffers configured on that port, so it waits for OMX_EventPortSettingsChanged)
3916 - the sink pad thread pushes a buffer to the decoder with gst_omx_port_release_buffer()
3917 - _release_buffer() grabs comp->lock and sends the buffer to OMX, which consumes it immediately
3918 - EmptyBufferDone gets called at this point, which signals _wait_message() to unblock
3919 - the message from EmptyBufferDone is processed in gst_omx_component_handle_messages()
3920 called from gst_omx_port_release_buffer()
3921 - gst_omx_port_release_buffer releases comp->lock
3922 - the src pad thread now gets to run, grabbing comp->lock while it exits from _wait_message()
3923 - _acquire_buffer() calls the _handle_messages() on the next line after _wait_message(),
3924 which does nothing (no pending messages)
3925 - then it goes to "retry:" and calls _handle_messages() again, which also does nothing
3926 (still no pending messages)
3927 - scheduler switches to a videocore thread that calls EventHandler, informing us about the
3928 OMX_EventPortSettingsChanged event that just arrived
3929 - EventHandler graps comp->messages_lock, but not comp->lock, so it can run in parallel at
3930 this point just fine.
3931 - scheduler switches back to the src pad thread (which is in the middle of _acquire_buffer())
3932 - the next _handle_messages() which is right before if (g_queue_is_empty (&port->pending_buffers))
3933 processes the OMX_EventPortSettingsChanged
3934 - the buffer queue is still empty, so that thread blocks again in _wait_message()
3935 - the sink pad thread tries to acquire the next input port buffer
3936 - _acquire_buffer() also blocks this thread in:
3937 if (comp->pending_reconfigure_outports) { ... _wait_message() ... }
3938 - DEADLOCK. gstreamer is waiting for omx to do something, omx waits for gstreamer to do something.
3939 By removing those extra _handle_messages() calls, we can ensure that all the checks of
3940 _acquire_buffer() will re-run. In the above case, after the scheduler switches back to
3941 the middle of _acquire_buffer(), the code will enter _wait_message(), which will see that
3942 there are pending messages and will return immediately, going back to "retry:" and
3943 re-doing all the checks properly.
3944 https://bugzilla.gnome.org/show_bug.cgi?id=741854
3946 2015-02-26 09:27:44 +0900 Wonchul Lee <chul0812@gmail.com>
3949 omx: cleanup code a bit to remove else statement
3950 https://bugzilla.gnome.org/show_bug.cgi?id=745191
3952 2015-01-12 16:13:35 +0100 Stefan Sauer <ensonic@users.sf.net>
3955 Automatic update of common submodule
3956 From f2c6b95 to bc76a8b
3958 2014-12-18 10:56:15 +0100 Sebastian Dröge <sebastian@centricular.com>
3961 Automatic update of common submodule
3962 From ef1ffdc to f2c6b95
3964 2014-11-27 17:12:42 +0100 Edward Hervey <bilboed@bilboed.com>
3967 Automatic update of common submodule
3968 From 7bb2bce to ef1ffdc
3970 2014-11-13 09:55:02 +0900 Jun Ji <jun.ji@lge.com>
3974 * omx/gstomxamrdec.c:
3975 * omx/gstomxamrdec.h:
3977 https://bugzilla.gnome.org/show_bug.cgi?id=739333
3979 2014-10-27 18:00:50 +0100 Sebastian Dröge <sebastian@centricular.com>
3982 Automatic update of common submodule
3983 From 84d06cd to 7bb2bce
3985 2014-10-21 13:03:44 +0100 Tim-Philipp Müller <tim@centricular.com>
3988 Automatic update of common submodule
3989 From a8c8939 to 84d06cd
3991 2014-10-21 13:00:10 +0200 Stefan Sauer <ensonic@users.sf.net>
3994 Automatic update of common submodule
3995 From 1f5d3c3 to a8c8939
3997 2014-09-30 10:47:20 +0300 Sebastian Dröge <sebastian@centricular.com>
3999 * omx/gstomxaudiodec.c:
4000 omxaudiodec: Clean up code a bit to get rid of useless NULL checks
4002 2014-09-30 10:50:07 +0900 junji <jun.ji@lge.com>
4004 * omx/gstomxaudiodec.c:
4005 omxaudiodec: Unmap input buffers after usage
4006 https://bugzilla.gnome.org/show_bug.cgi?id=736314
4008 2014-08-31 20:30:13 +0000 Michal Lazo <michal.lazo@mdragon.org>
4010 * omx/gstomxvideoenc.c:
4011 omxvideoenc: Setup aspect ratio on RPi
4012 Needs firmware from yesterday or newer to work with all possible
4013 aspect ratios. Before that it only supported a fixed list.
4014 https://bugzilla.gnome.org/show_bug.cgi?id=732533
4016 2014-08-28 10:44:31 +0300 Sebastian Dröge <sebastian@centricular.com>
4018 * omx/gstomxaudioenc.c:
4019 omxaudioenc: Implement the hack flag GST_OMX_HACK_NO_COMPONENT_RECONFIGURE
4021 2014-08-28 10:43:22 +0300 Sebastian Dröge <sebastian@centricular.com>
4023 * omx/gstomxaudioenc.c:
4024 omxaudioenc: Use the base class' open/close vfuncs instead of calling them ourselves
4026 2014-08-26 22:13:53 -0500 Peng Liu <pengliu.mail@gmail.com>
4028 * config/rpi/gstomx.conf:
4029 * omx/gstomxvideoenc.c:
4030 omxvideoenc: Implement the hack flag GST_OMX_HACK_NO_COMPONENT_RECONFIGURE
4031 Fix a video encoder stall problem on RPi when changing the aspect ratio.
4032 https://bugzilla.gnome.org/show_bug.cgi?id=732533
4034 2014-08-14 17:36:11 +0300 Sebastian Dröge <sebastian@centricular.com>
4036 * omx/gstomxaudiodec.c:
4037 * omx/gstomxaudiodec.h:
4038 * omx/gstomxaudioenc.c:
4039 * omx/gstomxaudioenc.h:
4040 * omx/gstomxvideodec.c:
4041 * omx/gstomxvideodec.h:
4042 * omx/gstomxvideoenc.c:
4043 * omx/gstomxvideoenc.h:
4044 omx: Let base classes handle EOS
4045 https://bugzilla.gnome.org//show_bug.cgi?id=734774
4047 2014-08-14 17:33:07 +0300 Sebastian Dröge <sebastian@centricular.com>
4049 * omx/gstomxaudiodec.c:
4050 omxaudiodec: Fix flushing logic and make it more similar to the video decoder
4052 === release 1.2.0 ===
4054 2014-07-23 11:28:12 +0200 Sebastian Dröge <sebastian@centricular.com>
4064 2014-07-22 09:23:00 +0200 Sebastian Dröge <sebastian@centricular.com>
4066 * config/bellagio/gstomx.conf:
4067 * config/rpi/gstomx.conf:
4068 config: Update ranks to PRIMARY+1 to have higher preference than avdec_*
4069 See https://bugzilla.gnome.org/show_bug.cgi?id=732161
4071 2014-07-20 17:46:30 +0200 Sebastian Dröge <sebastian@centricular.com>
4073 * omx/gstomxaudiosink.c:
4074 omxaudiosink: Set port to not flushing in prepare() and keep it at flushing in unprepare()
4075 https://bugzilla.gnome.org/show_bug.cgi?id=733168
4077 2014-07-13 22:15:18 +0200 Sebastian Dröge <sebastian@centricular.com>
4079 * omx/gstomxaacdec.c:
4080 * omx/gstomxaudiodec.c:
4081 * omx/gstomxaudiodec.h:
4082 * omx/gstomxmp3dec.c:
4083 omxaudiodec: Implement setting of fallback channel positions
4085 2014-07-13 18:22:39 +0200 Sebastian Dröge <sebastian@centricular.com>
4089 * omx/gstomxaacdec.c:
4090 * omx/gstomxaacdec.h:
4091 * omx/gstomxmp3dec.c:
4092 omx: Add AAC audio decoder
4094 2014-07-02 09:22:28 +0200 Sebastian Dröge <sebastian@centricular.com>
4096 * omx/gstomxaudiodec.c:
4097 omxaudiodec: Get PCM parameters from the out port, not the in port
4099 2014-05-15 13:24:39 +0200 Sebastian Dröge <sebastian@centricular.com>
4101 * omx/gstomxaudiodec.c:
4102 omxaudiodec: Implement hack for not disabling the output port after set_format until the output format is known
4103 Needed on some OMX implementations, e.g. the one from Atmel. It does
4104 not send the settings-changed event on the output port if it is
4107 2014-05-10 23:12:54 +0200 Sebastian Dröge <sebastian@centricular.com>
4111 * omx/gstomxaudiodec.c:
4112 * omx/gstomxaudiodec.h:
4113 * omx/gstomxmp3dec.c:
4114 * omx/gstomxmp3dec.h:
4115 omx: Add audio decoder base class and a subclass for MP3
4117 2014-07-01 09:38:01 +0200 Sebastian Dröge <sebastian@centricular.com>
4121 omx: Link to gmodule-2.0-no-export for being able to use the g_module_*() API
4122 https://bugzilla.gnome.org/show_bug.cgi?id=732518
4124 2014-06-30 15:00:54 +0200 Sebastian Dröge <sebastian@centricular.com>
4126 * examples/egl/testegl.c:
4127 examples: #define GST_USE_UNSTABLE_API for libgstgl
4129 2014-06-29 19:10:19 +0200 Sebastian Dröge <sebastian@centricular.com>
4131 * omx/gstomxh264enc.c:
4132 * omx/gstomxh264enc.h:
4133 omxh264enc: Properly accumulate headers and push before the next frame
4134 Fixes output of encoding on RPi, where each header buffer (SPS and PPS)
4135 is in a separate OMX buffer.
4136 https://bugzilla.gnome.org/show_bug.cgi?id=726669
4138 2014-06-29 19:04:54 +0200 Sebastian Dröge <sebastian@centricular.com>
4140 * omx/gstomxvideoenc.c:
4141 omxvideoenc: Implement flush() instead of the deprecated reset()
4143 2014-06-25 17:14:18 +0200 Sebastian Dröge <sebastian@centricular.com>
4145 * config/rpi/gstomx.conf:
4146 rpi: It's 44100Hz, not 41400Hz
4148 2014-06-25 11:12:51 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4151 configure.ac: require gstgl >= 1.3.3
4153 2014-04-25 13:25:05 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4157 example: enable testegl
4158 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
4160 2014-06-25 10:19:54 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4162 * examples/egl/testegl.c:
4163 testegl: do matrix mutlplication in the shader
4164 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
4166 2014-06-25 09:36:38 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4168 * examples/egl/testegl.c:
4169 testegl: add a comment for the parse command
4170 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
4172 2014-04-25 17:32:16 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4174 * examples/egl/Makefile.am:
4175 * examples/egl/cube_texture_and_coords.h:
4176 * examples/egl/testegl.c:
4177 testegl: convert code from GLESv1 to GLESv2
4178 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
4180 2014-04-25 13:21:59 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4182 * examples/egl/Makefile.am:
4183 * examples/egl/testegl.c:
4184 testegl: port to gstgl API
4185 - append a glfilter just before fakesink
4186 So that we get gltexture or eglimages
4187 - propagate our EGLDisplay to the pipeline
4188 see GST_QUERY_CONTEXT
4189 - share our EGLContext with the iternal gl context
4190 of the pipeline, see GST_QUERY_ALLOCATION
4191 - use GstVideoGLTextureUploadMeta to upload
4192 the incoming gltexture or eglimage to our gl texture
4193 TODO: convert from GLESv1 to GLESv2
4194 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
4196 2014-06-24 14:52:58 +0200 Sebastian Dröge <sebastian@centricular.com>
4198 * omx/gstomxbufferpool.c:
4199 * omx/gstomxbufferpool.h:
4200 * omx/gstomxvideodec.c:
4201 omxbufferpool: Copy buffers if the stride does not match and we can't use video meta
4202 https://bugzilla.gnome.org/show_bug.cgi?id=731672
4204 2014-06-24 14:52:43 +0200 Sebastian Dröge <sebastian@centricular.com>
4208 * omx/gstomxvp8dec.h:
4209 omx: Only include OMX_VideoExt.h conditionally
4210 It does not exist on the RPi for example.
4212 2014-06-24 13:59:44 +0200 Sebastian Dröge <sebastian@centricular.com>
4215 configure.ac: Require GStreamer core/base >= 1.2.2
4216 Needed at least for gst_video_decoder_release_frame().
4218 2014-06-24 13:02:13 +0200 Sebastian Dröge <sebastian@centricular.com>
4220 * omx/gstomxbufferpool.c:
4221 omxbufferpool: Fix format string compiler warning
4223 2014-06-22 21:11:45 +0000 Michal Lazo <xlazom00@gmail.com>
4225 * omx/gstomxbufferpool.c:
4226 omxbufferpool: Initialize debug category
4228 2014-06-24 12:42:22 +0200 Sebastian Dröge <sebastian@centricular.com>
4230 * omx/gstomxbufferpool.c:
4231 omxbufferpool: Properly convert OMX alignment to GStreamer alignment
4232 GStreamer uses a bitmask for the alignment while OMX uses the
4233 alignment itself. Let's convert.
4234 https://bugzilla.gnome.org/show_bug.cgi?id=710564
4236 2014-06-24 11:11:28 +0200 Sebastian Dröge <sebastian@centricular.com>
4238 * omx/gstomxh264enc.c:
4239 omxh264enc: Don't let baseclass finish frames for SPS/PPS buffers
4240 Otherwise we a) send them twice, and b) finish a frame for something
4241 that does not even include a frame.
4242 https://bugzilla.gnome.org/show_bug.cgi?id=726669
4244 2014-06-24 10:22:37 +0200 Sebastian Dröge <sebastian@centricular.com>
4246 * omx/gstomxvideo.h:
4247 omxvideo: Include the separate headers too for compatibility with 1.0.x
4249 2014-03-24 16:09:40 +0800 Zhao, Halley <halley.zhao@intel.com>
4252 * omx/gstomxvp8dec.h:
4253 omxvp8dec: use VP8 definition from OMX_VideoExt.h
4254 https://bugzilla.gnome.org/show_bug.cgi?id=726957
4256 2014-03-24 15:33:26 +0800 Zhao, Halley <halley.zhao@intel.com>
4259 configure: add --with-omx-header-path option for external omx headers
4260 https://bugzilla.gnome.org/show_bug.cgi?id=726957
4262 2014-06-18 23:04:33 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
4264 * omx/gstomxvideodec.c:
4265 omxvideodec: fix a query leak
4266 Also add a debug message if query fails.
4267 https://bugzilla.gnome.org/show_bug.cgi?id=731898
4269 2014-05-30 15:29:15 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4271 * omx/gstomxvideodec.c:
4272 omxvideodec: release frames with old PTS to avoid memory issue
4273 Interlaced stream could make the decoder use two input frames to produce
4274 one output frame causing the gstvideodecoder frame list to grow.
4275 Assuming the video decoder output frame in display order rather than in
4276 decoding order, this commit add a way to release frames with PTS less
4277 than current output frame.
4278 https://bugzilla.gnome.org/show_bug.cgi?id=730995
4280 2013-06-27 21:59:29 +0900 Kazunori Kobayashi <kkobayas@igel.co.jp>
4283 omx: Fix a missing g_free() in error path
4284 This fixes a memory leak with g_strdup() when an error occurs.
4285 https://bugzilla.gnome.org/show_bug.cgi?id=731141
4287 2014-06-02 15:34:09 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4289 * omx/gstomxvideodec.c:
4290 omxvideodec: add missing stream unlock in error path
4292 2014-05-31 15:12:05 +0200 Sebastian Dröge <sebastian@centricular.com>
4295 omx: Don't handle disabling/enabling ports exactly like flushing
4296 Otherwise we might abort a flush operation in another thread when
4297 enabling/disabling ports, leading to deadlocks sometimes.
4298 https://bugzilla.gnome.org/show_bug.cgi?id=730989
4300 2014-05-26 11:02:10 +0200 Sebastian Dröge <sebastian@centricular.com>
4302 * omx/gstomxvideodec.c:
4303 omxvideodec: Don't leak buffer pool config in error cases
4306 2014-05-21 10:53:43 +0200 Sebastian Dröge <sebastian@centricular.com>
4309 Automatic update of common submodule
4310 From 211fa5f to 1f5d3c3
4312 2014-05-19 09:10:07 +0200 Sebastian Dröge <sebastian@centricular.com>
4314 * omx/gstomxvideoenc.c:
4315 omxvideoenc: Don't forget to unref codec state
4318 2014-05-19 09:08:33 +0200 Sebastian Dröge <sebastian@centricular.com>
4320 * omx/gstomxvideodec.c:
4321 omxvideodec: Make output buffer pointer always initialized
4324 2014-05-19 09:06:42 +0200 Sebastian Dröge <sebastian@centricular.com>
4326 * omx/gstomxvideodec.c:
4327 omxvideodec: Check return value of gst_buffer_map()
4330 2014-05-19 09:04:09 +0200 Sebastian Dröge <sebastian@centricular.com>
4332 * omx/gstomxvideodec.c:
4333 omxvideodec: Check return value of gst_omx_port_set_enabled() for errors
4336 2014-05-19 09:01:46 +0200 Sebastian Dröge <sebastian@centricular.com>
4338 * omx/gstomxvideodec.c:
4339 omxvideodec: Check return values of buffer pool config parsing functions
4342 2014-05-19 08:48:50 +0200 Sebastian Dröge <sebastian@centricular.com>
4345 omx: Remove dead code, buf can never be NULL here as we just check for that the line above
4348 2014-05-19 08:47:36 +0200 Sebastian Dröge <sebastian@centricular.com>
4351 omx: Fix comparisons in gst_omx_state_to_string() case to actually make sense
4354 2014-05-19 08:45:10 +0200 Sebastian Dröge <sebastian@centricular.com>
4357 omx: Make sure to compare the error codes as unsigned integers so that comparisons >2**31 actually work
4360 2014-05-19 08:40:23 +0200 Sebastian Dröge <sebastian@centricular.com>
4363 omx: Fix comparisons in gst_omx_command_to_string() default cause to actually work
4366 2014-05-15 13:22:56 +0200 Sebastian Dröge <sebastian@centricular.com>
4368 * omx/gstomxaudioenc.c:
4369 omxaudioenc: Implement hack for not disabling the output port after set_format until the output format is known
4370 Needed on some OMX implementations, e.g. the one from Atmel. It does
4371 not send the settings-changed event on the output port if it is
4374 2014-05-15 13:21:07 +0200 Sebastian Dröge <sebastian@centricular.com>
4376 * omx/gstomxvideoenc.c:
4377 omxvideoenc: Implement hack for not disabling the output port after set_format until the output format is known
4378 Needed on some OMX implementations, e.g. the one from Atmel. It does
4379 not send the settings-changed event on the output port if it is
4382 2014-05-15 10:58:34 +0200 Sebastian Dröge <sebastian@centricular.com>
4386 * omx/gstomxvideodec.c:
4387 omx: Add a hack for not disabling the output port after set_format until the output format is known
4388 Needed on some OMX implementations, e.g. the one from Atmel. It does
4389 not send the settings-changed event on the output port if it is
4392 2014-05-12 12:33:32 +0200 Josep Torra <n770galaxy@gmail.com>
4394 * omx/gstomxaudiosink.c:
4395 omxaudiosink: implement _delay only in the RaspberryPI
4396 Make code implementation conditionally built for RaspberryPI because
4397 OMX_IndexConfigAudioRenderingLatency seems to be a Broadcom extension.
4398 On other targets the query position might not be accurate without
4399 implementing _delay appropriatelly.
4401 2014-05-12 08:56:15 +0200 Sebastian Dröge <sebastian@centricular.com>
4403 * omx/gstomxaudioenc.c:
4404 omxaudioenc: Correctly scale nTickCount by OMX_TICKS_PER_SECOND
4406 2014-05-10 22:48:23 +0200 Sebastian Dröge <sebastian@centricular.com>
4408 * omx/gstomxaudioenc.c:
4409 omxaudioenc: Drain encoder on NULL buffer and don't drain on flushing
4411 2014-05-10 22:47:56 +0200 Sebastian Dröge <sebastian@centricular.com>
4413 * omx/gstomxvideodec.c:
4414 omxvideodec: Set nTickCount based on the buffer's duration instead of something wrong
4416 2014-05-10 22:47:21 +0200 Sebastian Dröge <sebastian@centricular.com>
4418 * omx/gstomxvideoenc.c:
4419 omxvideoenc: Set nTickCount to the whole duration of the buffer instead of a wrong calculation
4421 2014-05-10 22:46:51 +0200 Sebastian Dröge <sebastian@centricular.com>
4423 * omx/gstomxaudiosink.c:
4424 omxaudiosink: Fix format string compiler warnings
4426 2014-04-04 14:11:58 +0200 Josep Torra <n770galaxy@gmail.com>
4428 * config/rpi/gstomx.conf:
4431 * omx/gstomxanalogaudiosink.c:
4432 * omx/gstomxanalogaudiosink.h:
4433 * omx/gstomxaudiosink.c:
4434 * omx/gstomxaudiosink.h:
4435 * omx/gstomxhdmiaudiosink.c:
4436 * omx/gstomxhdmiaudiosink.h:
4437 omxaudiosink: Implements OpenMAX based audio sinks
4438 Provides omxanalogaudiosink and omxhdmiaudiosink elements on
4440 - omxanalogaudiosink is capable to render raw mono or stereo audio
4441 through the jack output.
4442 - omxhdmiaudiosink is capable to render raw audio up to 8 channels
4443 and transmit ac3/dts(IEC 61937) through the HDMI output.
4444 - sinks provide a clock derived from rendered samples
4445 - sinks support the GstStreamVolume interface by implementing
4446 the volume and mute properties.
4447 https://bugzilla.gnome.org/show_bug.cgi?id=728962
4449 2014-05-03 10:17:35 +0200 Sebastian Dröge <sebastian@centricular.com>
4452 Automatic update of common submodule
4453 From bcb1518 to 211fa5f
4455 2014-04-29 15:16:16 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4457 * omx/gstomxvideodec.c:
4458 omxvideodec: can negotiate caps with memory:EGLImage feature when using EGLImage allocator
4459 Previously when using gst EGLImage allocator the caps was
4460 video/x-raw, format=RGBA instead of
4461 video/x-raw(memory:EGLImage), format=RGBA
4462 Kepp previous behavior in case negotiation fails with caps feature.
4463 It means it will still have a chance to use EGLImage even if the
4464 feature is not in the caps.
4465 https://bugzilla.gnome.org/show_bug.cgi?id=729196
4467 2014-04-23 09:57:48 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4469 * omx/gstomxvp8dec.h:
4470 omxvp8dec: fix typo in GST_TYPE_OMX_VP8_DEC define
4471 https://bugzilla.gnome.org/show_bug.cgi?id=728774
4473 2014-04-16 11:00:55 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4475 * omx/gstomxvideodec.c:
4476 omxvideodec: don't unref caps before logging field from it
4477 https://bugzilla.gnome.org/show_bug.cgi?id=728322
4479 2014-04-15 17:30:13 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4483 example: disable testegl since libgstegl has been removed
4484 As decided in bug #703343
4485 Not compatible with the new libgstgl API.
4486 A portage has been started, attachment 272800.
4487 https://bugzilla.gnome.org/show_bug.cgi?id=703343
4489 2014-04-15 17:11:08 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4491 * omx/gstomxvideodec.c:
4492 omxvideodec: use new libgstgl API since libgstegl has been removed
4493 There is no point to retrieve a ref/unref type
4494 instead of an EGLDisplay directly. It's like for EGLImage.
4495 https://bugzilla.gnome.org/show_bug.cgi?id=703343
4497 2014-04-15 17:06:38 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4500 * examples/Makefile.am:
4502 * omx/gstomxvideodec.c:
4503 configure.ac: check for libgstgl since libgstegl has been removed
4504 https://bugzilla.gnome.org/show_bug.cgi?id=703343
4506 2014-04-09 18:52:16 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4508 * omx/gstomxbufferpool.c:
4509 * omx/gstomxvideodec.c:
4510 omxvideodec: add support of more color format
4511 Add support for ABGR, ARGB, RGB16, BGR16, YUY2, UYVY, YVYU, GRAY8 and
4514 2014-04-09 18:51:57 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4516 * omx/gstomxvideodec.c:
4517 omxvideodec: simplify color format conversion in fill_buffer function
4519 2014-04-09 18:51:41 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4521 * omx/gstomxbufferpool.c:
4522 omxbufferpool: make video stride and offset calculation easier
4523 It will be easier to support more color format.
4525 2014-04-09 18:51:12 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4527 * omx/gstomxvideo.c:
4528 * omx/gstomxvideo.h:
4529 * omx/gstomxvideodec.c:
4530 omx: add an helper to convert OMX color format to GStreamer color format
4532 2014-03-10 17:43:50 +0100 Josep Torra <n770galaxy@gmail.com>
4534 * examples/egl/testegl.c:
4535 * omx/gstomxvideodec.c:
4536 omxvideodec: Implement pipeline draining to support adaptive scenarios
4537 When draining due a format change also drain
4538 the pipeline to reclaim back all buffers.
4539 https://bugzilla.gnome.org/show_bug.cgi?id=726107
4541 2014-03-27 13:57:32 +0100 Josep Torra <n770galaxy@gmail.com>
4543 * examples/egl/testegl.c:
4544 examples: fix several memory leaks in the testegl example
4545 Ensure to call to image_data_free in order to release GPU resources.
4546 Also ensure to destroy EGLImage and GLTexture from proper
4548 https://bugzilla.gnome.org/show_bug.cgi?id=726107
4550 2014-03-25 17:16:31 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
4552 * examples/egl/testegl.c:
4553 examples: keep a ref on the buffer instead of the memory
4555 https://bugzilla.gnome.org/show_bug.cgi?id=726107
4557 2014-03-07 20:08:05 +0100 Josep Torra <n770galaxy@gmail.com>
4559 * omx/gstomxvideodec.c:
4560 omxvideodec: fixes race condition during seeks
4561 Acording 6.1.3 Seek Event Sequence in the OpenMAX IL 1.1.2 spec
4562 document in order to flush the component it needs to be in
4564 https://bugzilla.gnome.org/show_bug.cgi?id=726038
4566 2014-01-29 18:31:26 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
4568 * omx/gstomxvideodec.c:
4569 omxvideodec: use flush because reset is deprecated
4570 https://bugzilla.gnome.org/show_bug.cgi?id=726038
4572 2014-01-27 17:03:50 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
4574 * omx/gstomxvideodec.c:
4575 omxvideodec: populate the most downstream output port on reset
4576 Make seeking work when using egl_render component
4577 https://bugzilla.gnome.org/show_bug.cgi?id=726038
4579 2014-03-24 17:49:59 +0100 Josep Torra <n770galaxy@gmail.com>
4581 * omx/gstomxbufferpool.c:
4582 omxbufferpool: return buffers to the pool instead of freeing them
4583 We have to return the buffers back to the pool in when stopping to
4584 not mess with the GstBufferPool accounting.
4585 The OMX buffers will be freed when those won't be in charge of the
4586 pool in the chained up call to 'stop'.
4587 Fixes segfaults on finalize and pool not being properly deactivated.
4588 https://bugzilla.gnome.org/show_bug.cgi?id=726337
4590 2014-03-19 12:12:49 +0100 Christian König <christian.koenig@amd.com>
4592 * omx/gstomxvideodec.c:
4593 omxvideodec: add missing unlock in the error path
4594 Signed-off-by: Christian König <christian.koenig@amd.com>
4595 https://bugzilla.gnome.org/show_bug.cgi?id=726958
4597 2014-03-18 23:36:59 +0100 Michal Lazo <xlazom00@gmail.com>
4599 * omx/gstomxh264enc.c:
4600 * omx/gstomxh264enc.h:
4603 2014-03-17 09:57:11 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
4605 * omx/gstomxbufferpool.c:
4606 omxbufferpool: fix memory leak if used on output port
4607 When using GstOMXBufferPool on an output port, it internally uses
4608 a GPtrArray to manage the GstBuffers instead of the default queue
4609 from the GstBufferPool base class.
4610 In this case GstBufferPool::default_free_buffer is not called when
4611 the pool is stopped. Because the queue is empty. So explicitely
4612 call gst_omx_buffer_pool_free_buffer on each buffer contained in
4614 https://bugzilla.gnome.org/show_bug.cgi?id=726337
4616 2014-03-16 17:32:05 +0100 Sebastian Dröge <sebastian@centricular.com>
4618 * omx/gstomxh264enc.c:
4619 omxh264enc: Fix compiler warnings
4621 2014-03-16 17:19:08 +0100 Michal Lazo <xlazom00@gmail.com>
4623 * omx/gstomxh264enc.c:
4624 * omx/gstomxh264enc.h:
4625 omxh264enc: IDR interval, SPS and PPS headers for rpi
4626 https://bugzilla.gnome.org/show_bug.cgi?id=720031
4628 2014-03-13 14:26:58 +0100 Christian König <christian.koenig@amd.com>
4632 * omx/gstomxvideo.c:
4633 omxvideo: fix debug category initialisation
4634 https://bugzilla.gnome.org/show_bug.cgi?id=726024
4636 2014-03-13 19:04:47 +0100 Christian König <christian.koenig@amd.com>
4638 * omx/gstomxbufferpool.h:
4639 omxbufferpool: add proper type definitions
4640 https://bugzilla.gnome.org/show_bug.cgi?id=726325
4642 2014-03-02 10:30:04 +0100 Christian König <christian.koenig@amd.com>
4645 omx: consolidate message waiting code
4646 Add a wait_message helper function and remove all those duplicated code.
4647 https://bugzilla.gnome.org/show_bug.cgi?id=725493
4649 2014-03-12 12:48:12 +0100 Sebastian Dröge <sebastian@centricular.com>
4651 * omx/gstomxvideo.c:
4652 omx: Copy old copyright notice into the new file
4654 2014-03-12 12:47:34 +0100 Sebastian Dröge <sebastian@centricular.com>
4656 * omx/gstomxvideo.c:
4657 * omx/gstomxvideo.h:
4658 * omx/gstomxvideodec.c:
4659 * omx/gstomxvideoenc.c:
4660 omx: Rename function from _4_ to _for_ for clarity
4662 2014-03-03 16:15:24 +0100 Christian König <christian.koenig@amd.com>
4665 * omx/gstomxvideo.c:
4666 * omx/gstomxvideo.h:
4667 * omx/gstomxvideodec.c:
4668 * omx/gstomxvideoenc.c:
4669 omxvideo: start sharing more code between video decoder and encoder
4670 Identical functionality spread of two different components.
4671 We can't use a common base class because of different inheritance,
4672 but let's try to share the code anyway.
4673 https://bugzilla.gnome.org/show_bug.cgi?id=726024
4675 2014-03-12 12:43:49 +0100 Sebastian Dröge <sebastian@centricular.com>
4677 * examples/egl/Makefile.am:
4678 examples: Only build RPi EGL example if RPi was chosen as target
4680 2014-03-12 12:42:23 +0100 Sebastian Dröge <sebastian@centricular.com>
4682 * omx/gstomxbufferpool.h:
4683 omxbufferpool: Fix header include guard
4685 2014-03-05 11:41:02 +0100 Christian König <christian.koenig@amd.com>
4688 * omx/gstomxbufferpool.c:
4689 * omx/gstomxbufferpool.h:
4690 * omx/gstomxvideodec.c:
4691 omxvideodec: separate the buffer pool from the decoder
4692 https://bugzilla.gnome.org/show_bug.cgi?id=726025
4694 2014-03-04 17:41:20 +0100 Christian König <christian.koenig@amd.com>
4698 * omx/gstomxvideodec.c:
4699 omx: simplify tunnel functions
4700 Specifying the component is error prone and unnecessary.
4701 https://bugzilla.gnome.org/show_bug.cgi?id=726021
4703 2014-03-07 17:12:24 +0100 Christian König <christian.koenig@amd.com>
4705 * omx/gstomxvideodec.c:
4706 omxvideodec: fix memory leak in gst_omx_video_dec_allocate_output_buffers
4707 https://bugzilla.gnome.org/show_bug.cgi?id=725907
4709 2014-03-07 13:18:49 +0100 Christian König <christian.koenig@amd.com>
4711 * omx/gstomxvideodec.c:
4712 omxvideodec: fix memory leak gst_omx_video_dec_negotiate
4713 https://bugzilla.gnome.org/show_bug.cgi?id=725907
4715 2014-03-05 18:54:05 +0100 Christian König <christian.koenig@amd.com>
4717 * omx/gstomxvideoenc.c:
4718 omxvideoenc: fix a memory leak in gst_omx_video_enc_getcaps
4719 https://bugzilla.gnome.org/show_bug.cgi?id=725826
4721 2014-03-05 17:43:33 +0100 Josep Torra <n770galaxy@gmail.com>
4724 Makefile.am: build examples
4725 There's no reason to not build the examples now that are ported to 1.x.
4727 2014-03-05 17:25:09 +0100 Josep Torra <n770galaxy@gmail.com>
4729 * examples/egl/testegl.c:
4730 examples: avoid a clashing name with the recently added GstEGLImagePool
4731 Fixes build with current master.
4733 2013-09-05 03:41:10 -0600 Christian König <christian.koenig@amd.com>
4735 * omx/gstomxvideoenc.c:
4736 omxvideoenc: simplify _find_nearest_frame
4737 Just the same as we did with the decoder. Also give the
4738 function a gst_omx_video_enc prefix to distinct it from
4739 the decoder function.
4740 https://bugzilla.gnome.org/show_bug.cgi?id=724236
4742 2013-09-05 02:23:39 -0600 Christian König <christian.koenig@amd.com>
4744 * omx/gstomxvideodec.c:
4745 omxvideodec: simplify _find_nearest_frame
4746 No need to make it more complicated and error prone than
4747 necessary. Also give the function a gst_omx_video_dec prefix
4748 to distinct it from the encoder function.
4749 https://bugzilla.gnome.org/show_bug.cgi?id=724236
4751 2013-09-05 02:05:52 -0600 Christian König <christian.koenig@amd.com>
4753 * omx/gstomxvideodec.c:
4754 omxvideodec: remove dead code
4755 This code doesn't seems to be used for quite a while,
4756 remove it before it starts to rot.
4757 https://bugzilla.gnome.org/show_bug.cgi?id=724236
4759 2014-03-01 22:28:24 +0100 Christian König <christian.koenig@amd.com>
4762 omx: fix two serious message handling bugs
4763 Waiting for the next message if we already got one
4764 is nonsense and can lead to lockups.
4765 https://bugzilla.gnome.org/show_bug.cgi?id=725468
4767 2014-03-01 18:49:41 +0100 Christian König <christian.koenig@amd.com>
4769 * omx/gstomxvideoenc.c:
4770 omxvideoenc: fix startup race condition
4771 The reset function shouldn't start the src pad
4772 loop if it wasn't started before.
4773 Signed-off-by: Christian König <christian.koenig@amd.com>
4775 2014-03-01 18:48:17 +0100 Christian König <christian.koenig@amd.com>
4777 * omx/gstomxvideodec.c:
4778 omxvideodec: fix startup race condition
4779 The reset function shouldn't start the src pad
4780 loop if it wasn't started before.
4781 Signed-off-by: Christian König <christian.koenig@amd.com>
4783 2014-02-28 09:36:13 +0100 Sebastian Dröge <sebastian@centricular.com>
4786 Automatic update of common submodule
4787 From fe1672e to bcb1518
4789 2014-02-26 22:15:00 +0100 Stefan Sauer <ensonic@users.sf.net>
4792 Automatic update of common submodule
4793 From 1a07da9 to fe1672e
4795 2014-01-30 10:45:18 +0100 Edward Hervey <bilboed@bilboed.com>
4798 Automatic update of common submodule
4799 From d48bed3 to 1a07da9
4801 2014-01-25 17:44:14 +0100 Sebastian Dröge <sebastian@centricular.com>
4803 * omx/gstomxaudioenc.c:
4804 * omx/gstomxvideodec.c:
4805 * omx/gstomxvideoenc.c:
4806 omx: Don't handle FLUSHING and NOT_LINKED as errors
4807 Also don't stop the task on NOT_LINKED. We're not a demuxer.
4809 2013-12-22 22:35:31 +0000 Tim-Philipp Müller <tim@centricular.com>
4812 Automatic update of common submodule
4813 From dbedaa0 to d48bed3
4815 2013-11-05 11:22:02 +0000 Tim-Philipp Müller <tim@centricular.com>
4818 Automatic update of common submodule
4819 From 865aa20 to dbedaa0
4821 2013-09-28 13:32:37 +0200 Josep Torra <n770galaxy@gmail.com>
4823 * examples/egl/testegl.c:
4824 examples: simplify the thread synchronization code
4825 Make everithing more simple and fix the races conditions remaining in
4826 the previous approaches.
4828 2013-09-25 19:17:17 +0200 Sebastian Dröge <slomo@circular-chaos.org>
4830 * config/rpi/gstomx.conf:
4831 rpi: The WMV/VC1 decoder can only do WMV9 and VC1, no older versions
4833 2013-09-24 18:34:42 +0100 Tim-Philipp Müller <tim@centricular.net>
4836 Automatic update of common submodule
4837 From 6b03ba7 to 865aa20
4839 2013-09-24 18:48:24 +0200 Josep Torra <n770galaxy@gmail.com>
4841 * examples/egl/testegl.c:
4842 examples: fix another race condition
4843 Fix a race condition that caused randome deadlocks on EOS.
4845 2013-09-20 17:19:53 +0200 Josep Torra <n770galaxy@gmail.com>
4847 * config/rpi/gstomx.conf:
4848 rpi: fix a copy paste error in the config file
4850 2013-09-20 17:09:52 +0200 Josep Torra <n770galaxy@gmail.com>
4852 * examples/egl/testegl.c:
4853 examples: fix a race condition when seeking
4854 Fixes a race condition that caused pipeline deadlock during seeks.
4856 2013-09-20 10:38:12 +0200 Josep Torra <n770galaxy@gmail.com>
4858 * examples/egl/testegl.c:
4859 examples: display QoS statistics
4861 2013-09-20 09:34:37 +0200 Josep Torra <n770galaxy@gmail.com>
4863 * examples/egl/testegl.c:
4864 examples: use dedicated thread for rendering the scene
4865 Produces smother animation and prevents dropping frames due busy
4868 2013-09-20 08:25:21 +0200 Josep Torra <n770galaxy@gmail.com>
4870 * examples/egl/testegl.c:
4871 examples: don't force an specific audio sink
4872 Let playbin2 choose the audiosink available in the system.
4874 2013-09-20 08:19:48 +0200 Josep Torra <n770galaxy@gmail.com>
4876 * examples/egl/Makefile.am:
4877 examples: drop remnants of initial appsink attempt
4879 2013-09-20 16:18:18 +0200 Edward Hervey <edward@collabora.com>
4882 Automatic update of common submodule
4883 From b613661 to 6b03ba7
4885 2013-09-19 18:45:36 +0100 Tim-Philipp Müller <tim@centricular.net>
4888 Automatic update of common submodule
4889 From 74a6857 to b613661
4891 2013-09-19 17:38:30 +0100 Tim-Philipp Müller <tim@centricular.net>
4894 Automatic update of common submodule
4895 From 01a7a46 to 74a6857
4897 2013-08-20 16:00:07 +0100 Tim-Philipp Müller <tim@centricular.net>
4900 * omx/gstomxvideodec.c:
4901 omx: don't use the 'z' modifier to print size_t
4902 gcc will warn in some cases even if the size of the type
4903 is exactly that of size_t on the platform.
4904 https://bugzilla.gnome.org/show_bug.cgi?id=699008
4906 2013-07-01 15:48:47 +0200 Roman Arutyunyan <arutyunyan.roman@gmail.com>
4908 * omx/gstomxvideoenc.c:
4909 gstomxvideoenc: Set bitrate in setcaps
4910 Otherwise it gets lost whenever we configure new caps
4911 https://bugzilla.gnome.org/show_bug.cgi?id=698049
4913 2013-06-30 18:17:05 +0700 Ilya Smelykh <ilya@videoexpertsgroup.com>
4915 * examples/egl/testegl.c:
4916 examples: enable audio in testegl example
4918 2013-06-12 09:38:22 +0200 Sebastian Dröge <slomo@circular-chaos.org>
4921 configure: Allow build without gstreamer-egl
4923 2013-06-07 12:39:18 +0700 Ilya Smelykh <ilya@videoexpertsgroup.com>
4925 * examples/egl/Makefile.am:
4926 * examples/egl/testegl.c:
4927 examples: testegl example port to 1.x
4928 https://bugzilla.gnome.org/show_bug.cgi?id=701706
4930 2013-06-05 15:17:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4933 Automatic update of common submodule
4934 From 098c0d7 to 01a7a46
4936 2013-05-20 12:06:34 +0200 Josep Torra <n770galaxy@gmail.com>
4938 * omx/gstomxaudioenc.c:
4939 * omx/gstomxvideodec.c:
4940 * omx/gstomxvideoenc.c:
4941 omx: Take lock on EOS to update the flow return value
4942 Fixes "GThread-ERROR **: file gthread-posix.c: line 171
4943 (g_mutex_free_posix_impl): error 'Device or resource busy' during
4944 'pthread_mutex_destroy ((pthread_mutex_t *) mutex)'" in _finalize.
4946 2013-05-15 10:54:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4949 Automatic update of common submodule
4950 From 5edcd85 to 098c0d7
4952 2013-04-11 17:35:19 +0200 Josep Torra <n770galaxy@gmail.com>
4956 * examples/Makefile.am:
4957 * examples/egl/Makefile.am:
4958 * examples/egl/cube_texture_and_coords.h:
4959 * examples/egl/testegl.c:
4960 examples: add an example aplication based OpenGL ES + EGL
4961 Application that shows how to integrate playbin with an OpenGL ES
4962 scene through EGL. Renders a video on the surfaces of an animated cube.
4963 The code is not ported to 1.x so it's not built by default.
4965 2013-05-10 12:25:07 +0200 Josep Torra <n770galaxy@gmail.com>
4967 * omx/gstomxvideodec.c:
4968 omxvideodec: Redesign video size change reconfiguration code
4969 Ensure stop the decoder before clossing the tunnel.
4971 2013-05-06 16:25:27 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4974 Makefile.am: Add -I common/m4
4975 This allows autoreconf to work correctly and automatic regeneration
4976 of autotools files if something changed.
4978 2013-05-06 19:03:59 +0530 jitendra <jvarshney20@gmail.com>
4982 * omx/gstomxaudioenc.c:
4983 * omx/gstomxvideodec.c:
4984 * omx/gstomxvideoenc.c:
4985 omx: Add pads based on element type
4986 This allows to later add sources and sink that only have a srcpad
4988 https://bugzilla.gnome.org/show_bug.cgi?id=699754
4990 2013-04-27 02:50:25 +0200 Carlos Rafael Giani <dv@pseudoterminal.org>
4993 omx: fixed type error in printf call
4995 https://bugzilla.gnome.org/show_bug.cgi?id=699008
4997 2013-04-08 17:26:16 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5001 * omx/gstomxvideodec.c:
5002 Check for gstreamer-egl
5003 And don't use if not available.
5004 https://bugzilla.gnome.org/show_bug.cgi?id=697574
5006 2013-04-23 09:53:18 +0100 Tim-Philipp Müller <tim@centricular.net>
5009 configure: error out if no OMX target has been set explicitly with --with-omx-target=x
5010 Avoids people building for e.g. the Raspberry Pi and then wondering
5011 why things don't work as expected (since structs are packed differently
5014 2013-04-22 23:55:03 +0100 Tim-Philipp Müller <tim@centricular.net>
5017 Automatic update of common submodule
5018 From 3cb3d3c to 5edcd85
5020 2013-04-18 22:07:28 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5023 * omx/gstomxaudioenc.c:
5024 * omx/gstomxh263enc.c:
5025 * omx/gstomxh264enc.c:
5026 * omx/gstomxmpeg4videoenc.c:
5027 * omx/gstomxvideodec.c:
5028 * omx/gstomxvideoenc.c:
5029 omx: more printf format fixes
5030 Fix printf formats again, so that gst-omx compiles warning-
5031 free on the Raspberry Pi as well. Unfortunately OMX_UINT32
5032 maybe be typedefed to uint32_t or unsigned long, which
5033 doesn't work well with our debugging printf format strings,
5034 so just use %u for those and cast to guint.
5036 2013-04-18 16:40:06 +0200 Josep Torra <n770galaxy@gmail.com>
5039 omx: fixes unused variable 'comp' when GStreamer is built without debug
5041 2013-04-18 16:03:56 +0200 Josep Torra <n770galaxy@gmail.com>
5043 * omx/gstomxvideodec.c:
5044 omxvideodec: don't use 'self->dec_out_port' anymore and use just 'port'
5045 Fixes some criticals.
5047 2013-04-18 15:21:32 +0200 Josep Torra <n770galaxy@gmail.com>
5049 * omx/gstomxvideodec.c:
5050 omxvideodec: fixes 'port' may be used uninitialized in this function
5052 2013-04-18 12:03:31 +0200 Josep Torra <n770galaxy@gmail.com>
5054 * omx/gstomxvideodec.c:
5055 omxvideodec: silence warnings building for RPI related to 'vcos_*'
5057 2013-04-18 11:19:52 +0200 Josep Torra <n770galaxy@gmail.com>
5059 * omx/gstomxvideodec.c:
5060 omxvideodec: Use new type from libgstvideo
5062 2013-04-16 14:50:49 +0530 jitendra <jvarshney20@gmail.com>
5064 * omx/gstomxaudioenc.c:
5065 * omx/gstomxvideodec.c:
5066 * omx/gstomxvideoenc.c:
5067 omx: Disable output port before transition to idle state
5068 https://bugzilla.gnome.org/show_bug.cgi?id=698109
5070 2012-10-24 12:19:41 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5073 gst: Add better support for static plugins
5075 2013-04-14 17:57:34 +0100 Tim-Philipp Müller <tim@centricular.net>
5078 Automatic update of common submodule
5079 From aed87ae to 3cb3d3c
5081 2013-04-12 17:58:30 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5084 configure: add --disable-fatal-warnings for disabling -Werror
5086 2013-04-09 21:02:09 +0200 Stefan Sauer <ensonic@users.sf.net>
5089 Automatic update of common submodule
5090 From 04c7a1e to aed87ae
5092 2013-04-08 17:02:32 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5095 * omx/gstomxaudioenc.c:
5096 * omx/gstomxh263enc.c:
5097 * omx/gstomxh264enc.c:
5098 * omx/gstomxmpeg4videoenc.c:
5099 * omx/gstomxvideodec.c:
5100 * omx/gstomxvideoenc.c:
5101 omx: fix printf formats in debug messages
5102 OMX_U32 is typedefed to an unsigned long,
5103 OMX_TICKS to a 64-bit integer.
5105 2013-04-08 16:52:19 +0200 Josep Torra <n770galaxy@gmail.com>
5107 * omx/gstomxvideodec.c:
5108 omxvideodec: use the correct printf format in a debug message
5110 2013-04-08 16:31:33 +0200 Josep Torra <n770galaxy@gmail.com>
5112 * omx/gstomxvideodec.c:
5113 omxvideodec: use the correct OMX_IndexParam value
5114 Fixes playback is not smooth in the EGL path.
5116 2013-04-05 13:45:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5118 * omx/gstomxvideodec.c:
5119 omxvideodec: Don't use API that is not in master yet
5120 It's not really needed here yet, will be needed in future versions
5122 2013-02-25 11:55:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5128 * omx/gstomxvideodec.c:
5129 * omx/gstomxvideodec.h:
5130 omxvideodec: Add support for egl_render on RPi
5132 2013-03-22 19:26:54 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5137 2013-03-22 19:23:14 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5139 * omx/gstomxh263enc.c:
5140 * omx/gstomxh264enc.c:
5141 * omx/gstomxmpeg4videoenc.c:
5142 omx: fix compiler warnings when compiling with -DG_DISABLE_ASSERT
5143 As we do for releases. Fixes 'variable may be used uninitialized'
5146 === release 1.0.0 ===
5148 2013-03-22 17:16:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5159 2013-03-19 16:40:09 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5161 * omx/gstomxtheoradec.h:
5162 * omx/gstomxvp8dec.h:
5163 omx: fix typo in copyright headers
5165 2013-03-19 13:46:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5167 * config/rpi/gstomx.conf:
5168 rpi: Fix commit that added the VC1 decoder
5170 2013-03-19 13:27:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5172 * config/rpi/gstomx.conf:
5173 * omx/gstomxh263dec.c:
5174 * omx/gstomxh264dec.c:
5175 * omx/gstomxmjpegdec.c:
5176 * omx/gstomxmpeg2videodec.c:
5177 * omx/gstomxmpeg4videodec.c:
5178 * omx/gstomxtheoradec.c:
5179 * omx/gstomxvideodec.c:
5180 * omx/gstomxvp8dec.c:
5181 * omx/gstomxwmvdec.c:
5182 omx: Add more constraints to the default sink template caps
5184 2013-03-19 13:10:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5186 * config/rpi/gstomx.conf:
5187 rpi: Add VC1/WMV3 decoder
5188 WMV2 and WMV1 (aka WMV 1-8) are not supported by RPi.
5190 2013-03-19 12:59:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5192 * config/rpi/gstomx.conf:
5193 rpi: Add MJPEG decoder
5195 2013-03-19 12:56:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5197 * config/rpi/gstomx.conf:
5198 rpi: Add VP8 decoder
5200 2013-03-19 12:55:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5202 * omx/gstomxvideodec.c:
5203 omxvideodec: Set ENDOFFRAME flag for the end of frames
5205 2013-03-19 12:28:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5207 * config/rpi/gstomx.conf:
5208 rpi: Add Theora decoder to the config
5210 2013-03-19 09:36:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5215 * omx/gstomxtheoradec.c:
5216 * omx/gstomxtheoradec.h:
5217 omx: Add Theora decoder
5219 2013-03-18 16:43:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5222 omx: Remove additional comma
5224 2013-03-18 16:34:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5226 * config/rpi/gstomx.conf:
5229 * omx/gstomxmpeg2dec.h:
5230 * omx/gstomxmpeg2videodec.c:
5231 * omx/gstomxmpeg2videodec.h:
5232 omx: Rename MPEG2 decoder for consistency everywhere
5234 2013-03-18 16:30:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5238 * omx/gstomxmjpegdec.c:
5239 * omx/gstomxmjpegdec.h:
5240 omx: Add MJPEG decoder support
5242 2013-03-18 16:06:54 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5247 * omx/gstomxvp8dec.c:
5248 * omx/gstomxvp8dec.h:
5249 omx: Add VP8 decoder support
5251 2013-03-18 15:44:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5253 * config/rpi/gstomx.conf:
5254 rpi: Add h263 decoder and rename MPEG2 decoder for consistency
5256 2013-03-16 13:20:27 +0000 Tim-Philipp Müller <tim@centricular.net>
5258 * omx/gstomxmpeg2dec.c:
5259 omxmpeg2dec: mpeg-2 decoder should be able to handle mpeg-1 too
5260 https://bugzilla.gnome.org/show_bug.cgi?id=695879
5262 2013-03-16 10:13:06 +0100 Josep Torra <n770galaxy@gmail.com>
5265 omx: minor stylistic change for consistency with other similar code
5267 2013-03-16 10:00:24 +0100 Josep Torra <n770galaxy@gmail.com>
5269 * omx/gstomxaudioenc.c:
5270 * omx/gstomxvideodec.c:
5271 * omx/gstomxvideoenc.c:
5272 omx: Clarify that loop task is also paused in EOS
5274 2013-03-16 09:59:01 +0100 Josep Torra <n770galaxy@gmail.com>
5276 * omx/gstomxvideoenc.c:
5277 omxvideoenec: Don't forget propagate flow return value upstream
5279 2013-03-15 13:16:39 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5282 omx: improve debug logging some more
5284 2013-03-15 14:09:45 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5286 * omx/gstomxvideodec.c:
5287 omxvideodec: Make sure that the first frame we pass to OpenMAX is a sync frame
5289 2013-03-15 11:46:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5291 * omx/gstomxaudioenc.c:
5292 * omx/gstomxvideodec.c:
5293 * omx/gstomxvideoenc.c:
5294 omx: Stop output port task after draining
5296 2013-03-15 10:58:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5299 omx: Reset EOS flag in more places
5301 2013-03-15 10:38:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5303 * omx/gstomxvideodec.c:
5304 omxvideodec: Deallocate output buffers with the right function
5306 2013-03-15 01:06:05 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5310 omx: log commands as strings
5311 Makes logs easier to read.
5313 2013-03-15 00:47:47 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5317 omx: log states as strings
5319 2013-03-15 00:28:02 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5323 omx: log component name in debug messages
5324 Useful when we have more different components
5325 active at the same time.
5327 2013-03-15 09:51:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5329 * omx/gstomxvideodec.c:
5330 omxvideodec: Don't interpolate timestamps
5331 We will get exactly one frame per input buffer and assigning
5332 timestamps between frames if more than one OMX buffer is required
5333 per frame easily confuses timestamp tracking in OMX.
5335 2013-03-15 09:32:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5337 * omx/gstomxvideodec.c:
5338 omxvideodec: Give the codec_data the timestamp of the first frame and no duration
5340 2013-03-14 17:31:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5342 * config/rpi/gstomx.conf:
5343 omx: The MPEG4 encoder is not available on RPi and probably never will
5345 2013-03-14 17:26:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5348 omx: Reset some more buffer fields as required
5350 2013-03-14 17:01:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5352 * config/rpi/gstomx.conf:
5354 omx: The hack to disable usage of EOS buffers is not necessary anymore on RPi
5356 2013-03-14 17:00:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5359 omx: Reset the flags for output ports when releasing a buffer, not for input ports
5361 2013-03-14 15:03:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5363 * omx/gstomxh263enc.c:
5364 * omx/gstomxh264enc.c:
5365 * omx/gstomxmpeg4videoenc.c:
5366 omx: Only unref caps after usage of its fields
5368 2013-03-14 14:51:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5370 * omx/gstomxvideodec.c:
5371 omxvideodec: Simplify bufferpool implementation
5373 2013-03-13 13:23:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5375 * omx/gstomxvideodec.c:
5376 omxvideodec: Improve min/max buffer counts handling
5378 2013-03-14 12:49:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5382 * omx/gstomxaudioenc.c:
5383 * omx/gstomxvideodec.c:
5384 * omx/gstomxvideoenc.c:
5385 omx: Handle the OMX_EventBufferFlag to detect EOS too
5387 2013-03-13 10:29:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5391 omx: Mark OpenMAX buffers as EGLImage if they contain one
5392 Needs special handling in some places, e.g. because nFilledLen
5395 2013-03-13 10:21:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5397 * omx/gstomxvideoenc.c:
5398 omxvideoenc: Properly check the nVersion field
5400 2013-03-13 09:34:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5402 * omx/gstomxvideoenc.c:
5403 omxvideoenc: RPi returns garbage for OMX_IndexParamVideoBitrate, work around that
5405 2013-03-12 20:02:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5407 * omx/gstomxvideodec.c:
5408 omxvideodec: Make sure to always get the right buffer
5410 2013-03-12 19:35:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5412 * omx/gstomxvideodec.c:
5413 omxvideodec: Make sure the buffer is released to the pool if it's not the one we wanted
5415 2013-03-12 19:17:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5417 * omx/gstomxvideodec.c:
5418 omxvideodec: Drop too late frames instead of finishing them
5420 2013-03-12 19:16:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5422 * omx/gstomxvideodec.c:
5423 omx: Release buffers to the correct port
5425 2013-03-13 09:37:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5428 omx: Always load the OpenMAX IL cores with G_MODULE_BIND_LOCAL
5430 2013-03-12 18:20:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5433 omx: Lazy-load symbols of libbcm_host.so
5434 It exports eglIntOpenMAXILDoneMarker(), which is also
5435 exported by libopenmaxil.so... but we need the version
5436 from libopenmaxil.so as the other one is just a stub.
5438 2013-03-11 13:59:15 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5440 * omx/gstomxaacenc.c:
5441 * omx/gstomxh263enc.c:
5442 * omx/gstomxmpeg4videoenc.c:
5443 omx: Don't set profile/level in other encoders if downstream caps don't specify any
5445 2013-03-11 13:49:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5447 * omx/gstomxh264enc.c:
5448 omxh264enc: If caps specify no profile/level use the component's defaults
5450 2013-03-11 13:45:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5452 * omx/gstomxvideoenc.c:
5453 omxvideoenc: Always allocate output buffers from the loop function
5455 2013-03-11 13:12:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5457 * omx/gstomxh264enc.c:
5458 omxh264enc: The h264 encoders are supposed to output byte-stream/au
5460 2013-03-11 11:47:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5462 * omx/gstomxvideoenc.c:
5463 omxvideoenc: Wait until the Executing state is reached before passing buffers to the component
5465 2013-03-11 10:39:25 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5467 * omx/gstomxvideodec.c:
5468 omxvideodec: Don't provide buffers to downstream
5469 This only works reliable if we have a way to tell downstream to
5470 release all our buffers for reconfiguration.
5472 2013-03-11 10:29:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5474 * omx/gstomxaudioenc.c:
5475 omxaudioenc: Disable output port when setting a new format
5477 2013-03-11 10:29:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5479 * omx/gstomxvideoenc.c:
5480 omxvideoenc: Disable output port when setting a new format
5482 2013-03-11 10:22:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5484 * omx/gstomxvideodec.c:
5485 omxvideodec: Disable output port when setting a new format
5486 Based on a patch by Josep Torra <n770galaxy@gmail.com>
5488 2013-03-11 10:04:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5490 * omx/gstomxaudioenc.c:
5491 * omx/gstomxvideodec.c:
5492 * omx/gstomxvideoenc.c:
5493 omx: Catch errors when releasing buffers to a port and handle them
5495 2013-03-10 12:09:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5497 * omx/gstomxvideoenc.c:
5498 omxvideoenc: Use the correct video codec state when filling an input buffer
5500 2013-03-10 12:05:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5502 * omx/gstomxvideoenc.c:
5503 omxvideoenc: Store correct input state
5505 2013-03-10 11:27:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5507 * omx/gstomxvideoenc.c:
5508 omxvideoenc: Allocate output buffers as early as possible
5510 2013-03-10 11:01:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5513 omx: Log unknown events
5515 2013-03-09 14:14:40 +0100 Josep Torra <n770galaxy@gmail.com>
5517 * omx/gstomxaudioenc.c:
5518 * omx/gstomxvideodec.c:
5519 * omx/gstomxvideoenc.c:
5520 omx: Fix deadlock in encoders and add explainatory comments.
5522 2013-03-09 13:27:08 +0100 Josep Torra <n770galaxy@gmail.com>
5524 * omx/gstomxvideodec.c:
5525 omxvideodec: fix printf format identifier
5527 2013-03-09 13:07:59 +0100 Josep Torra <n770galaxy@gmail.com>
5529 * omx/gstomxvideodec.c:
5530 omx: Minor changes on debuging info
5532 2013-03-09 13:00:33 +0100 Josep Torra <n770galaxy@gmail.com>
5534 * omx/gstomxvideodec.c:
5535 omxvideodec: avoid a deadlock
5537 2013-03-08 15:56:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5539 * omx/gstomxvideodec.c:
5540 omxvideodec: Don't forget to populate output port
5542 2013-03-08 15:11:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5544 * omx/gstomxaudioenc.c:
5545 * omx/gstomxvideodec.c:
5546 * omx/gstomxvideoenc.c:
5547 omx: Flush and stop srcpad when configuring new caps
5549 2013-03-07 17:40:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5551 * config/rpi/gstomx.conf:
5553 Revert "omx: use no-component-reconfigure hack on the Raspberry PI"
5554 This reverts commit e123b2089f69a413241f30a2428ea6edd8f231e7.
5555 It's not required anymore after the fix from the last commit.
5557 2013-03-07 17:38:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5559 * omx/gstomxvideodec.c:
5560 omxvideodec: Only negotiate a color format with downstream on the initial caps
5562 2013-03-07 17:29:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5564 * omx/gstomxvideodec.c:
5565 omxvideodec: Make sure the output port is disabled while we allocate buffers
5567 2013-03-07 17:27:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5570 omx: Also wait for disabled output ports to be reconfigured
5572 2013-03-07 14:10:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5574 * omx/gstomxvideodec.c:
5575 * omx/gstomxvideodec.h:
5576 omxvideodec: Add buffer pool for sharing OpenMAX memory with downstream
5578 2013-03-07 11:11:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5582 * omx/gstomxaudioenc.c:
5583 * omx/gstomxvideodec.c:
5584 * omx/gstomxvideoenc.c:
5585 omx: Add timeout to the flush operation and move buffer populating to a separate function
5587 2013-03-06 17:33:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5589 * config/rpi/gstomx.conf:
5592 omx: Remove min buffer count hack for RPi again
5593 It's not necessary anymore
5595 2013-03-06 17:05:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5599 * omx/gstomxaudioenc.c:
5600 * omx/gstomxvideodec.c:
5601 * omx/gstomxvideoenc.c:
5602 omx: Do number of buffers configuration explicitely
5604 2013-03-07 11:24:54 +0100 Josep Torra <n770galaxy@gmail.com>
5606 * omx/gstomxvideodec.c:
5607 omxvideodec: fixes reconfiguration
5608 Avoid having fixed fields from previous caps on reconfiguration.
5610 2013-03-07 11:02:39 +0100 Josep Torra <n770galaxy@gmail.com>
5612 * config/rpi/gstomx.conf:
5614 omx: use no-component-reconfigure hack on the Raspberry PI
5616 2013-03-07 00:03:28 +0000 Tim-Philipp Müller <tim@centricular.net>
5619 Automatic update of common submodule
5620 From 2de221c to 04c7a1e
5622 2013-03-01 15:32:47 +0100 Josep Torra <n770galaxy@gmail.com>
5624 * omx/gstomxvideoenc.h:
5625 omxvideoenc: drop unused data member
5627 2013-03-01 12:23:54 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5629 * omx/gstomxh263enc.c:
5630 * omx/gstomxh264enc.c:
5631 * omx/gstomxmpeg4videoenc.c:
5632 omxvideoenc: And set it actually on the right port
5634 2013-03-01 12:18:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5636 * omx/gstomxh263enc.c:
5637 * omx/gstomxh264enc.c:
5638 * omx/gstomxmpeg4videoenc.c:
5639 omxvideoenc: Set the coding type in the subclasses to the specific codec
5641 2013-03-01 11:49:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5643 * omx/gstomxvideoenc.c:
5644 omxvideoenc: gst_omx_port_update_port_definition() returns a OMX_ERRORTYPE, not a gboolean
5646 2013-03-01 11:44:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5648 * omx/gstomxvideodec.c:
5649 * omx/gstomxvideoenc.c:
5650 omxvideo{dec,enc}: Don't use the input state if it wasn't set yet
5652 2013-03-01 11:25:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5654 * omx/gstomxaudioenc.c:
5655 omxaudioenc: Only enable the output port after we know the output format
5657 2013-03-01 11:24:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5659 * omx/gstomxvideoenc.c:
5660 omxvideoenc: Only enable the output port after we know the output format
5662 2013-02-28 17:02:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5664 * omx/gstomxvideodec.c:
5665 omxvideodec: Only enable the output port after we know the output format
5667 2013-03-01 11:18:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5671 omx: Handle errors more gracefully
5673 2013-02-28 15:48:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5677 * omx/gstomxaudioenc.c:
5678 * omx/gstomxh263dec.c:
5679 * omx/gstomxh264dec.c:
5680 * omx/gstomxmpeg2dec.c:
5681 * omx/gstomxmpeg4videodec.c:
5682 * omx/gstomxvideodec.c:
5683 * omx/gstomxwmvdec.c:
5684 omx: Return the OMX_ERRORTYPE from gst_omx_port_update_port_definition
5686 2013-02-28 15:37:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5689 omx: Return port definition update errors
5691 2013-02-28 13:57:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5693 * config/rpi/gstomx.conf:
5696 omx: Add hack for RPi for the minimum number of buffers required for a port
5697 The value in the port definition is invalid and the initial actual
5698 buffer count should be used.
5700 2013-02-28 13:26:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5703 omx: Always tell the component about the right number of buffers that we're going to allocate
5705 2013-02-28 13:07:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5708 omx: Invert assertion to let it express what was intended
5710 2013-02-28 11:19:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5714 * omx/gstomxaudioenc.c:
5715 * omx/gstomxvideodec.c:
5716 * omx/gstomxvideoenc.c:
5717 omx: Add API for allocating a specific number of buffers and using EGLImages or buffers allocated elsewhere
5719 2013-02-27 16:55:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5721 * omx/gstomxaudioenc.c:
5722 * omx/gstomxvideodec.c:
5723 * omx/gstomxvideoenc.c:
5724 omx: Refactor code flow a bit if output port settings have changed
5726 2013-02-27 15:49:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5730 * omx/gstomxaudioenc.c:
5731 * omx/gstomxvideodec.c:
5732 * omx/gstomxvideoenc.c:
5733 omx: Clean up port settings change handling
5735 2013-02-27 11:30:14 +0100 Josep Torra <n770galaxy@gmail.com>
5737 * omx/gstomxvideodec.c:
5738 omxvideodec: initialize param structure before using it
5740 2013-02-27 10:21:39 +0100 Josep Torra <n770galaxy@gmail.com>
5742 * omx/gstomxvideoenc.c:
5743 omxvideoenc: prevent a NULL pointer access
5745 2013-02-26 17:25:49 +0100 Josep Torra <n770galaxy@gmail.com>
5747 * omx/gstomxvideodec.c:
5748 omxvideodec: prevent a NULL pointer access
5750 2013-02-25 13:11:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5753 omx: Fix deadlock during reconfiguration
5755 2013-02-25 12:38:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5758 * omx/gstomxaudioenc.c:
5759 * omx/gstomxvideodec.c:
5760 * omx/gstomxvideoenc.c:
5761 omx: Auto-detect the port indizes if possible
5763 2013-02-25 11:42:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5765 * omx/gstomxvideodec.c:
5766 * omx/gstomxvideoenc.c:
5767 omx: Refactor querying of component supported caps into its own function
5769 2013-02-25 10:41:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5773 * omx/gstomxaudioenc.c:
5774 * omx/gstomxvideodec.c:
5775 * omx/gstomxvideoenc.c:
5776 omx: Refactor waiting for buffers to be released by the component to a separate function
5778 2013-01-11 17:44:13 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5782 omx: Add methods to set up and close a tunnel between components
5784 2013-02-25 09:15:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5786 * omx/gstomxaacenc.c:
5787 * omx/gstomxaudioenc.c:
5788 * omx/gstomxaudioenc.h:
5789 omxaudioenc: Rename component variable
5791 2013-02-25 09:15:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5793 * omx/gstomxh263enc.c:
5794 * omx/gstomxh264enc.c:
5795 * omx/gstomxmpeg4videoenc.c:
5796 * omx/gstomxvideoenc.c:
5797 * omx/gstomxvideoenc.h:
5798 omxvideoenc: Rename component variable
5800 2013-02-25 09:12:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5802 * omx/gstomxvideodec.c:
5803 * omx/gstomxvideodec.h:
5804 omxvideodec: Rename component variable
5806 2013-02-22 16:27:33 +0100 Josep Torra <n770galaxy@gmail.com>
5808 * omx/gstomxvideoenc.c:
5809 omxvideoenc: remove duplicated line
5811 2013-02-22 10:42:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5814 Retry loading libbcm_host.so without an absolute path if that failed
5816 2013-02-21 20:32:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5818 * config/bellagio/Makefile.am:
5819 Add missing file from last commit
5821 2013-02-21 11:01:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5823 * config/Makefile.am:
5824 * config/bellagio/gstomx.conf:
5827 Add OpenMAX IL target for Bellagio
5828 Not tested since a very long time though.
5830 2013-02-21 10:59:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5834 Allow using external OpenMAX IL headers
5836 2013-02-21 10:14:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5841 2013-02-21 10:13:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5843 * config/Makefile.am:
5844 * config/rpi/Makefile.am:
5845 * config/rpi/gstomx.conf:
5847 Install the RPI config when the RPI target is selected
5849 2013-02-21 10:08:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5852 Set default hacks for the RPI target and always initialize bcm_host
5854 2013-02-21 10:05:37 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5857 Add configure parameter for setting the OpenMAX IL target
5859 2013-02-12 11:55:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5862 omx: Add FIXME for the future
5864 2013-02-12 11:49:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5868 * omx/gstomxaudioenc.c:
5869 * omx/gstomxaudioenc.h:
5870 * omx/gstomxvideodec.c:
5871 * omx/gstomxvideodec.h:
5872 * omx/gstomxvideoenc.c:
5873 * omx/gstomxvideoenc.h:
5874 omx: Some minor refactoring and cleanup
5876 2013-02-12 11:45:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5879 omx: Don't access the port's buffers array if it wasn't allocated yet
5881 2013-02-12 11:44:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5884 omx: Mark an array as const
5886 2013-02-12 11:41:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5890 * omx/gstomxaudioenc.c:
5891 * omx/gstomxvideodec.c:
5892 * omx/gstomxvideoenc.c:
5893 omx: Split enabling/disabling of port into sending the command and waiting for it
5894 This allows to do anything necessary after sending the command to actually let it finish
5896 2013-02-12 11:37:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5899 omx: Flushing is also allowed in Paused state
5901 2013-02-12 11:28:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5903 * omx/gstomxvideoenc.c:
5904 omxvideoenc: Set stride, slice height and buffer size
5906 2013-02-12 11:09:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5908 * config/raspberry-pi.conf:
5909 config: Add h264 and mpeg2 encoders to the raspberry pi config
5910 Not completely working yet though.
5912 2013-02-12 11:03:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5914 * omx/gstomxvideoenc.c:
5915 omxvideoenc: Properly negotiate OMX color format with the component
5917 2013-02-12 10:53:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5919 * omx/gstomxvideoenc.c:
5920 omxvideoenc: Implement getcaps() vfunc
5922 2013-01-29 21:32:53 +0000 Tim-Philipp Müller <tim@centricular.net>
5925 configure: use 1.0 gstconfig.h to detect disabled subsystems
5926 Update unused configure check for GStreamer core subsystem
5927 features from 0.10 to 1.0.
5929 2013-01-28 20:44:41 +0100 Stefan Sauer <ensonic@users.sf.net>
5932 Automatic update of common submodule
5933 From a942293 to 2de221c
5935 2013-01-24 14:02:36 +0100 Julian Scheel <julian@jusst.de>
5937 * config/raspberry-pi.conf:
5940 * omx/gstomxmpeg2dec.c:
5941 * omx/gstomxmpeg2dec.h:
5942 omx: add mpeg2 video decoder
5943 This adds a decoder class for mpeg2, as well as an extended
5944 configuration for raspberry pi.
5945 https://bugzilla.gnome.org/show_bug.cgi?id=692446
5946 Signed-off-by: Julian Scheel <julian@jusst.de>
5948 2013-01-18 16:47:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5951 omx: Minimize the time when the messages lock is held
5952 Fixes a deadlock if any OMX functions are called when the
5953 messages are handled.
5954 Thanks to Nicolas Dufresne for noticing.
5956 2013-01-18 15:28:20 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5959 omx: improve debug message when we can't find the config file
5960 Mention where we looked for the config file.
5962 2013-01-18 12:34:38 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5965 build: fix autogen.sh with automake 1.13
5966 AM_CONFIG_HEADER -> AC_CONFIG_HEADERS
5968 2013-01-17 18:07:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5971 * omx/gstomxaudioenc.h:
5972 * omx/gstomxvideodec.h:
5973 * omx/gstomxvideoenc.h:
5974 omx: Fix includes to properly work with the 1.0 releases
5976 2013-01-15 15:08:28 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5979 Automatic update of common submodule
5980 From a72faea to a942293
5982 2013-01-15 14:34:45 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5985 omx: Update port definition when changing some port setting
5987 2013-01-14 11:41:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5991 omx: Rename from libgstopenmax.so to ligstomx.so for consistency
5993 2013-01-11 15:32:22 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
5996 omx: Add a method to send message
5998 2013-01-11 15:44:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6002 omx: Atomic ops are not required anymore for the reconfiguration
6004 2013-01-11 12:52:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6006 * omx/gstomxaudioenc.c:
6007 * omx/gstomxvideodec.c:
6008 * omx/gstomxvideoenc.c:
6009 omx: Fix some memory leaks and suboptimal locking
6011 2013-01-11 12:34:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6013 * omx/gstomxvideoenc.c:
6014 omxvideoenc: Don't forget to unmap frame in error cases
6016 2013-01-11 12:29:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6018 * omx/gstomxvideoenc.c:
6019 omxvideoenc: Fix copying of the video frames to the OMX buffers
6021 2013-01-11 12:24:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6023 * omx/gstomxvideodec.c:
6024 omxvideodec: Fix copying of the video frames from the OMX buffers
6026 2013-01-10 14:44:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6031 * omx/gstomxaudioenc.c:
6032 * omx/gstomxrecmutex.c:
6033 * omx/gstomxrecmutex.h:
6034 omx: Implement new approach for locking that should solve all deadlocks on RPi
6035 No mutex is locked while calling any OpenMAX functions anymore
6036 and everything from the OpenMAX callbacks is inserted into a message
6037 queue and handled from outside the callbacks.
6038 Also there's only a single mutex and condition variable per component
6039 now for handling anything from OpenMAX callbacks and a single mutex
6040 for keeping our component/port state sane.
6042 2012-12-20 19:30:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6044 * omx/gstomxvideodec.c:
6045 omxvideodec: Set the OMX buffer nFilledLength field properly
6047 2012-12-20 18:48:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6049 * omx/gstomxrecmutex.c:
6050 * omx/gstomxrecmutex.h:
6051 omxrecmutex: Fix another race condition when two threads are trying to lock for recursion at the same time
6053 2012-12-20 18:16:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6055 * omx/gstomxrecmutex.c:
6056 * omx/gstomxrecmutex.h:
6057 omxrecmutex: Fix yet another race condition that resulted in deadlocks
6059 2012-12-20 17:46:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6062 * omx/gstomxrecmutex.c:
6063 * omx/gstomxrecmutex.h:
6064 omx: Fix another race condition in the recursive mutex
6065 Between lock() and begin_recursion() it was possible for another thread to
6066 try to do a recursive_lock(). This would block because the mutex was already
6067 locked(), but not ready for recursive locking yet. unlock() would never
6068 happen in the original thread because it was waiting for the other thread
6070 Happened on the Raspberry Pi.
6072 2012-12-20 14:45:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6074 * omx/gstomxrecmutex.c:
6075 * omx/gstomxrecmutex.h:
6076 omxrecmutex: Fix a small race condition when unlocking a non-recursive lock
6078 2012-12-20 12:30:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6080 * omx/gstomxaudioenc.c:
6081 * omx/gstomxvideodec.c:
6082 * omx/gstomxvideoenc.c:
6083 omx: Fix ununsed variable compiler warning
6085 2012-12-20 12:27:47 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6087 * omx/gstomxaudioenc.c:
6088 * omx/gstomxvideodec.c:
6089 * omx/gstomxvideoenc.c:
6090 omx: No need to start the srcpad task in ::start() already
6091 It will be started properly after the caps are set.
6093 2012-12-20 12:23:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6095 * omx/gstomxvideodec.c:
6096 omxvideodec: OMX_ErrorNoMore is no error and just means we ended iteration
6098 2012-12-20 12:20:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6100 * omx/gstomxaudioenc.c:
6101 * omx/gstomxvideodec.c:
6102 * omx/gstomxvideoenc.c:
6103 omx: Improve debug output
6105 2012-12-20 12:02:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6107 * omx/gstomxvideodec.c:
6108 omxvideodec: Don't forget to free a GList
6110 2012-12-20 11:56:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6112 * omx/gstomxvideodec.c:
6113 omxvideodec: Map OMX_COLOR_FormatYUV420PackedPlanar to I420 too
6114 This is used on the Raspberry Pi.
6116 2012-12-20 11:55:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6118 * omx/gstomxvideodec.c:
6119 omxvideodec: During negotiation of the output format make sure we use the correct OpenMAX format
6121 2012-12-20 11:42:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6123 * omx/gstomxvideodec.c:
6124 omxvideodec: If negotiation fails this could also mean that the component can't do it at this point yet
6126 2012-12-20 11:40:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6128 * omx/gstomxvideodec.c:
6129 omxvideodec: Improve format negotiation a bit
6130 Don't leak caps and make sure to fixate caps.
6132 2012-12-19 13:05:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6135 omx: Also initialize nStep field of the OMX structures
6137 2012-12-19 13:03:37 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6140 omx: Initialize struct version with the OMX version we compiled with
6142 2012-12-19 12:44:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6144 * omx/gstomxvideodec.c:
6145 omxvideodec: Extract data from the input buffer, not the codec data
6147 2012-12-19 12:19:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6150 * tools/listcomponents.c:
6151 omx: Use has_suffix() instead of has_prefix() for the Broadcom hack
6153 2012-12-19 12:08:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6157 * tools/Makefile.am:
6158 * tools/listcomponents.c:
6159 tools: Add tool to list all components and their roles
6161 2012-12-19 11:31:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6164 omx: Add hack to load and initialize libbcm_host.so
6165 Needed on the Raspberry Pi. Patch based on a patch by
6166 George Kiagiadakis <george.kiagiadakis@collabora.com>
6168 2012-12-19 11:22:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6172 configure: Add configure option to pack OpenMAX structures
6173 This is required to set to 4 for the Raspberry Pi for example.
6175 2012-12-19 11:07:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6178 configure: Require GStreamer 1.0.0
6180 2012-04-20 17:13:52 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
6183 omx: Initialize structures to version 1.1.2
6185 2012-12-19 09:51:22 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6188 * config/Makefile.am:
6189 * config/raspberry-pi.conf:
6191 config: Add raspberry-pi configuration in a different directory
6193 2012-05-20 20:11:59 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
6195 * omx/gstomx-raspberry.conf:
6196 raspberry: Add a gstomx.conf for the Raspberry Pi
6198 2012-12-12 17:45:39 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6201 * omx/gstomxvideoenc.h:
6202 omx: Fix some compilation errors caused by circular includes
6204 2012-11-19 11:29:44 +0000 Tim-Philipp Müller <tim@centricular.net>
6207 Automatic update of common submodule
6208 From 6bb6951 to a72faea
6210 2012-11-12 15:14:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6212 * omx/gstomxvideodec.c:
6213 * omx/gstomxvideoenc.c:
6214 omx: Fix refcount problem with frames being dropped because of decoder bugs
6216 2012-11-12 11:29:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6220 * omx/gstomxaudioenc.c:
6221 * omx/gstomxaudioenc.h:
6222 * omx/gstomxrecmutex.c:
6223 * omx/gstomxrecmutex.h:
6224 * omx/gstomxvideodec.c:
6225 * omx/gstomxvideodec.h:
6226 * omx/gstomxvideoenc.c:
6227 * omx/gstomxvideoenc.h:
6228 omx: Update to new GLib thread API
6230 2012-10-22 14:34:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6232 * omx/gstomxvideodec.c:
6233 * omx/gstomxvideoenc.c:
6234 omx: Use open/close vfuncs
6236 2012-10-22 14:28:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6238 * omx/gstomxvideodec.c:
6239 * omx/gstomxvideoenc.c:
6240 omx: Handle video meta correctly
6242 2012-06-20 13:11:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6245 * omx/gstbasevideocodec.c:
6246 * omx/gstbasevideocodec.h:
6247 * omx/gstbasevideodecoder.c:
6248 * omx/gstbasevideodecoder.h:
6249 * omx/gstbasevideoencoder.c:
6250 * omx/gstbasevideoencoder.h:
6251 * omx/gstbasevideoutils.c:
6252 * omx/gstbasevideoutils.h:
6253 * omx/gstomxh263dec.c:
6254 * omx/gstomxh263enc.c:
6255 * omx/gstomxh264dec.c:
6256 * omx/gstomxh264enc.c:
6257 * omx/gstomxmpeg4videodec.c:
6258 * omx/gstomxmpeg4videoenc.c:
6259 * omx/gstomxvideodec.c:
6260 * omx/gstomxvideodec.h:
6261 * omx/gstomxvideoenc.c:
6262 * omx/gstomxvideoenc.h:
6263 * omx/gstomxwmvdec.c:
6264 omx: Port to video base classes from -base
6266 2012-10-17 17:57:43 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
6268 * omx/gstomxaacenc.c:
6269 * omx/gstomxh263dec.c:
6270 * omx/gstomxh263enc.c:
6271 * omx/gstomxh264dec.c:
6272 * omx/gstomxh264enc.c:
6273 * omx/gstomxmpeg4videodec.c:
6274 * omx/gstomxmpeg4videoenc.c:
6275 * omx/gstomxwmvdec.c:
6276 omx: gst_element_class_set_details_simple() -> set_static_metadata()
6278 2012-10-06 15:01:11 +0100 Tim-Philipp Müller <tim@centricular.net>
6281 Automatic update of common submodule
6282 From 6c0b52c to 6bb6951
6284 2012-09-22 16:10:38 +0100 Tim-Philipp Müller <tim@centricular.net>
6287 Automatic update of common submodule
6288 From 4f962f7 to 6c0b52c
6290 2012-06-21 20:22:13 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
6293 omx: fix debug statement
6295 2012-06-21 20:21:03 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
6298 omx: use recursive_lock inside set_last_error(), since this function may be called from an event handler
6300 2012-08-22 13:31:59 +0200 Stefan Sauer <ensonic@users.sf.net>
6303 Automatic update of common submodule
6304 From 668acee to 4f962f7
6306 2012-08-05 16:42:43 +0100 Tim-Philipp Müller <tim@centricular.net>
6309 Automatic update of common submodule
6310 From 94ccf4c to 668acee
6312 2012-08-03 19:32:13 +0100 Tim-Philipp Müller <tim@centricular.net>
6315 omx: fix plugin name for new GST_PLUGIN_DEFINE API
6317 2012-07-23 08:47:32 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6320 Automatic update of common submodule
6321 From 98e386f to 94ccf4c
6323 2012-07-10 09:57:09 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6325 * omx/gstbasevideodecoder.c:
6326 omx: Update for allocation query API changes
6328 2012-06-20 11:09:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6330 * omx/gstomxaudioenc.c:
6331 * omx/gstomxvideodec.c:
6332 * omx/gstomxvideoenc.c:
6333 omx: Fix compilation after gst_pad_start_task() API changes
6335 2012-06-08 15:06:35 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
6338 Automatic update of common submodule
6339 From 03a0e57 to 98e386f
6341 2012-06-06 18:20:18 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
6344 Automatic update of common submodule
6345 From 1fab359 to 03a0e57
6347 2012-06-01 10:30:27 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
6350 Automatic update of common submodule
6351 From f1b5a96 to 1fab359
6353 2012-05-31 13:10:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6356 Automatic update of common submodule
6357 From 92b7266 to f1b5a96
6359 2012-05-30 12:47:59 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6362 Automatic update of common submodule
6363 From ec1c4a8 to 92b7266
6365 2012-05-30 11:26:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6368 Automatic update of common submodule
6369 From 3429ba6 to ec1c4a8
6371 2012-05-13 15:58:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6374 Automatic update of common submodule
6375 From dc70203 to 3429ba6
6377 2012-05-08 16:13:32 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
6380 omx: Fix spelling mistake found by lintian: s/Seperate/Separate/
6382 2012-04-30 23:58:43 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
6387 * omx/gstomxaudioenc.c:
6388 * omx/gstomxrecmutex.c:
6389 * omx/gstomxrecmutex.h:
6390 * omx/gstomxvideodec.c:
6391 * omx/gstomxvideoenc.c:
6392 Implement a new custom recursive mutex type and fix locking in callbacks so that in-context calls are allowed.
6393 According to the OMX specification, implementations are allowed to call
6394 callbacks in the context of their function calls. However, our callbacks
6395 take locks and this causes deadlocks if the unerlying OMX implementation
6396 uses this kind of in-context calls.
6397 A solution to the problem would be a recursive mutex. However, a normal
6398 recursive mutex does not fix the problem because it is not guaranteed
6399 that the callbacks are called from the same thread. What we see in Broadcom's
6400 implementation for example is:
6402 - OMX_Foo waits on a condition
6403 - A callback is executed in a different thread
6404 - When the callback returns, its calling function
6405 signals the condition that OMX_Foo waits on
6406 - OMX_Foo wakes up and returns
6407 The solution I came up with here is to take a second lock inside the callback,
6408 but only if recursion is expected to happen. Therefore, all calls to OMX
6409 functions are guarded by calls to gst_omx_rec_mutex_begin_recursion() / _end_recursion(),
6410 which effectively tells the mutex that at this point we want to allow calls
6411 to _recursive_lock() to succeed, although we are still holding the master lock.
6413 2012-04-20 14:51:34 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
6417 omx: Add hack to disable setting roles to components.
6421 2012-04-30 23:20:24 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
6424 * omx/gstomxvideodec.c:
6425 omxvideodec: Implement no-empty-eos-buffer hack, as in omxvideoenc.
6427 omx/gstomxvideodec.c
6429 2012-04-30 23:19:55 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
6431 * omx/gstomxvideodec.c:
6432 omxvideodec: Fix coding style in the drain-may-not-return hack code
6434 2012-04-25 19:03:48 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
6437 omx: Fix trivial debug print bug
6439 2012-04-25 19:01:32 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
6443 * omx/gstomxvideodec.c:
6444 omxvideodec: Add hack for Ducati components not returning from drain
6445 This happens on the Galaxy Nexus, and causes the pipeline to hang waiting
6446 endlessly for a drain. The hack replaces the wait with a wait + 500ms timeout.
6448 2012-04-25 16:35:40 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
6451 omx: Fix deadlock between ending a flush and the event handler
6452 gst_omx_port_set_flushing() calls OMX_FillThisBuffer at the end of a flush
6453 without releasing the port lock, and this can cause a deadlock with the
6454 EventHandler. This patches fixes this by dropping the lock for the duration of
6455 the fill buffer call.
6457 2012-04-24 15:41:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6459 * omx/gstbasevideodecoder.c:
6460 * omx/gstbasevideoencoder.c:
6461 omx: Update video encoder/decoder base classes from gst-plugins-bad
6463 2012-04-16 09:16:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6466 configure: Modernize autotools setup a bit
6467 Also we now only create tar.bz2 and tar.xz tarballs.
6469 2012-04-16 09:12:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6472 Automatic update of common submodule
6474 2012-04-16 08:34:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6476 * omx/gstomxaudioenc.c:
6477 omxaudioenc: Use gst_buffer_extract() to copy the input buffer data to the OpenMAX buffer
6479 2012-04-13 17:16:42 -0400 Alessandro Decina <alessandro.decina@collabora.com>
6482 Fix relative/absolute path glitch
6483 Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
6485 2012-04-12 15:57:32 -0400 Olivier Crête <olivier.crete@collabora.com>
6490 * omx/gstbasevideocodec.c:
6491 * omx/gstbasevideocodec.h:
6492 * omx/gstbasevideodecoder.c:
6493 * omx/gstbasevideodecoder.h:
6494 * omx/gstbasevideoencoder.c:
6495 * omx/gstbasevideoencoder.h:
6498 * omx/gstomxaacenc.c:
6499 * omx/gstomxaudioenc.c:
6500 * omx/gstomxaudioenc.h:
6501 * omx/gstomxh263dec.c:
6502 * omx/gstomxh263enc.c:
6503 * omx/gstomxh264dec.c:
6504 * omx/gstomxh264enc.c:
6505 * omx/gstomxmpeg4videodec.c:
6506 * omx/gstomxmpeg4videoenc.c:
6507 * omx/gstomxvideodec.c:
6508 * omx/gstomxvideodec.h:
6509 * omx/gstomxvideoenc.c:
6510 * omx/gstomxvideoenc.h:
6511 * omx/gstomxwmvdec.c:
6514 2012-01-18 16:53:16 -0300 Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
6518 Enable building with Android's buildsystem
6519 This change adds prelimary buildsystem hooks to
6520 build gst-omx with the Android buildsystem. Like
6521 the rest of GStreamer's Android hooks, the process
6522 relies on the availability of androgenizer. A tool
6523 developed by Collabora to automatically generate
6524 Android.mk files from within the auto* setup.
6525 Androgenizer is currently available at:
6526 http://cgit.collabora.com/git/user/derek/androgenizer.git/
6528 2011-12-13 10:17:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6530 * omx/gstbasevideocodec.c:
6531 basevideocodec: Don't use G_TYPE_REGISTER_BOXED() yet
6532 This would require GLib 2.26.
6534 2011-12-14 10:09:34 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
6536 * omx/gstomxaudioenc.c:
6537 omxaudioenc: Add hack for encoder components that don't allow empty EOS buffers
6539 2011-12-14 10:07:29 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
6541 * omx/gstomxvideoenc.c:
6542 omxvideoenc: Fix deadlock when using the EOS hack
6544 2011-12-12 14:26:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6546 * omx/gstomxvideoenc.c:
6547 omxvideoenc: Remove workaround for basevideocodec bug
6549 2011-12-12 14:26:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6551 * omx/gstomxvideodec.c:
6552 omxvideodec: Remove workaround for basevideocodec bug
6554 2011-12-05 17:57:01 +0000 Matej Knopp <matej.knopp@gmail.com>
6556 * omx/gstbasevideocodec.c:
6557 * omx/gstbasevideocodec.h:
6558 * omx/gstbasevideodecoder.c:
6559 * omx/gstbasevideoencoder.c:
6560 basevideo: Make GstVideoFrame a reference counted boxed object
6561 ...and also clear all existing frames when resetting the decoder or encoder.
6563 2011-12-09 12:17:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6567 * omx/gstomxvideoenc.c:
6568 omx: Add hack for encoder components that don't allow empty EOS buffers
6570 2011-12-09 10:21:47 +0100 Dake Gu <Dake.Gu@palm.com>
6572 * omx/gstomxaacenc.c:
6573 omxaacenc: Generate and set codec_data on the caps for raw AAC
6575 2011-10-31 11:36:06 +0100 Alessandro Decina <alessandro.decina@collabora.co.uk>
6577 * omx/gstbasevideoencoder.c:
6578 basevideoencoder: handle failures in start() and stop()
6580 2011-08-26 10:50:38 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
6582 * omx/gstbasevideoencoder.c:
6583 basevideoenc: do not try to calculate latency from an unknown framerate
6584 It'll divide by zero, and latency is unknown for an unknown framerate.
6585 Fixes an assert in the schroenc test.
6586 https://bugzilla.gnome.org/show_bug.cgi?id=657419
6588 2011-12-08 11:50:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6590 * omx/gstbasevideoencoder.c:
6591 basevideoencoder: Only make the header buffer metadata writable, not the buffer
6593 2011-12-08 10:18:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6595 * omx/gstbasevideoencoder.c:
6596 basevideoencoder: Fix handling of force-keyunit events
6598 2011-12-06 13:28:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6600 * omx/gstomxaudioenc.c:
6601 omxaudioenc: Don't forward EOS events immediately but let all other events be handled by the base class
6602 Previously this logic was inversed, which did not make any sense at all.
6604 2011-12-06 12:47:25 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6606 * omx/gstomxaudioenc.c:
6607 * omx/gstomxaudioenc.h:
6608 omxaudioenc: Use correct timestamp, duration and filled length for the EOS buffers
6610 2011-12-06 12:47:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6612 * omx/gstomxvideodec.c:
6613 * omx/gstomxvideodec.h:
6614 omxvideodec: Use correct timestamp, duration and filled length for the EOS buffers
6616 2011-12-06 12:46:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6618 * omx/gstomxvideoenc.c:
6619 * omx/gstomxvideoenc.h:
6620 omxvideoenc: Use correct timestamp, duration and filled length for the EOS buffers
6622 2011-12-05 13:18:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6625 omx: Improve debugging of buffer handling
6627 2011-12-05 08:12:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6629 * omx/gstomxvideoenc.c:
6630 omxvideoenc: Drop EOS events in ::finish()
6631 The event will be forwarded downstream from the srcpad
6632 loop function after the last buffer was generated by the
6633 component. Forwarding it after ::finish() will use the
6634 sinkpad streaming thread and does not guarantee that
6635 the encoder is completely drained.
6637 2011-12-01 16:20:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6639 * omx/gstomxvideodec.c:
6640 omxvideodec: Properly drop frames due to QoS
6641 Instead of finishing them they should be passed to drop(), which
6642 will then send QoS messages.
6644 2011-11-29 12:21:32 +0100 Jonas Larsson <jonas@hallerud.se>
6646 * omx/gstomxh264enc.c:
6647 omxh264enc: Add support for resending headers after a forced-keyframe
6649 2011-11-29 12:12:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6651 * omx/gstbasevideocodec.h:
6652 * omx/gstbasevideoencoder.c:
6653 basevideoencoder: Pass the all-headers field of the force-key-unit event to the subclass
6655 2011-11-29 12:12:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6657 * omx/gstbasevideoencoder.c:
6658 * omx/gstbasevideoencoder.h:
6659 basevideoencoder: Implement full support for the new force-key-unit event
6660 Including support for the running-time and count fields.
6662 2011-11-29 09:31:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6664 * omx/gstbasevideoencoder.c:
6665 basevideoencoder: Use new force-keyunit event API from gst-plugins-base
6667 2011-11-29 09:18:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6669 * omx/gstbasevideoencoder.c:
6670 * omx/gstbasevideoencoder.h:
6671 basevideoencoder: Adjusting padding is not required for -bad libraries
6673 2011-11-28 19:48:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6675 * omx/gstbasevideoencoder.h:
6676 basevideoencoder: Move some fields to the private part of the instance struct
6678 2011-11-28 19:36:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6680 * omx/gstbasevideoencoder.c:
6681 basevideoencoder: Make headers metadata writable before pushing downstream
6682 The timestamp, duration, etc of the headers has to be changed.
6684 2011-11-28 19:35:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6686 * omx/gstbasevideoencoder.c:
6687 * omx/gstbasevideoencoder.h:
6688 basevideoencoder: Push the downstream force-keyframe event after the next keyframe
6689 Even if the corresponding GstVideoFrame doesn't have the is_sync_point
6692 2011-11-28 19:29:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6694 * omx/gstbasevideoencoder.c:
6695 * omx/gstbasevideoencoder.h:
6696 basevideoencoder: Don't push an upstream force-keyunit event downstream
6698 2011-11-25 11:48:08 +0100 Jonas Larsson <jonas@hallerud.se>
6700 * omx/gstbasevideoencoder.c:
6701 * omx/gstbasevideoencoder.h:
6702 basevideoencoder: Add initial support for the all-headers field of the force-keyframe event
6705 2011-11-25 11:37:39 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
6707 * omx/gstbasevideodecoder.c:
6708 basevideodecoder: some more debug logging
6710 2011-11-23 20:03:32 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
6712 * omx/gstbasevideodecoder.c:
6713 * omx/gstbasevideodecoder.h:
6714 basevideodecoder: add API to drop a frame and post a QoS message on the bus
6715 https://bugzilla.gnome.org/show_bug.cgi?id=640017
6716 API: gst_base_video_decoder_drop_frame()
6718 2011-11-22 23:04:49 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
6720 * omx/gstbasevideodecoder.c:
6721 docs: fix comment in gst_base_video_decoder_get_max_decode_time() docs
6723 2011-11-22 19:57:07 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
6725 * omx/gstbasevideodecoder.c:
6726 basevideodecoder: fix weird event list handling
6727 Get rid of weird code that copies a list manually, taking
6728 ownership of the elements and then frees the old list. Instead,
6729 just take over the old list entirely. (If the intent was to
6730 reverse the list, one could use g_list_reverse() instead).
6731 Then, push events in the list out from last to first (since they
6732 were prepended as they came in) instead of just pushing out the
6733 last in the list and leaking the others.
6735 2011-11-25 11:31:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6739 * omx/gstbaseaudiodecoder.c:
6740 * omx/gstbaseaudiodecoder.h:
6741 * omx/gstbaseaudioencoder.c:
6742 * omx/gstbaseaudioencoder.h:
6743 * omx/gstbaseaudioutils.c:
6744 * omx/gstbaseaudioutils.h:
6745 * omx/gstomxaacenc.c:
6746 * omx/gstomxaudioenc.c:
6747 * omx/gstomxaudioenc.h:
6748 omxaudioenc: Use audio base classes from gst-plugins-base instead of having our own copies
6750 2011-11-18 10:00:31 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6752 * omx/gstomxaudioenc.c:
6753 omxaudioenc: First set ports to flushing before waiting for the srcpad streaming thread to finish
6755 2011-11-18 09:59:43 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6757 * omx/gstomxvideoenc.c:
6758 omxvideoenc: First set ports to flushing before waiting for the srcpad streaming thread to finish
6760 2011-11-18 09:58:58 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6762 * omx/gstomxvideodec.c:
6763 omxvideodec: First set ports to flushing before waiting for the srcpad streaming thread to finish
6765 2011-11-17 14:38:54 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6768 omx: Only disabling of a port is like flushing, enabling is like unflushing
6770 2011-11-17 13:33:35 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6773 omx: Enabling/disabling a port is also like flushing
6774 The component returns all buffers to us and shouldn't get any
6775 new buffers passed anymore.
6777 2011-11-17 11:26:33 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6779 * omx/gstomxaudioenc.c:
6780 omxaudioenc: Signal the drain GCond even if downstream returned an error
6782 2011-11-17 11:26:20 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6784 * omx/gstomxvideoenc.c:
6785 omxvideoenc: Signal the drain GCond even if downstream returned an error
6787 2011-11-17 11:25:52 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6789 * omx/gstomxvideodec.c:
6790 omxvideodec: Signal the drain GCond even if downstream returned an error
6792 2011-11-17 10:34:19 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6794 * omx/gstbasevideoencoder.c:
6795 basevideoencoder: Only call ::reset once in READY->PAUSED
6797 2011-11-17 10:19:35 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6799 * omx/gstomxaudioenc.c:
6800 omxaudioenc: Shutdown component in PAUSED->READY and deallocate buffers
6802 2011-11-17 10:19:30 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6804 * omx/gstomxvideoenc.c:
6805 omxvideoenc: Shutdown component in PAUSED->READY and deallocate buffers
6807 2011-11-17 10:19:10 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6809 * omx/gstomxvideodec.c:
6810 omxvideodec: Shutdown component in PAUSED->READY and deallocate buffers
6812 2011-11-16 12:02:08 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6814 * omx/gstomxvideoenc.c:
6815 omxvideoenc: Set force_keyframe to FALSE after handling it
6816 There's no reason why the base class should forward the event
6817 further downstream if we already handled it and will insert a
6820 2011-11-16 11:21:25 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6822 * omx/gstomxvideodec.c:
6823 omxvideodec: Always push buffers downstream, even if we didn't find a corresponding GstVideoFrame
6825 2011-11-15 09:47:55 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6828 omx: Fix debug level for flushing in wrong state from ERROR to DEBUG
6829 It's not really an error and doesn't matter at all if flush is called
6830 when the component is not running.
6832 2011-11-15 08:40:07 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6834 * omx/gstomxh264enc.c:
6835 omxh264enc: Detect bytestream stream format and don't put SPS/PPS into the caps for this format
6837 2011-11-15 08:28:32 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6839 * omx/gstomxvideoenc.c:
6840 * omx/gstomxvideoenc.h:
6841 omxvideoenc: Add vfunc for handling the output frames
6842 This can be used by subclasses to override the buffer flags
6843 or to handle some frames differently than the default behaviour.
6845 2011-11-14 12:50:26 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6847 * omx/gstomxvideodec.c:
6848 omxvideodec: Don't release buffers twice if dropping because of QoS
6850 2011-11-14 09:13:06 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6853 omx: Add XXX to the nOffset reset hack comment for QCOM
6855 2011-11-10 15:18:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6857 * omx/gstomxaudioenc.c:
6858 omxaudioenc: Make srcpad caps setting threadsafe
6860 2011-11-10 15:17:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6862 * omx/gstomxvideoenc.c:
6863 omxvideoenc: Make srcpad caps setting threadsafe
6865 2011-11-10 15:17:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6867 * omx/gstomxvideodec.c:
6868 omxvideodec: Make srcpad caps setting threadsafe
6870 2011-11-10 15:10:14 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6872 * omx/gstomxaudioenc.c:
6873 omxaudioenc: Make the srcpad task and the sinkpad streaming thread handling threadsafe
6875 2011-11-10 15:03:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6877 * omx/gstomxaudioenc.c:
6878 omxaudioenc: Always flush the ports and make sure no processing is happening in ::flush
6879 This fixes a race condition that happened when seeking
6880 very often in a short period of time.
6882 2011-11-10 15:02:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6884 * omx/gstomxvideoenc.c:
6885 omxvideoenc: Always flush the ports and make sure no processing is happening in ::reset
6886 This fixes a race condition that happened when seeking
6887 very often in a short period of time.
6889 2011-11-10 15:01:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6891 * omx/gstomxvideoenc.c:
6892 omxvideoenc: Fix minor race condition when draining after upstream signalled EOS
6894 2011-11-10 14:56:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6896 * omx/gstomxaudioenc.c:
6897 omxaudioenc: Improve EOS handling
6898 If downstream return UNEXPECTED we should still signal the
6899 drain cond because nothing will trigger this again later.
6901 2011-11-10 14:56:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6903 * omx/gstomxvideoenc.c:
6904 omxvideoenc: Improve EOS handling
6905 If downstream return UNEXPECTED we should still signal the
6906 drain cond because nothing will trigger this again later.
6908 2011-11-10 14:54:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6910 * omx/gstomxaudioenc.c:
6911 omxaudioenc: Improve debugging of EOS and draining
6913 2011-11-10 14:54:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6915 * omx/gstomxvideoenc.c:
6916 omxvideoenc: Improve debugging of EOS and draining
6918 2011-11-10 14:51:06 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6920 * omx/gstomxvideodec.c:
6921 omxvideodec: Log if acquiring buffer for EOS failed
6923 2011-11-10 14:42:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6925 * omx/gstomxvideodec.c:
6926 omxvideodec: The component is not started in READY
6928 2011-11-10 14:39:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6930 * omx/gstomxaudioenc.c:
6931 omxaudioenc: No need to signal the drain cond when going from READY to PAUSED
6932 Also the component is not started in READY
6934 2011-11-10 14:40:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6936 * omx/gstomxvideoenc.c:
6937 omxvideoenc: No need to signal the drain cond when going from READY to PAUSED
6938 Also the component is not started in READY.
6940 2011-11-09 15:46:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6942 * omx/gstomxvideodec.c:
6943 omxvideodec: Always flush the ports and make sure no processing is happening in ::reset
6944 This fixes a race condition that happened when seeking
6945 very often in a short period of time.
6947 2011-11-09 15:45:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6949 * omx/gstomxvideodec.c:
6950 omxvideodec: Fix minor race condition when draining after upstream signalled EOS
6952 2011-11-09 15:44:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6954 * omx/gstomxvideodec.c:
6955 omxvideodec: Improve EOS handling
6956 If downstream return UNEXPECTED we should still signal the
6957 drain cond because nothing will trigger this again later.
6959 2011-11-09 15:43:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6961 * omx/gstomxvideodec.c:
6962 omxvideodec: Improve debugging of EOS and draining
6964 2011-11-09 15:42:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6966 * omx/gstomxvideodec.c:
6967 omxvideodec: The component is not started already when going from READY to PAUSED
6969 2011-11-09 15:42:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6971 * omx/gstomxvideodec.c:
6972 omxvideodec: No need to signal the drain cond when going from READY to PAUSED
6974 2011-11-09 15:41:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6977 omx: Always reset buffer flags for output ports, even in flushing/error state
6979 2011-11-09 09:00:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6981 * omx/gstomxvideodec.c:
6982 omxvideodec: Improve debugging in case of QoS-related frame drops
6984 2011-11-08 12:46:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6986 * omx/gstomxvideoenc.c:
6987 omxvideoenc: Release the video codec stream lock before acquiring an input buffer
6988 Otherwise the srcpad task might block on this lock and
6989 no buffers ever become available again.
6991 2011-11-08 12:45:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6993 * omx/gstomxaudioenc.c:
6994 omxaudioenc: Release the audio encoder stream lock before acquiring an input buffer
6995 Otherwise the srcpad task might block on this lock and
6996 no buffers ever become available again.
6998 2011-11-08 12:42:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7000 * omx/gstomxvideodec.c:
7001 omxvideodec: Release the video codec stream lock before acquiring an input buffer
7002 Otherwise the srcpad task might block on this lock and
7003 no buffers ever become available again.
7005 2011-11-08 11:07:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7007 * omx/gstomxaudioenc.c:
7008 * omx/gstomxaudioenc.h:
7009 omxaudioenc: Don't try to drain the component after EOS
7010 And don't send EOS twice in any case. This most likely
7011 will cause the component to not output it again and
7012 is not necessary anyway.
7014 2011-11-08 11:03:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7016 * omx/gstomxvideoenc.c:
7017 * omx/gstomxvideoenc.h:
7018 omxvideoenc: Don't try to drain the component after EOS
7019 And don't send EOS twice in any case. This most likely
7020 will cause the component to not output it again and
7021 is not necessary anyway.
7023 2011-11-08 10:46:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7025 * omx/gstomxvideodec.c:
7026 * omx/gstomxvideodec.h:
7027 omxvideodec: Don't try to drain the component after EOS
7028 And don't send EOS twice in any case. This most likely
7029 will cause the component to not output it again and
7030 is not necessary anyway.
7032 2011-11-08 09:09:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7034 * omx/gstomxvideodec.c:
7035 omxvideodec: Implement dropping of too late frames via QoS
7037 2011-11-08 08:31:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7039 * omx/gstomxaudioenc.c:
7040 omxaudioenc: Minor code refactoring
7042 2011-11-08 08:31:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7044 * omx/gstomxvideoenc.c:
7045 omxvideoenc: Minor code refactoring
7047 2011-11-08 08:31:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7049 * omx/gstomxvideodec.c:
7050 omxvideodec: Make sure to always release buffers back to OMX
7052 2011-11-08 08:24:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7055 omx: Also properly release buffers when in error state
7057 2011-11-08 08:22:08 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
7060 omx: Properly release buffers during flushing
7061 We can't pass them back to OMX_FillThisBuffer() or OMX_EmptyThisBuffer()
7062 but instead of doing nothing we have to put them back into our queue.
7063 Otherwise the buffer is leaked and we will have too few buffers in
7066 2011-11-07 14:00:47 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7068 * omx/gstomxvideodec.c:
7069 omxvideodec: Free pending frames after draining component
7071 2011-11-07 14:00:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7073 * omx/gstomxvideoenc.c:
7074 omxvideoenc: Free pending frames after draining the component
7076 2011-11-07 11:07:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7078 * omx/gstomxvideoenc.c:
7079 omxvideoenc: Make handling and usage of the base video codec frames threadsafe
7081 2011-11-07 11:05:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7083 * omx/gstomxvideoenc.c:
7084 omxvideoenc: Fix deadlock between srcpad stream lock and ::reset()
7086 2011-11-07 11:04:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7088 * omx/gstomxvideodec.c:
7089 omxvideoenc: Make handling and usage of the base video codec frames threadsafe
7091 2011-11-07 10:58:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7093 * omx/gstomxvideoenc.c:
7094 omxvideoenc: Free all pending frames after draining the component
7096 2011-11-07 10:58:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7098 * omx/gstomxvideodec.c:
7099 omxvideodec: Always free all pending frames when caps changes require reconfiguration
7101 2011-11-04 09:43:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7103 * omx/gstomxaudioenc.c:
7104 omxaudioenc: Only drain the component a single time and only after processing started
7106 2011-11-04 09:43:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7108 * omx/gstomxvideodec.c:
7109 omxvideodec: Only drain the component a single time and only after processing started
7111 2011-11-04 09:43:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7113 * omx/gstomxvideoenc.c:
7114 omxvideoenc: Only drain the component a single time and only after processing started
7116 2011-11-04 09:04:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7119 omx: Reset buffer flags to 0 after it was consumed by the component or the element
7120 Some implementations don't reset the flags and the standard is not
7121 really clear on the expected behaviour. Let's just always reset the
7122 flags as they're not valid at this point anymore.
7124 2011-11-02 13:50:14 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7126 * omx/gstomxvideoenc.c:
7127 * omx/gstomxvideoenc.h:
7128 omxvideoenc: Better handling of encoder parameters
7129 Only set them if necessary and allow to use the component
7132 2011-11-02 13:22:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7134 * omx/gstomxvideoenc.c:
7135 omxvideoenc: Make unsupported bitrate/quantizer settings less fatal
7137 2011-11-02 10:39:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7139 * omx/gstomxvideodec.c:
7140 omxvideodec: If no stride was set for the OMX output port assume GStreamer stride
7141 This is not really correct but there's nothing else we could do.
7143 2011-11-02 10:39:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7145 * omx/gstomxvideoenc.c:
7146 omxvideoenc: If no stride was set for the OMX input port assume GStreamer stride
7147 This is not really correct but there's nothing else we could do.
7149 2011-11-01 16:46:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7151 * omx/gstomxaudioenc.c:
7152 * omx/gstomxaudioenc.h:
7153 omxaudioenc: Implement draining of the component and use it
7154 This makes sure that all buffers are encoded and pushed downstream
7155 before flushing the ports and losing some buffers.
7157 2011-11-01 16:41:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7159 * omx/gstomxvideoenc.c:
7160 * omx/gstomxvideoenc.h:
7161 omxvideoenc: Implement draining of the component and use it
7162 This makes sure that all buffers are encoded and pushed downstream
7163 before flushing the ports and losing some buffers.
7165 2011-11-01 16:08:59 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7167 * omx/gstomxvideodec.c:
7168 * omx/gstomxvideodec.h:
7169 omxvideodec: Implement draining of the component and use it
7170 This makes sure that all buffers are decoded and pushed downstream
7171 before flushing the ports and losing some buffers.
7173 2011-10-20 14:32:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7175 * omx/gstomxvideodec.c:
7176 omxvideodec: Fix deadlock if ::reset is called before finding the corresponding frame of a decoded buffer
7178 2011-11-01 15:10:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7180 * omx/gstomxaudioenc.c:
7181 * omx/gstomxaudioenc.h:
7182 * omx/gstomxvideoenc.h:
7183 omxaudioenc: Forward downstream flow returns to upstream
7185 2011-11-01 15:10:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7187 * omx/gstomxvideoenc.c:
7188 omxvideoenc: Forward downstream flow returns to upstream
7190 2011-11-01 13:58:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7192 * omx/gstomxvideodec.c:
7193 * omx/gstomxvideodec.h:
7194 omxvideodec: Forward downstream flow returns to upstream
7196 2011-10-25 14:23:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7199 omx: Add minimal README file
7201 2011-10-20 15:21:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7203 * omx/gstomxvideodec.c:
7204 omxvideodec: Fix deadlock caused by calling reset while the loop function does something with the base video codec stream lock
7206 2011-10-20 15:20:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7208 * omx/gstomxvideoenc.c:
7209 omxvideoenc: Fix deadlock caused by calling reset while the loop function does something with the base video codec stream lock
7211 2011-10-20 14:30:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7213 * omx/gstomxvideodec.c:
7214 omxvideodec: Move locking at the correct place
7216 2011-10-14 10:27:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7220 omx: Remove QCOM hack to reset nOffset in EmptyBufferDone
7221 This is now done in a generic way that does not require any
7222 hacks because it will work without any side effects on any
7225 2011-10-14 10:26:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7228 omx: Reset nOffset to 0 in EmptyBufferDone if nFilledLen is 0
7229 Some OMX implementations don't reset nOffset when the complete
7230 buffer is emptied but instead only reset nFilledLen. We reset
7231 nOffset to 0 if nFilledLen == 0, which is safe to do because
7232 the offset *must* be 0 if the buffer is not filled at all.
7233 Seen in QCOM's OMX implementation.
7235 2011-10-04 10:56:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7237 * omx/gstomxvideoenc.c:
7238 omxvideoenc: If one parameter/configuration is not supported don't skip the next
7240 2011-10-03 09:12:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7242 * omx/gstomxh264dec.c:
7243 omxh264dec: Require stream-format=byte-stream
7244 Other stream-formats are unlikely to be supported by OMX components.
7246 2011-09-29 10:37:32 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7248 * omx/gstomxvideodec.c:
7249 * omx/gstomxvideodec.h:
7250 omxvideodec: Add API for subclasses to prepare/convert frames
7252 2011-09-27 15:08:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7254 * omx/gstomxaudioenc.c:
7255 omxaudioenc: Switch to Idle first and wait before switching to Loaded and deallocating buffers
7256 Allocating buffers before the Idle state is reached can lead to crashes.
7258 2011-09-27 15:08:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7260 * omx/gstomxvideoenc.c:
7261 omxvideoenc: Switch to Idle first and wait before switching to Loaded and deallocating buffers
7262 Allocating buffers before the Idle state is reached can lead to crashes.
7264 2011-09-27 15:05:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7266 * omx/gstomxvideodec.c:
7267 omxvideodec: Switch to Idle first and wait before switching to Loaded and deallocating buffers
7268 Allocating buffers before the Idle state is reached can lead to crashes.
7270 2011-09-27 14:15:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7274 * omx/gstomxvideodec.c:
7275 omxvideodec: New hack for QCOM to recreate the component instead of reconfiguring it on caps changes
7277 2011-09-27 12:13:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7280 omx: Change a g_assert() into a GST_WARNING_OBJECT()
7282 2011-09-26 13:04:18 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7286 omx: Add hack for Qualcomm's OMX implementation to manually reset nOffset in EmptyBufferDone
7288 2011-09-23 17:02:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7290 * omx/gstomxaudioenc.c:
7291 omxaudioenc: Add a check to prevent a zero-sized OMX buffer
7293 2011-09-23 17:02:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7295 * omx/gstomxvideoenc.c:
7296 omxvideoenc: Add some more checks for correct OMX buffer sizes
7298 2011-09-23 15:53:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7300 * omx/gstomxvideodec.c:
7301 omxvideodec: Add some more checks for OMX buffer sizes
7303 2011-09-14 10:15:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7307 * omx/gstomxaudioenc.c:
7308 * omx/gstomxvideodec.c:
7309 * omx/gstomxvideoenc.c:
7310 omx: Wait until the Executing state is reached before calling OMX_FillThisBuffer()
7311 This correctly works around the QCOM race condition that happens when calling
7312 FTB after setting the new state and before reaching it.
7314 2011-09-02 14:43:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7316 * omx/gstomxvideodec.c:
7317 omxvideodec: Negotiate video format with downstream and what the component claims to support
7319 2011-08-25 19:56:58 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
7321 * omx/gstbasevideoencoder.c:
7322 basevideoencoder: fix element leak
7323 and this concludes an hour of yelling at the bloody test failing,
7324 only to track down the problem not being in the test.
7325 https://bugzilla.gnome.org/show_bug.cgi?id=657368
7327 2011-08-19 09:20:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7329 * omx/gstomxvideoenc.c:
7330 omxvideoenc: Release basevideocodec stream lock while waiting for a buffer
7331 This prevents deadlocks if no empty input buffers are available and
7332 releasing input buffers requires the loop function to handle some
7333 output buffers first.
7335 2011-08-19 09:19:22 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7337 * omx/gstomxvideodec.c:
7338 omxvideodec: Release basevideocodec stream lock while waiting for a buffer
7339 This prevents deadlocks if no empty input buffers are available and
7340 releasing input buffers requires the loop function to handle some
7341 output buffers first.
7343 2011-08-18 10:24:26 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7345 * omx/gstbasevideodecoder.c:
7346 basevideodecoder: Fix deadlock
7348 2011-08-18 10:03:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7350 * omx/gstbaseaudiodecoder.c:
7351 baseaudiodecoder: Don't take the stream lock in the seek handler
7352 This will lead to deadlocks
7354 2011-08-18 10:02:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7356 * omx/gstbasevideocodec.c:
7357 * omx/gstbasevideocodec.h:
7358 * omx/gstbasevideodecoder.c:
7359 * omx/gstbasevideoencoder.c:
7360 basevideo: Fix locking, especially if both pads have different streaming threads
7362 2011-08-18 09:42:02 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7364 * omx/gstbasevideodecoder.c:
7365 * omx/gstbasevideoencoder.c:
7366 basevideo: Don't call g_type_class_peek_parent() in class_init
7367 This is already done by the GObject boilerplate macro
7369 2011-08-18 09:40:46 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7371 * omx/gstbaseaudiodecoder.c:
7372 baseaudiodecoder: Don't call g_type_class_peek_parent() in class_init
7373 This is already done by the boilerplate macro
7375 2011-08-18 09:34:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7377 * omx/gstbaseaudiodecoder.c:
7378 * omx/gstbaseaudiodecoder.h:
7379 baseaudiodecoder: Fix thread safety issues if both pads have different streaming threads
7381 2011-08-18 09:17:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7383 * omx/gstbaseaudiodecoder.c:
7384 baseaudiodecoder: Delay sending of serialized events to finish_frame()
7386 2011-08-17 14:33:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7388 * omx/gstomxaudioenc.c:
7389 omxaudioenc: Always require at least OMX_MIN_PCMPAYLOAD_MSEC per input buffer
7391 2011-08-17 14:28:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7393 * omx/gstbaseaudioencoder.c:
7394 * omx/gstbaseaudioencoder.h:
7395 baseaudioencoder: Add support for requesting a minimum and maximum number of samples per frame
7396 This extends the special case of a fixed number of samples per frame
7397 that was supported before already.
7399 2011-08-17 14:17:18 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7401 * omx/gstomxaudioenc.c:
7402 omxaudioenc: Handle inbuf==NULL properly in ::handle_frame()
7404 2011-08-17 13:04:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7406 * omx/gstomxaacenc.c:
7407 omxaacenc: Implement ::get_num_samples() vfunc
7409 2011-08-17 13:03:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7411 * omx/gstomxaudioenc.c:
7412 * omx/gstomxaudioenc.h:
7413 omxaudioenc: Add vfunc to get the number of samples inside a buffer
7415 2011-08-17 11:34:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7417 * omx/gstomxaudioenc.c:
7418 omxaudioenc: Release baseaudioencoder stream lock while waiting for a buffer in ::handle_frame()
7419 This prevents deadlocks if no empty input buffers are available and
7420 releasing input buffers requires the loop function to handle some
7421 output buffers first.
7423 2011-08-17 11:34:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7425 * omx/gstbaseaudioencoder.c:
7426 * omx/gstbaseaudioencoder.h:
7427 baseaudioencoder: Fix thread safety issues if both pads have different streaming threads
7429 2011-08-17 09:58:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7431 * omx/gstbaseaudioencoder.c:
7432 baseaudioencoder: Taking the OBJECT lock in reset() is not needed
7434 2011-08-16 11:03:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7436 * omx/gstomxaudioenc.c:
7437 omxaudioenc: Remove hack that only applies to the video encoder class
7439 2011-08-16 10:49:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7444 * omx/gstomxaacenc.c:
7445 * omx/gstomxaacenc.h:
7446 omxaacenc: Add initial version of OpenMAX AAC encoder element
7448 2011-08-15 15:10:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7451 * omx/gstomxaudioenc.c:
7452 * omx/gstomxaudioenc.h:
7453 omxaudioenc: Add initial version of audio encoder base class
7455 2011-08-15 14:14:11 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7457 * omx/gstbaseaudioencoder.c:
7458 baseaudioencoder: Delay sending of serialized events to finish_frame()
7460 2011-08-15 13:06:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7463 * omx/gstbaseaudiodecoder.c:
7464 * omx/gstbaseaudiodecoder.h:
7465 * omx/gstbaseaudioencoder.c:
7466 * omx/gstbaseaudioencoder.h:
7467 audio: Integrate audio base classes into the build system and fixup
7469 2011-08-15 12:56:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7471 * omx/gstbaseaudiodecoder.c:
7472 * omx/gstbaseaudiodecoder.h:
7473 * omx/gstbaseaudioencoder.c:
7474 * omx/gstbaseaudioencoder.h:
7475 * omx/gstbaseaudioutils.c:
7476 * omx/gstbaseaudioutils.h:
7477 audio: Add audio decoder/encoder base classes
7478 Taken from http://cgit.collabora.com/git/user/manauw/gst-plugins-bad.git/log/?h=baseaudio
7480 2011-08-12 12:25:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7482 * omx/gstbasevideoencoder.c:
7483 basevideoencoder: Proxy the width/height/framerate/PAR constraints of downstream caps to upstream
7484 This allows to specify constraints on the compressed downstream caps
7485 by muxers or capsfilters, which will then be forwarded to upstream
7486 and allows video converters to fulfill the constraints.
7487 Code based on Mark Nauwelaerts audio encoder base class.
7489 2011-08-12 12:13:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7491 * omx/gstbasevideoencoder.h:
7492 basevideoencoder: Remove old ::getcaps() comment
7494 2011-08-12 12:06:23 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7496 * omx/gstbasevideoencoder.c:
7497 * omx/gstbasevideoencoder.h:
7498 basevideoencoder: Remove ::get_caps() vfunc
7499 Subclasses can set the caps more efficiently and this only
7500 caused additional indirections.
7502 2011-08-10 10:24:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7504 * omx/gstomxh263enc.c:
7505 * omx/gstomxh264enc.c:
7506 * omx/gstomxmpeg4videoenc.c:
7507 * omx/gstomxvideoenc.c:
7508 omxvideoenc: Use "video/x-raw-yuv" as sink template caps instead of strict I420 caps
7510 2011-08-10 10:23:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7512 * omx/gstomxmpeg4videodec.c:
7513 omxmpeg4videodec: Don't require width/height on sink pad caps
7515 2011-08-10 10:11:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7517 * omx/gstomxh263dec.c:
7518 * omx/gstomxh264dec.c:
7519 * omx/gstomxmpeg4videodec.c:
7520 * omx/gstomxvideodec.c:
7521 * omx/gstomxwmvdec.c:
7522 omxvideodec: Use "video/x-raw-yuv" as src template caps instead of strict I420 caps
7524 2011-08-10 09:56:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7526 * omx/gstomxvideoenc.c:
7527 omxvideoenc: Set the state back to StateLoaded even if an error happened
7529 2011-08-10 09:49:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7532 omx: Don't hold any locks while calling OMX_SendCommand()
7533 It might call into one of the callbacks and lead to deadlocks, e.g.
7534 with the Qualcomm OMX implementation.
7536 2011-08-10 09:32:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7541 2011-08-10 09:23:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7544 omx: Reset pending reconfigure output ports when changing the state from Executing to any lower state
7546 2011-08-10 09:08:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7549 omx: Fix crash when setting last error after the ports were freed
7551 2011-08-10 09:03:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7554 omx: Free component structure
7556 2011-08-10 09:02:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7559 omx: Make component destruction safer
7561 2011-08-10 08:53:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7564 omx: Set pAppPrivate of buffers to NULL when deallocating buffers
7565 This prevents usage of freed memory later if the OMX component
7566 has weird behaviour.
7568 2011-08-10 08:52:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7570 * omx/gstomxvideodec.c:
7571 omxvideodec: Set the state back to StateLoaded even if an error happened
7573 2011-08-10 08:51:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7576 omx: Add some assertions to check if the buffer pAppPrivate is still correct
7578 2011-08-08 13:04:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7581 omx: Add parenthesis at correct places in the struct init macro
7583 2011-08-08 12:12:58 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7586 omx: Only prevent setting a higher state if the component is in an error state
7588 2011-08-03 16:02:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7590 * omx/gstbasevideodecoder.c:
7591 basevideodecoder: Use the cached video frame size instead of recalculating it
7593 2011-08-03 15:35:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7596 omx: Improve debugging in param/config getter/setter wrappers
7598 2011-08-03 13:10:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7600 * omx/gstomxvideodec.c:
7601 omxvideodec: Don't abort if the color format is not supported but give a useful error message
7603 2011-08-02 15:14:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7605 * omx/gstomxh263enc.c:
7606 * omx/gstomxh264enc.c:
7607 * omx/gstomxmpeg4videoenc.c:
7608 * omx/gstomxvideoenc.c:
7609 omxvideoenc: Don't fail if setting the bitrate or profile is not supported by the component
7610 Also always set/get the profile, even if there are no peer caps.
7612 2011-08-02 15:14:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7614 * omx/gstbasevideoencoder.c:
7615 basevideoencoder: Make access to the list of frames threadsafe
7617 2011-08-01 13:22:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7621 omx: Add a hacks flag for the Qualcomm 7x30 OMX_FillThisBuffer() race and make it optional
7623 2011-07-29 13:56:59 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7626 omx: Add workaround for QCOM 7x30 race condition
7628 2011-07-29 12:06:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7632 * omx/gstomxh263enc.c:
7633 * omx/gstomxh263enc.h:
7634 omxh263enc: Add H.263 encoder element
7636 2011-07-29 11:26:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7638 * omx/gstomxmpeg4videoenc.c:
7639 omxmpeg4videoenc: Add support for setting profile/level via caps
7641 2011-07-28 14:14:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7643 * omx/gstomxh264enc.c:
7644 omxh264enc: Add support for setting profile/level via caps
7646 2011-07-28 12:58:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7648 * omx/gstomxvideoenc.c:
7649 omxvideoenc: Add support for forcing the next frame to be a keyframe
7651 2011-07-28 11:54:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7653 * omx/gstomxvideoenc.c:
7654 * omx/gstomxvideoenc.h:
7655 omxvideoenc: Add support for setting bitrate/quantization related parameters
7657 2011-07-28 10:23:08 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7661 omx: Add wrapper functions for OMX_[GS]et{Config,Parameter}
7663 2011-07-28 09:54:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7667 omx: Add macro to initialize OpenMAX structures
7669 2011-07-28 09:08:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7671 * omx/gstomxvideoenc.c:
7672 omxvideoenc: Don't output 0-byte buffers
7674 2011-07-25 15:05:08 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7677 omx: Ensure that the pAppPrivate pointer in OMX buffers is set correctly
7679 2011-07-25 13:19:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7681 * omx/gstomxvideodec.c:
7682 * omx/gstomxvideoenc.c:
7683 omxvideo{enc,dec}: Only set/unset flushing state on ports if they were created already
7685 2011-07-25 12:01:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7689 * omx/gstomxwmvdec.c:
7690 * omx/gstomxwmvdec.h:
7691 omxwmvdec: Add WMV video decoder element
7693 2011-07-25 11:44:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7697 * omx/gstomxh263dec.c:
7698 * omx/gstomxh263dec.h:
7699 omxh263dec: Add H.263 decoder element
7701 2011-07-25 11:32:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7705 * omx/gstomxh264enc.c:
7706 * omx/gstomxh264enc.h:
7707 omxh264enc: Add H.264 encoder element
7709 2011-07-25 10:48:58 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7711 * omx/gstomxvideodec.c:
7712 omxvideodec: Try harder to deallocate the buffers after errors happened
7714 2011-07-25 10:47:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7716 * omx/gstomxvideoenc.c:
7717 omxvideoenc: Try harder to deallocate the buffers after errors happened
7719 2011-07-25 10:46:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7722 omx: Deallocate port buffers before freeing the component
7723 They should be deallocated by the caller before reaching the
7724 Loaded state but to be on the safe side we will make sure
7725 they're really deallocated here.
7727 2011-07-21 11:15:14 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7729 * omx/gstomxvideoenc.c:
7730 omxvideoenc: Add initial support for stride conversion
7732 2011-07-21 10:38:26 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7734 * omx/gstomxh264dec.c:
7735 * omx/gstomxmpeg4videodec.c:
7736 * omx/gstomxmpeg4videoenc.c:
7737 omx: Set default roles for the components if none were set from the config file
7739 2011-07-21 10:36:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7742 omx: Failure to set the component role is fatal
7744 2011-07-21 07:53:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7746 * omx/gstomxvideoenc.c:
7747 omxvideoenc: Add support for setting codec_data on the srcpad caps
7749 2011-07-21 07:44:34 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7751 * omx/gstomxvideoenc.c:
7752 omxvideoenc: Free/drop GstVideoFrames that resulted in an empty buffer
7754 2011-07-21 07:44:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7756 * omx/gstbasevideoencoder.c:
7757 basevideoencoder: Allow finishing of frames with no src_buffer to drop/free the GstVideoFrame
7759 2011-07-21 07:31:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7761 * omx/gstomxvideoenc.c:
7762 omxvideoenc: Remove obsolete TODO comment
7764 2011-07-20 11:09:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7768 omx: Use libgstopenmax.so for the plugin filename and openmax for the plugin name
7769 Resolves conflicts with gst-openmax.
7771 2011-07-20 08:34:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7777 * omx/gstomxmpeg4videoenc.c:
7778 * omx/gstomxmpeg4videoenc.h:
7779 * omx/gstomxvideoenc.c:
7780 * omx/gstomxvideoenc.h:
7781 omxvideoenc: Add video encoder base class and MPEG4 video encoder
7782 Unfortunately requires lots of hacks again to work properly with
7785 2011-07-20 10:39:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7787 * omx/gstbasevideoencoder.c:
7788 basevideoencoder: Only get caps from the subclass if they were not set yet by the subclass
7790 2011-07-20 09:25:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7792 * omx/gstbasevideoencoder.c:
7793 * omx/gstbasevideoencoder.h:
7794 basevideoencoder: Delay sending of serialized sink events until finish_frame()
7796 2011-07-20 09:09:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7798 * omx/gstbasevideoencoder.c:
7799 * omx/gstbasevideoencoder.h:
7800 basevideoencoder: Add ::reset vfunc and handle ::reset/::finish the same way as in the decoder
7802 2011-07-19 12:50:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7804 * omx/gstbasevideoencoder.c:
7805 basevideoencoder: Use a temporary GstVideoState until the subclass accepted the caps
7806 Also store the caps in the GstVideoState and assume a PAR of 1/1 instead
7807 of 0/1 if no PAR is specified in the caps.
7809 2011-07-19 12:29:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7812 * omx/gstomxvideodec.c:
7813 omx: Improve debug output a bit
7815 2011-07-19 10:33:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7819 * omx/gstomxvideodec.c:
7820 omx: Rework port reconfiguration again and only use the Bellagio specific hacks with Bellagio
7821 We only reconfigure ports that need to be reconfigured now instead of
7824 2011-07-19 10:33:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7829 * omx/gstomxvideodec.c:
7830 * omx/gstomxvideodec.h:
7831 omx: Add infrastructure to enable special hacks for broken OpenMAX implementations
7833 2011-07-18 13:10:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7836 omx: When acquiring a buffer from an input port always wait until all output ports are reconfigured
7838 2011-07-18 08:41:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7840 * omx/gstomxvideodec.c:
7841 omxvideodec: Add support for converting between omx and gst rowstrides
7843 2011-07-14 10:34:09 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7846 omx: Provide all buffers to output ports after enabling them
7848 2011-07-14 08:29:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7850 * omx/gstomxvideodec.c:
7851 omxvideodec: Add support for NV12 / OMX_COLOR_FormatYUV420SemiPlanar
7853 2011-07-14 07:58:41 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7855 * omx/gstomxvideodec.c:
7856 * omx/gstomxvideodec.h:
7857 omxvideodec: Only flush the component ports after we passed input to them
7859 2011-07-13 21:19:34 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7861 * omx/gstomxvideodec.c:
7862 omxvideodec: Only change states downwards if an upper state was reached
7864 2011-07-13 20:37:02 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7868 * omx/gstomxvideodec.c:
7869 * omx/gstomxvideodec.h:
7870 omx: Add support for setting the component-role
7872 2011-07-13 20:22:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7876 * omx/gstomxvideodec.c:
7877 omx: Improve error reporting by formatting the error codes better and also providing their string representation
7879 2011-07-13 14:36:14 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7882 build: Dist autogen.sh
7884 2011-07-13 14:35:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7888 build: Only require GStreamer >= 0.10.29 and GLib >= 2.16
7890 2011-07-13 14:04:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7893 build: Dist gstomx.conf
7895 2011-07-13 14:04:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7898 build: Clean _stdint.h on "make distclean"
7900 2011-07-13 14:02:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7902 * omx/gstomxvideodec.c:
7903 omxvideodec: Fix typo
7905 2011-07-13 13:59:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7910 2011-07-13 12:46:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7912 * omx/gstomxvideodec.c:
7913 omxvideodec: Set SYNCFRAME flag on the OMX buffers for non-delta units
7915 2011-07-13 12:37:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7917 * omx/gstomxvideodec.c:
7918 omxvideodec: Free all pending frames when resetting the decoder
7919 Workaround for https://bugzilla.gnome.org/show_bug.cgi?id=654529
7921 2011-07-13 09:59:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7923 * omx/gstomxvideodec.c:
7924 omxvideodec: Handle output buffers without a corresponding GstVideoFrame more gracefully
7925 This can happen on EOS in some cases and when the input is not
7928 2011-07-13 09:31:22 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7930 * omx/gstomxvideodec.c:
7931 omxvideodec: Fix deadlock when finishing old frames that are left over by the decoder
7933 2011-07-12 11:37:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7935 * omx/gstomxh264dec.c:
7936 omxh264dec: It's called H.264, not H264
7938 2011-07-12 11:36:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7940 * omx/gstomxh264dec.c:
7941 * omx/gstomxmpeg4videodec.c:
7942 * omx/gstomxvideodec.c:
7943 * omx/gstomxvideodec.h:
7944 omxvideodec: Make sink/src pad template caps configurable
7946 2011-07-12 11:13:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7949 omx: Allow to set a preferred configuration directory with the GST_OMX_CONFIG_DIR environment variable
7951 2011-07-12 10:55:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7953 * omx/gstomxh264dec.c:
7954 * omx/gstomxmpeg4videodec.c:
7955 * omx/gstomxvideodec.c:
7956 omxvideodec: Make core/component-name and in/outport index configurable
7958 2011-07-12 10:05:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7963 omx: Add initial version of configuration system
7964 This now only registers elements that are specified in the
7966 The configuration file is a keyfile in the first XDG configuration
7967 directory with the name gstomx.conf.
7969 2011-07-12 08:53:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7973 * omx/gstomxh264dec.c:
7974 * omx/gstomxh264dec.h:
7975 * omx/gstomxh264videodec.h:
7976 omxh264dec: Rename from omxh264videodec to omxh264dec
7978 2011-07-12 08:40:48 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7980 * omx/gstomxh264videodec.c:
7981 omxh264videodec: Require alignment=au and stream-format={avc,bytestream}
7983 2011-07-11 12:59:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7985 * omx/gstbasevideodecoder.c:
7986 basevideodecoder: First inform subclass about resetting before resetting/freeing all internal state
7987 The subclass might want to access the old state.
7989 2011-07-11 12:36:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7991 * omx/gstbasevideodecoder.c:
7992 basevideodecoder: Track present position on discont before resetting it
7994 2011-07-11 11:52:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7996 * omx/gstbasevideodecoder.c:
7997 basevideodecoder: Also protect the list of pending frames from concurrent access when pushing all pendings events
7999 2011-07-11 11:28:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8001 * omx/gstbasevideocodec.c:
8002 * omx/gstbasevideocodec.h:
8003 * omx/gstbasevideodecoder.c:
8004 basevideocodec: Protect access to the list of pending frames with the object lock
8005 This is required if ::finish_frame() and all buffer output happens
8006 on a different thread than the sinkpad streaming thread.
8008 2011-07-11 09:35:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8010 * omx/gstbasevideodecoder.c:
8011 basevideodecoder: Set the correct lists to NULL after freeing
8013 2011-07-11 08:54:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8015 * omx/gstbasevideodecoder.c:
8016 basevideodecoder: Work with a copy of the GstVideoState in setcaps until the caps are accepted
8017 Also fix a refcount problem with the codec_data.
8019 2011-07-12 08:34:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8023 * omx/gstomxh264videodec.c:
8024 * omx/gstomxh264videodec.h:
8025 omxh264videodec: Add h.264 video decoder
8027 2011-07-12 08:29:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8029 * omx/gstomxmpeg4videodec.c:
8030 omxmpeg4videodec: Fix debug category name
8032 2011-07-09 11:41:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8035 * omx/gstbasevideocodec.h:
8036 * omx/gstbasevideodecoder.c:
8037 * omx/gstbasevideoencoder.c:
8038 * omx/gstbasevideoutils.c:
8039 * omx/gstbasevideoutils.h:
8040 basevideo: Move the utils from the codec header to its own header
8042 2011-07-09 11:32:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8044 * omx/gstbasevideocodec.c:
8045 * omx/gstbasevideodecoder.c:
8046 basevideo: Use GSlice for allocating GstVideoFrame and don't duplicate code in the decoder base class
8048 2011-07-09 11:05:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8050 * omx/gstomxvideodec.c:
8051 omxvideodec: Use the destroy notify to free the coder_hook
8053 2011-07-09 10:57:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8055 * omx/gstbasevideocodec.c:
8056 * omx/gstbasevideocodec.h:
8057 * omx/gstbasevideodecoder.c:
8058 basevideo: Add destroy notify for the coder_hook to prevent memory leaks
8061 2011-07-09 10:44:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8064 basevideo: Fix GType names to not conflict with the public video base classes
8065 It's still not possible to include headers of both in the same file
8066 or compile/link both into the same plugin but that shouldn't be
8069 2011-07-08 15:42:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8071 * omx/gstomxvideodec.c:
8072 omxvideodec: Fix some minor memory leaks
8074 2011-07-08 15:25:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8078 * omx/gstomxvideodec.c:
8079 omx: Rework port reconfiguration
8080 We always reconfigure all ports now if the settings of one
8081 port changes to prevent lots of race conditions, dropped
8082 frames and similar issues.
8084 2011-07-08 13:16:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8086 * omx/gstomxvideodec.c:
8087 * omx/gstomxvideodec.h:
8088 omxvideodec: Use the frames storage of the base class instead of implementing our own
8089 They could get out of sync and we could store already destroyed frames.
8091 2011-07-07 12:51:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8094 omx: Clarify GQueue/GPtrArray element types
8096 2011-07-07 12:23:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8100 * omx/gstomxvideodec.c:
8101 omx: Add more checks to acquire_buffer() and return the current state additional to the buffer
8102 Also refactor the code flow in the video decoder for this. This makes
8103 the usage of acquire_buffer() easier and more atomic.
8105 2011-07-07 12:22:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8107 * omx/gstomxvideodec.c:
8108 omxvideodec: Also flush/unflush the input port when changing the state PAUSED<->READY
8110 2011-07-07 12:21:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8113 omx: Don't broadcast port->port_cond after allocating buffers successfully
8114 Allocating buffers must happen while no thread is waiting for the
8115 cond and especially must happen from the thread that would acquire
8116 buffers from the port.
8118 2011-07-07 11:27:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8120 * omx/gstomxvideodec.c:
8121 omxvideodec: Don't leak the codec_data after sending it
8123 2011-07-07 10:27:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8126 omx: Always check if the component is in an error state before waiting for a condition variable to be signalled
8127 Otherwise we might wait forever because nothing is going to signal
8128 the condition variable anymore.
8130 2011-07-07 10:22:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8133 omx: Always hold port->port_lock before signalling port->port_cond when notifying about errors
8134 Otherwise a port might be in the critical section, has checked the error state
8135 already but waits after port->port_cond is signalled, which will lead
8138 2011-07-07 10:07:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8140 * omx/gstomxvideodec.c:
8141 omxvideodec: Remove reconfiguration test hack
8143 2011-07-06 13:27:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8146 omx: Improve debug output a bit
8148 2011-07-06 13:26:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8151 omx: Always try to deallocate buffers, even if there's a component error
8153 2011-07-06 13:26:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8156 omx: Use G_USEC_PER_SEC for clarity instead of 1000000
8158 2011-07-06 13:19:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8160 * omx/gstomxvideodec.c:
8161 omxvideodec: Error out if the GStreamer allocated buffer is smaller than the OpenMAX output buffer
8162 Usually this must never happen but currently it happens during reconfigurations
8163 because of a race condition. Still it's better than crashing.
8165 2011-07-06 10:40:13 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8169 omx: Don't use port_def.bEnabled to check if the Enable/Disable command is finished
8170 bEnabled should be set immediately after sending the command, it's only
8171 Bellagio that waits until the command is finished before setting it.
8173 2011-07-06 10:30:11 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8175 * omx/gstomxvideodec.c:
8176 omxvideodec: Remove obsolete FIXME comment
8178 2011-07-06 10:29:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8182 omx: Improve error handling and reporting
8184 2011-07-06 08:48:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8186 * omx/gstomxmpeg4videodec.c:
8187 * omx/gstomxvideodec.c:
8188 * omx/gstomxvideodec.h:
8189 omxvideodec: Make the inport and outport index configurable by the subclass
8191 2011-06-28 08:51:23 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8196 * omx/gstomxmpeg4videodec.c:
8197 * omx/gstomxmpeg4videodec.h:
8198 * omx/gstomxvideodec.c:
8199 * omx/gstomxvideodec.h:
8200 omx: Add initial version of OpenMAX framework, video decoder base class and MPEG4 video decoder
8201 This currently hardcodes a lot of stuff but works at least.
8202 Also adds a generic framework for handling OpenMAX cores, components
8205 2011-06-28 11:47:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8207 * omx/gstbasevideocodec.c:
8208 * omx/gstbasevideocodec.h:
8209 * omx/gstbasevideodecoder.c:
8210 * omx/gstbasevideodecoder.h:
8211 basevideodecoder: Don't reorder serialized src events
8212 And allow to drop EOS by the subclass if ::finish returns
8216 2011-06-27 09:41:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8218 * omx/gstbasevideocodec.c:
8219 * omx/gstbasevideocodec.h:
8220 * omx/gstbasevideodecoder.c:
8221 basevideo: Add the caps to the GstVideoState and clean up caps/codec_data properly
8223 2011-06-27 09:37:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8225 * omx/gstbasevideocodec.c:
8226 * omx/gstbasevideocodec.h:
8227 * omx/gstbasevideodecoder.c:
8228 * omx/gstbasevideodecoder.h:
8229 * omx/gstbasevideoencoder.c:
8230 * omx/gstbasevideoencoder.h:
8231 * omx/gstbasevideoutils.c:
8232 basevideo: Add video encoder/decoder base classes from gst-plugins-bad
8234 2011-06-21 11:17:35 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8236 * omx/openmax/OMX_Audio.h:
8237 * omx/openmax/OMX_Component.h:
8238 * omx/openmax/OMX_ComponentExt.h:
8239 * omx/openmax/OMX_ContentPipe.h:
8240 * omx/openmax/OMX_Core.h:
8241 * omx/openmax/OMX_CoreExt.h:
8242 * omx/openmax/OMX_IVCommon.h:
8243 * omx/openmax/OMX_Image.h:
8244 * omx/openmax/OMX_Index.h:
8245 * omx/openmax/OMX_IndexExt.h:
8246 * omx/openmax/OMX_Other.h:
8247 * omx/openmax/OMX_Types.h:
8248 * omx/openmax/OMX_Video.h:
8249 * omx/openmax/OMX_VideoExt.h:
8250 openmax: Add OpenMAX IL 1.1.2 headers