1 === release 1.19.90 ===
3 2022-01-28 14:28:35 +0000 Tim-Philipp Müller <tim@centricular.com>
11 2022-01-28 14:28:28 +0000 Tim-Philipp Müller <tim@centricular.com>
14 Update ChangeLogs for 1.19.90
16 2022-01-05 02:07:59 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
19 meson: Add explicit check: kwarg to all run_command() calls
20 This is required since Meson 0.61.0, and causes a warning to be
22 https://github.com/mesonbuild/meson/commit/2c079d855ed87488bdcc6c5c06f59abdb9b85b6c
23 https://github.com/mesonbuild/meson/issues/9300
24 This exposed a bunch of places where we had broken run_command()
25 calls, unnecessary run_command() calls, and places where check: true
27 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1507>
29 2021-11-03 18:44:03 +0000 Tim-Philipp Müller <tim@centricular.com>
34 === release 1.19.3 ===
36 2021-11-03 15:43:36 +0000 Tim-Philipp Müller <tim@centricular.com>
45 2021-11-03 15:43:32 +0000 Tim-Philipp Müller <tim@centricular.com>
48 Update ChangeLogs for 1.19.3
50 2021-10-18 15:47:00 +0100 Tim-Philipp Müller <tim@centricular.com>
52 * tests/check/meson.build:
53 meson: update for meson.build_root() and .build_source() deprecation
54 -> use meson.project_build_root() or .global_build_root() instead.
55 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1183>
57 2021-10-18 00:40:14 +0100 Tim-Philipp Müller <tim@centricular.com>
61 * tests/check/meson.build:
62 meson: update for dep.get_pkgconfig_variable() deprecation
63 ... in favour of dep.get_variable('foo', ..) which in some
64 cases allows for further cleanups in future since we can
65 extract variables from pkg-config dependencies as well as
66 internal dependencies using this mechanism.
67 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1183>
69 2021-10-14 18:38:26 +0100 Tim-Philipp Müller <tim@centricular.com>
72 meson: bump meson requirement to >= 0.59
73 For monorepo build and ugly/bad, for advanced feature
74 option API like get_option('xyz').required(..) which
75 we use in combination with the 'gpl' option.
76 For rest of modules for consistency (people will likely
77 use newer features based on the top-level requirement).
78 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1084>
80 2021-09-28 10:11:15 +1000 Brad Hards <bradh@frogmouth.net>
83 doc: update IRC links to OFTC
84 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/945>
86 2021-09-26 01:07:02 +0100 Tim-Philipp Müller <tim@centricular.com>
90 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/925>
92 === release 1.19.2 ===
94 2021-09-23 01:36:02 +0100 Tim-Philipp Müller <tim@centricular.com>
103 2021-07-09 15:14:15 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
105 * omx/gstomxvideodec.c:
106 omxvideodec: fix OMX flags on header buffer
107 The header (SPS/PPS) buffer should have the CODECONFIG flag
108 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/49>
110 2021-07-09 14:52:59 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
112 * omx/gstomxvideodec.c:
113 omxvideodec: allow to start decoder on HEADER buffer
114 If the headers are sent in their own buffer
115 it won't have the SYNC_FRAME flag but we still
116 do want to start decoding rather than dropping it.
117 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/49>
119 2018-09-06 21:56:57 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
122 * omx/gstomxh264dec.c:
123 * omx/gstomxh265dec.c:
124 * omx/gstomxvideodec.c:
125 omxh26xdec: videodecoder support subframe
126 Use of subframe API from videodecoder base class.
127 This subframe allows to decode subframe instead of
128 waiting for a whole frame.
129 The subframe uses the same frame over the whole
130 subframe passing process and will wait
131 for a signal to know the last subframe.
132 In this implementation it will use
133 GST_VIDEO_BUFFER_FLAG_MARKER as the
134 end of batch of subframes.
135 This implement subframe mode negotation for the Zynq based on caps
136 negotation. This mode can be combined with low-latency mode, in order to
137 reach the lowest possible latency (assuming the stream is within the
138 low-latency constraints for the HW).
139 ... ! video/x-h264,alignment=nal ! omxh264dec ! ...
140 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/49>
142 2021-06-01 15:29:18 +0100 Tim-Philipp Müller <tim@centricular.com>
147 === release 1.19.1 ===
149 2021-06-01 00:16:41 +0100 Tim-Philipp Müller <tim@centricular.com>
158 2020-11-04 18:48:13 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
161 meson: Enable some MSVC warnings for parity with GCC/Clang
162 This makes it easier to do development with MSVC by making it warn
163 on common issues that GCC/Clang error out for in our CI configuration.
164 Continuation from https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/223
165 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/75>
167 2020-10-16 12:45:09 +0200 Stéphane Cerveau <scerveau@collabora.com>
169 * examples/egl/testegl.c:
171 meson: update glib minimum version to 2.56
172 In order to support the symbol g_enum_to_string in various
173 project using GStreamer ( gst-validate etc.), the glib minimum
174 version should be 2.56.0.
175 Remove compat code as glib requirement
177 Version used by Ubuntu 18.04 LTS
178 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/74>
180 2020-10-05 12:32:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
182 * omx/gstomxvideodec.c:
183 omxvideodec: support interlace-mode=interleaved input
184 interlace-mode=alternate is a special case of interlace-mode=interleaved
185 where the fields are split using two different buffers.
186 The Zynq decoder always produces alternate content and we
187 used to assume that upstream will set interlace-mode=alternate in its
189 This is no longer the case as h265parse is now setting
190 alternate-mode=interleaved on alternate content to not break compat with
191 elements not supporting alternate.
192 As a result the decoder now accept both 'interleaved' and 'alternate' on
193 its input and ensures that its ouput has interlace-mode=alternate.
194 Needed to fix https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/825
195 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/72>
197 2020-09-08 17:31:06 +0100 Tim-Philipp Müller <tim@centricular.com>
200 ci: include template from gst-ci master branch again
202 2020-09-08 16:59:09 +0100 Tim-Philipp Müller <tim@centricular.com>
207 === release 1.18.0 ===
209 2020-09-08 00:10:02 +0100 Tim-Philipp Müller <tim@centricular.com>
219 2020-08-27 17:19:44 +0100 Tim-Philipp Müller <tim@centricular.com>
221 * config/tizonia/meson.build:
222 meson: fix Tizonia build
223 Was failing for release versions with
224 meson.build:414:10: ERROR: Can not set values on configuration object that has been used.
225 Caused by !69, but CI didn't notice at the time because it was set to a git version.
227 === release 1.17.90 ===
229 2020-08-20 16:16:35 +0100 Tim-Philipp Müller <tim@centricular.com>
238 2020-07-08 17:39:20 +0100 Tim-Philipp Müller <tim@centricular.com>
242 * scripts/extract-release-date-from-doap-file.py:
243 meson: set release date from .doap file for releases
244 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/69>
246 2020-07-03 02:04:16 +0100 Tim-Philipp Müller <tim@centricular.com>
251 === release 1.17.2 ===
253 2020-07-03 00:37:06 +0100 Tim-Philipp Müller <tim@centricular.com>
262 2020-06-20 00:28:37 +0100 Tim-Philipp Müller <tim@centricular.com>
267 === release 1.17.1 ===
269 2020-06-19 19:27:38 +0100 Tim-Philipp Müller <tim@centricular.com>
278 2020-06-16 01:20:27 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
280 * docs/gst_plugins_cache.json:
281 docs: Update plugin cache json
282 https://gitlab.freedesktop.org/alatiera/gst-ci/-/jobs/3109574
283 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/68>
285 2020-06-03 22:24:09 -0400 Thibault Saunier <tsaunier@igalia.com>
287 * docs/gst_plugins_cache.json:
288 docs: Update documentation cache
290 2019-12-23 18:23:55 -0800 Dylan Yip <dylan.yip@xilinx.com>
293 omx: Add latest OMX_ALG_Index's to omx_index_type_to_str
294 Add following indexes to omx_index_type_to_str:
295 OMX_ALG_IndexParamVideoAccessUnitDelimiter
296 OMX_ALG_IndexParamVideoBufferingPeriodSEI
297 OMX_ALG_IndexParamVideoPictureTimingSEI
298 OMX_ALG_IndexParamVideoRecoveryPointSEI
299 OMX_ALG_IndexParamVideoMasteringDisplayColourVolumeSEI
300 OMX_ALG_IndexParamVideoContentLightLevelSEI
301 OMX_ALG_IndexConfigVideoRegionOfInterestByValue
302 OMX_ALG_IndexConfigVideoColorPrimaries
304 2020-05-20 17:05:33 +0200 Stéphane Cerveau <scerveau@collabora.com>
307 zynq: change API to use public 2020.01 from vcu-omx-il
308 This new release 2020.01 fixes an API typo
309 Change to OMX_ALG_IndexConfigVideoHighDynamicRangeSEI
310 instead of OMX_ALG_IndexConfigVideoHighDynamicRangeSEIs
313 2017-12-27 17:18:54 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
315 * omx/gstomxvideoenc.c:
316 omxvideoenc: factor out gst_omx_video_enc_allocate_out_buffers()
318 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/66>
320 2020-04-10 11:47:03 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
322 * omx/gstomxh265enc.c:
325 * omx/gstomxvideodec.c:
326 * omx/gstomxvideoenc.c:
327 omxvideoenc: remove unsupported formats from caps template
328 Our encoder implementation actually supports a small subset of the
329 formats supported by the decoder. Those are the formats for which we
330 have a copy path in gst_omx_video_enc_fill_buffer() and which are not
331 filtered out in filter_supported_formats().
333 2020-04-10 09:59:02 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
336 video: remove BGR from supported format
337 It's not supported by either decoder or encoder and is even not listed in
338 gst_omx_video_get_format_from_omx() so it can't work.
340 2020-04-10 10:21:16 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
342 * omx/gstomxvideoenc.c:
343 omxvideoenc: add GRAY8 support
344 It's supported by Zynq encoder and was already in the sink caps
347 2020-04-10 11:18:49 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
349 * omx/gstomxvideoenc.c:
350 omxvideoenc: factor out gst_omx_video_enc_copy_plane()
351 No semantic change, I'm going to use it to copy GRAY8 buffers which is
352 actually a single plane 8-bits format.
354 2020-04-10 10:58:34 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
356 * omx/gstomxvideoenc.c:
357 omxvideoenc: use gst_video_meta_get_plane_height() to compute slice height
358 This new API saves us from doing manual computation and actually work
359 with single planar formats, such as GRAY8.
361 2020-04-07 19:59:12 +0200 Stéphane Cerveau <scerveau@collabora.com>
363 * omx/gstomxh264enc.c:
364 * omx/gstomxh265enc.c:
366 * omx/gstomxvideoenc.c:
367 omxh26xenc: fix coverity with frame test
368 Coverity was complaining with:
369 Null pointer dereferences (REVERSE_INULL) Null-checking "frame"
370 suggests that it may be null, but it has already been
371 dereferenced on all paths leading to the check.
372 The frame == NULL has been removed as 'frame' is actively used
373 in the code above without any change of dereferencing and setting
374 its value to NULL before the test.
377 2020-03-19 16:23:41 +0100 Stéphane Cerveau <scerveau@collabora.com>
379 * omx/gstomxvideoenc.c:
380 gstomxvideoenc: fix subframe output_buffer
381 Using more than 1 subframes was failing with
382 frame->output_buffer = NULL
384 2020-02-06 10:21:49 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
386 * omx/gstomxvideodec.c:
387 omxvideodec: add support of alternate interlace mode on zynq
389 2020-02-06 10:11:13 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
391 * omx/gstomxh265enc.c:
392 * omx/gstomxvideoenc.c:
393 omxvideoenc: add support of alternate interlace mode on zynq
394 It's only supported by the Zynq HEVC encoder for now.
396 2020-02-06 10:12:50 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
399 omx: add alternate flags to buffer_flags_map
400 Zynq specific flags used to tag top/bottom fields in alternate mode.
402 2020-02-06 09:57:48 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
405 * omx/gstomxvideoenc.c:
406 omxvideo(enc): use GST_VIDEO_INFO_FIELD_RATE_N()
407 Does not change anything for now but will be needed when we'll support
408 interlace-mode=alternate as the field rate will be twice the frame rate.
409 Made the code safe from division by 0 while I was on it.
411 2020-02-06 09:36:20 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
413 * omx/gstomxvideodec.c:
414 * omx/gstomxvideoenc.c:
415 omxvideo{enc,dec}: use GST_VIDEO_INFO_FIELD_HEIGHT()
416 Does not change anything for now but will be needed when we'll support
417 interlace-mode=alternate as the fields will have half the frame height.
419 2020-02-25 10:45:47 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
422 omx: don't log error when failing to load conf file with generic target
423 The generic target is meant to only test building gst-omx. It doesn't
424 provide any configuration file and so is not supposed to register any
426 I'm not aware of any user building gst-omx with this target and
427 providing their own conf file to actually register elements. But best to
428 not break this use case anyway so let's just downgrade the log message.
429 Fix GST_ERROR in the 'check fedora' CI job.
431 2020-01-27 11:56:53 +0100 Stéphane Cerveau <scerveau@collabora.com>
434 meson: add glib project fallback
435 Add a fallback from glib project to provide glib, gio and
436 gmodule dependencies.
438 2020-01-15 11:06:12 +0000 Stéphane Cerveau <scerveau@collabora.com>
440 * omx/gstomxvideoenc.c:
441 omxvideoenc: fix warning
442 Fix warning test when OMX_BUFFERFLAG_ENDOFFRAME
445 2018-08-28 13:03:14 -0700 Varunkumar Allagadapa <varunkum@xilinx.com>
447 * omx/gstomxvideoenc.c:
448 * omx/gstomxvideoenc.h:
449 omxvideoenc: Add look-ahead property to ZYNQ_USCALE_PLUS encoder
450 This patch adds look-ahead property to encoder
451 The value indicates look ahead size in frames,
452 the number of frames processed ahead of second pass encoding.
453 Dual pass encoding is disabled if look-ahead
454 value is less than 2.
456 2018-08-06 13:02:41 -0700 Varunkumar Allagadapa <varunkum@xilinx.com>
458 * omx/gstomxvideoenc.c:
459 * omx/gstomxvideoenc.h:
460 omxvideoenc: Add long-term-ref support to ZYNQ_USCALE_PLUS encoder
461 Custom API that upstream elements can use to notify encoders about
462 marking longterm ref. pictures or using longterm ref. pictures in
464 This patch adds below properties:
465 long-term-ref: Enable/Disable dynamically marking long-term
466 reference pictures in encoding process
467 long-term-freq: Periodicity of long-term reference picture
468 marking in encoding process.
469 If a picture is marked as long-term reference picture then it remains
470 in the DPB list for ever unless it overrides with new long-term pitcure with
471 same index. Encoder can use this long-term picture as refence for
473 This feature is mostly useful to avoid visual artifacts propagation in streaming use cases
474 when packet loss happens. Instead of requesting for IDR, client can request for use long-term
475 reference picture for encoding.
477 2020-01-07 10:24:19 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
480 meson: display OMX target when configuring
481 I'm adding more gst-omx CI (
482 https://gitlab.freedesktop.org/gstreamer/gst-ci/issues/20 ) having the
483 OMX targets displayed in the logs makes things clearer.
485 2019-08-30 10:27:32 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
488 omx: remove useless double negations
489 flush and port->flushing are both gboolean.
491 2019-12-20 22:19:06 -0800 Julien Isorce <jisorce@oblong.com>
494 meson: fix tizonia build
495 meson.build was both using path to gst-omx/openmax/OMX*
496 headers and path to OMX headers provided by tizilheaders.pc
497 so this patch makes sure we only use the later.
498 Also bump tizonia minimum version to 0.19.0 which
499 is the latest release.
501 2019-05-16 10:50:18 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
503 * omx/gstomxh265enc.c:
504 * omx/gstomxh265enc.h:
505 omxh265enc: handle CODECCONFIG buffers
506 Exact same code as omxh264enc.
508 2019-05-16 10:38:49 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
510 * omx/gstomxh264enc.c:
511 omxh264enc: send codec data downstream
512 We are operating in stream-format=byte-stream so the codec data buffer
513 is meant to be part of the buffer flow.
514 The base class will push it when a key frame is requested (as we stored
515 it with gst_video_encoder_set_headers()) but we still have to push it
516 right away as part of the normal buffer flow.
517 Also set the HEADER flag on this buffer.
519 2019-05-16 10:38:49 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
521 * omx/gstomxh264enc.c:
522 omxh264enc: no need to check if codeconfig has startcode
523 We currently only support stream-format=byte-stream so there is no point
524 re-checking for it when handling CODECCONFIG buffer.
526 2018-09-04 20:12:17 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
528 * omx/gstomxh264enc.c:
529 * omx/gstomxh265enc.c:
530 omxh26xenc: Negotiate subframe mode
531 We now negotiate subframe mode through the caps. To enabled subframe
532 mode, the caps need to specify alignment=nal:
533 ... ! omxh264enc ! video/x-h264,alignment=nal ! ...
534 ... ! omxh265enc ! video/x-h265,alignment=nal ! ...
536 2018-08-31 12:24:34 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
538 * omx/gstomxvideoenc.c:
539 omxvideoenc: use subframe base class API
540 Use subframe base class support.
542 2018-09-04 19:34:59 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
546 omx: Add helper to enable/disable/read subframe mode
548 2019-12-19 13:51:17 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
551 zynq: add mapping for latest custom indexes
552 Fix warning when building using version 2019.2 of OMX headers.
554 2019-09-12 16:29:59 -0700 Varunkumar Allagadapa <varunkumar.allagadapa@xilinx.com>
556 * omx/gstomxvideoenc.c:
557 omxvideoenc: update qp-mode settings
558 Adds load-qp-absolute and load-qp-relative qp-modes
560 2019-12-10 18:34:25 +0900 Shinya Saito <ssaito@igel.co.jp>
562 * omx/gstomxvideoenc.c:
563 omxvideoenc: Add stride check for input buffer extraction
564 Stride of input buffer may be different from
565 that of omx input port even if both sizes are the same.
567 2019-05-15 14:04:47 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
569 * omx/gstomxvideoenc.c:
570 omxvideoenc: pass padding requirements to ALLOCATION query
571 By passing the expected video buffer layout, the upstream producer
572 may be able to produce buffers fitting those requierements allowing
573 gst-omx to use dynamic buffer mode rather than having to copy each input
575 This is particularly useful with v4l2src as it can request the capture
576 driver to produce buffers with the required paddings.
578 2019-07-09 13:07:32 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
580 * omx/gstomxbufferpool.c:
583 omxbufferpool: use gst_video_meta_set_alignment()
584 Tell buffer consumer about our paddings.
585 v4l2src can now uses these paddings information when trying to import
586 buffers to configure the v4l2 driver accordingly.
588 2019-05-30 11:11:34 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
590 * omx/gstomxvideoenc.c:
591 omxvideoenc: fix buffer size in debug log
592 Use the actual OMX buffer size rather than the info.size as OMX
593 may require larger buffer if the port requires some padding.
595 2019-10-14 00:48:32 +0100 Tim-Philipp Müller <tim@centricular.com>
602 * config/Makefile.am:
603 * config/bellagio/Makefile.am:
604 * config/rpi/Makefile.am:
605 * config/tizonia/Makefile.am:
606 * config/zynqultrascaleplus/Makefile.am:
608 * examples/Makefile.am:
609 * examples/egl/Makefile.am:
613 * tests/check/.gitignore:
614 * tests/check/Makefile.am:
615 * tests/check/generic/.gitignore:
617 Remove autotools build
619 2019-10-07 16:59:10 +0000 Stéphane Cerveau <scerveau@collabora.com>
621 * omx/gstomxallocator.c:
622 omxallocator: fix leak with a proper chaining finalize
624 2019-09-20 15:02:24 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
626 * omx/gstomxvideoenc.c:
627 omxvideoenc: revert draining on ALLOCATION and DRAIN query
628 My latest patch introduces some regressions which I have no time to
629 debug properly at the moment so just revert it for now.
631 2019-09-17 13:02:54 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
633 * omx/gstomxvideoenc.c:
634 omxvideoenc: let encoder base class handle ALLOCATION query
635 Fixing a regression introduced in my previous patch
636 (7c40a91c31aa4bcbb191f7c6a5d222edf9dfd9d1).
637 The ALLOCATION query needs to be handled by GstVideoEncoder (to call
638 propose_allocation()) so chain up the query handling rather than early
641 2019-08-29 12:20:56 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
643 * omx/gstomxvideoenc.c:
644 omxvideoenc: drain encoder on ALLOCATION and DRAIN queries
645 Ensure that the encoder releases all its input buffers when requested by
646 upstream. Encoder input buffers may be shared with downstreaming (when
647 using dmabuf), upstream may then request the encoder to
648 drain when reconfiguring before destroying its buffers.
649 Also drain on ALLOCATION query as we already do in kmssink as that
650 notify of a format change.
651 Fix "decoder ! encoder" pipeline when decoding a file with different
654 2019-08-28 15:52:41 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
657 omx: log the number of pending buffers when port is EOS
659 2019-08-28 15:49:00 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
662 omx: log when an output port is eos
664 2019-08-27 15:47:28 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
666 * omx/gstomxvideoenc.c:
667 omxvideoenc: log the full input format
668 Make it easier to debug dynamic format changes.
670 2019-08-21 12:25:40 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
672 * omx/gstomxvideodec.c:
673 omxvideodec: fix dmabuf import
674 When importing dmabuf, UseBuffer() has to be called with the fd as
675 pBuffer rather than the mapped address of the buffer.
677 2019-08-21 12:48:25 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
679 * omx/gstomxbufferpool.c:
680 omxbufferpool: fix dmabuf import
681 When importing dmabuf from downstream, we want the allocator to be in
682 OTHER_POOL mode despite output_mode being DMABUF.
683 So check first if other_pool is set before checking for pool's
686 2019-08-22 17:55:54 +0900 Shinya Saito <ssaito@igel.co.jp>
688 * omx/gstomxvideoenc.c:
689 omxvideoenc: Remove unnecessary gst_video_frame_unmap()
691 2019-07-25 16:30:13 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
693 * omx/gstomxvideodec.c:
694 omxvideodec: log supported caps by the decoder
695 Can be useful when debugging to check the caps supported by the decoder
698 2019-07-11 12:03:46 +0900 Shinya Saito <ssaito@igel.co.jp>
700 * omx/gstomxvideoenc.c:
701 omxvideoenc: Unref frame of codec config buffer
702 After handling codec config, codec frame should be unreffed.
704 2019-06-14 16:27:37 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
707 omxvideo: check difference between frame and requested ts
708 This has proven to be very useful when debugging to detect bugs where we
709 match the wrong gst frame with an output OMX buffer.
711 2019-06-14 10:57:29 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
715 * omx/gstomxvideodec.c:
716 * omx/gstomxvideoenc.c:
717 omxvideo: add debug infos to find_nearest_frame()
718 Those debug infos have proved to be very helpful when debugging
719 timestamp issues. They are often linked to gst-omx picking the wrong
720 frame when trying to map from OMX.
722 2019-03-05 16:57:40 +0900 Shinya Saito <ssaito@igel.co.jp>
724 * omx/gstomxvideodec.c:
725 omxvideodec: Deactivate negotiated pool when output own buffer
726 If decoder outputs internal buffer and not use OMX_UseBuffer,
727 downstream bufferpool should be stopped.
729 2019-06-03 12:21:05 +0900 Shinya Saito <ssaito@igel.co.jp>
731 * omx/gstomxh264enc.c:
732 * omx/gstomxh264enc.h:
733 omxh264enc: Add 'ref-frames' property
734 Add a property to control the number of frames for reference.
735 Min and max value is based on OpenMAX IL 1.2.0 Specification.
737 2019-06-03 07:57:02 +0200 Niels De Graef <niels.degraef@barco.com>
741 meson: Bump minimal GLib version to 2.44
742 This means we can use some newer features and get rid of some
743 boilerplate code using the G_DECLARE_* macros.
744 As discussed on IRC, 2.44 is old enough by now to start depending on it.
746 2019-04-19 12:38:54 -0400 Thibault Saunier <tsaunier@igalia.com>
748 * docs/gst_plugins_cache.json:
755 doc: Build documentation of hotdoc
757 2019-03-26 12:26:03 +0200 George Kiagiadakis <george.kiagiadakis@collabora.com>
761 gstomx: remove gst_omx_buffer_set_omx_buf/get_omx_buf
762 They are no longer used anywhere
764 2019-03-22 12:11:13 +0200 George Kiagiadakis <george.kiagiadakis@collabora.com>
767 * omx/gstomxallocator.c:
768 * omx/gstomxallocator.h:
769 * omx/gstomxbufferpool.c:
770 * omx/gstomxbufferpool.h:
771 * omx/gstomxvideoenc.c:
773 omxbufferpool: refactor to allow memory sharing
774 One big restriction of the OMX buffer pool has always been
775 that the GstMemory objects were flagged with NO_SHARE.
776 This was because the buffer pool needed to be sure that when
777 a buffer returned to the pool, it would be safe to release the
778 OMX buffer back to OpenMAX.
779 With this change, this is no longer a restriction. What this
780 commit introduces is a new allocator that allows us to track
781 the GstMemory objects independently. Now, when a buffer returns
782 to the pool, it is not necessary for the memory to be released
783 as well. We simply track the memory's ref count in the allocator
784 and we return the OMX buffer back when the memory's ref count
786 The reason for doing this is to allow implementing zero-copy
787 transfers in situations where we may need to copy or map a
788 certain region of the buffer. For instance, omxh264enc ! h264parse
789 should be possible to be zero-copy by using an OMX buffer pool
792 2019-04-23 15:13:23 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
794 * omx/gstomxbufferpool.c:
795 omxbufferpool: fix memory mapping with offset
796 gst_memory_map() is already adding the offset to the mapped pointer.
797 Doing it in the memory implementation was resulting in the offset being
799 It doesn't matter yet as we are only creating memory without offset for
800 now but it will once we'll start sharing OMX memories.
802 2019-04-19 10:43:58 +0100 Tim-Philipp Müller <tim@centricular.com>
809 === release 1.16.0 ===
811 2019-04-19 00:38:44 +0100 Tim-Philipp Müller <tim@centricular.com>
821 2019-04-16 12:23:10 -0700 Julien Isorce <jisorce@oblong.com>
824 Fixes build with omx >= 1.2.0
825 gstomx.c:1405:10: error: ‘OMX_IndexParamCustomContentPipe’ undeclared (first use in this function)
826 case OMX_IndexParamCustomContentPipe
827 Some enums have been deprecated in 1.2.0
828 https://gitlab.freedesktop.org/gstreamer/gst-omx/issues/27
830 2018-05-18 10:55:21 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
833 * examples/egl/Makefile.am:
834 * examples/egl/meson.build:
835 testegl: properly detect and use rpi specific libs
836 Use pkg-config to detect and configure rpi specific libs used in testegl
837 rather than hardcoding their flags.
839 2018-05-18 10:53:34 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
841 * examples/egl/testegl.c:
842 testelg: include eglext.h
843 Neded for the declaration of eglSaneChooseConfigBRCM().
845 2018-05-18 10:38:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
847 * examples/egl/testegl.c:
848 testegl: move up pi specific macros
849 We need to define __VCCOREVER__ and disable redundant-decls before
850 including the egl.h from the pi.
852 === release 1.15.90 ===
854 2019-04-11 00:40:52 +0100 Tim-Philipp Müller <tim@centricular.com>
864 2019-04-10 00:19:55 +0100 Tim-Philipp Müller <tim@centricular.com>
867 meson: add -Wundef as additional warning flag
869 2019-04-10 00:16:27 +0100 Tim-Philipp Müller <tim@centricular.com>
871 * omx/gstomxvideoenc.c:
872 omx: fix autotools build for generic target
873 gstomxvideoenc.c:2874:7: error: "USE_OMX_TARGET_ZYNQ_USCALE_PLUS" is not defined, evaluates to 0 [-Werror=undef]
874 #elif USE_OMX_TARGET_ZYNQ_USCALE_PLUS
875 Works on meson because it doesn't use -Wundef
877 2018-11-12 12:51:28 +0200 Jordan Petridis <jordan@centricular.com>
880 Add Gitlab CI configuration
881 This commit adds a .gitlab-ci.yml file, which uses a feature
882 to fetch the config from a centralized repository. The intent is
883 to have all the gstreamer modules use the same configuration.
884 The configuration is currently hosted at the gst-ci repository
885 under the gitlab/ci_template.yml path.
886 Part of https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/29
888 2019-03-25 16:30:11 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
891 omx: disable OMX_API_TRACE code if gst debug is disabled
892 No need to create debug structs which won't be used as DEBUG macros are
895 2018-10-11 10:55:04 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
898 omx: log Get/SetParameter/Config calls
899 Extend OMX_API_TRACE by logging component configuration calls.
901 2019-02-06 14:57:05 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
903 * omx/gstomxbufferpool.c:
904 omxbufferpool: don't use CAT_PERFORMANCE if pool will copy
905 This was the single place where this category was used in gst-omx so
906 most users, including me, are generally not turning it and were missing this
907 important information from logs.
908 The copying code uses gst_video_frame_copy() which is already logging
909 with CAT_PERFORMANCE so we can still have this information when using
910 only this debug category.
912 2019-02-06 14:50:44 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
914 * omx/gstomxvideodec.c:
915 omxvideodec: add debug if proposed pool can't provide enough buffers
916 We were silently ignoring the pool which was pretty confusing when
919 2019-03-26 12:17:26 +0000 Charlie Turner <cturner@igalia.com>
921 * omx/gstomxaacdec.c:
922 * omx/gstomxaacenc.c:
923 * omx/gstomxamrdec.c:
924 * omx/gstomxh263dec.c:
925 * omx/gstomxh263enc.c:
926 * omx/gstomxh264dec.c:
927 * omx/gstomxh264enc.c:
928 * omx/gstomxh265dec.c:
929 * omx/gstomxh265enc.c:
930 * omx/gstomxmjpegdec.c:
931 * omx/gstomxmp3dec.c:
932 * omx/gstomxmp3enc.c:
933 * omx/gstomxmpeg2videodec.c:
934 * omx/gstomxmpeg4videodec.c:
935 * omx/gstomxmpeg4videoenc.c:
936 * omx/gstomxtheoradec.c:
937 * omx/gstomxvp8dec.c:
938 * omx/gstomxwmvdec.c:
939 omx: Add hardware classifiers to encoders/decoders
941 2019-03-25 16:01:48 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
944 meson: sync warnings flags with -good
945 Add more warnings flags and disabled unused variable warnings if gst
946 debug system is disabled.
947 Copied from gst-plugins-good/meson.build
949 2019-03-04 09:16:40 +0000 Tim-Philipp Müller <tim@centricular.com>
957 === release 1.15.2 ===
959 2019-02-26 12:02:23 +0000 Tim-Philipp Müller <tim@centricular.com>
969 2019-02-14 23:57:09 +0000 Tim-Philipp Müller <tim@centricular.com>
973 meson: add options to disable examples, tests and tools and bump meson requirement
975 2019-01-04 10:11:38 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
979 * omx/gstomxvideodec.c:
980 * omx/gstomxvideoenc.c:
981 omxvideo: use GST_VIDEO_CAPS_MAKE() for template caps
982 Simplify the code and so we advertise the formats actually supported by
985 2018-06-04 12:20:03 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
987 * omx/gstomxvideoenc.c:
988 omxvideoenc: validate cpb-size and initial-delay
989 cpb-size cannot be smaller than initial-delay.
991 2018-10-02 10:47:06 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
993 * omx/gstomxvideodec.c:
994 omxvideodec: Remove duplicated QoS code
995 The 'finish' function do the exact same check / drop, there is no
996 need to duplicate this here.
998 2018-09-20 14:44:09 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1000 * omx/gstomxvideodec.c:
1001 * omx/gstomxvideodec.h:
1002 omxvideodec: Remove dead code
1003 The omxvideodec base class have a totally unused prepare_frame() vritual
1004 function, remove it.
1006 2018-07-11 17:38:22 -0700 Varunkumar Allagadapa <varunkum@xilinx.com>
1008 * omx/gstomxvideoenc.c:
1009 omxvideoenc: add adaptive gop-mode option
1010 Added adaptive gop-mode option to ZYNQ_USCALE_PLUS encoder properties
1012 2018-02-13 18:25:51 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1014 * omx/gstomxvideoenc.c:
1015 omxvideoenc: Add dynamic framerate support
1016 Instead of going through a full reset, try and change the framerate
1017 config on the encoder when only the framerate have change.
1019 === release 1.15.1 ===
1021 2019-01-17 02:38:28 +0000 Tim-Philipp Müller <tim@centricular.com>
1031 2018-02-20 10:57:42 -0800 Varunkumar Allagadapa <varunkum@xilinx.com>
1033 * omx/gstomxvideoenc.c:
1034 omxvideoenc: Add dynamic IDR insertion support on zynq
1035 As the pi, the zynq has its own API to request keyframe.
1037 2019-01-07 13:29:37 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
1041 * omx/gstomxbufferpool.c:
1042 omxbufferpool: fix race when releasing input buffers
1043 If buffers were released from the pool while
1044 gst_omx_video_enc_handle_frame() was waiting for new buffers,
1045 gst_omx_port_acquire_buffer() was never awaken as the buffers weren't
1046 released through OMX's messaging system.
1047 GQueue isn't thread safe so also protect it with the lock mutex.
1049 2018-11-15 11:17:59 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1051 * omx/gstomxbufferpool.c:
1052 * omx/gstomxbufferpool.h:
1053 * omx/gstomxvideodec.c:
1054 * omx/gstomxvideoenc.c:
1055 omxbufferpool: fix early input buffer release
1056 We used to track the 'allocating' status on the pool. It is used while
1057 allocating so output buffers aren't passed right away to OMX and input
1058 ones are not re-added to the pending queue.
1059 This was causing a bug when exporting buffers to v4l2src. On start
1060 v4l2src acquires a buffer, read its stride and release it right away.
1061 As no buffer was received by the encoder element at this point, 'allocating'
1062 was still on TRUE and so the the buffer wasn't put back to the pending
1063 queue and, as result, no longer available to the pool.
1064 Fix this by checking the active status of the pool instead of manually
1065 tracking it down. The pool is considered as active at the very end of
1066 the activation process so we're good when buffers are released during
1069 2018-12-05 17:24:48 -0300 Thibault Saunier <tsaunier@igalia.com>
1072 Automatic update of common submodule
1073 From ed78bee to 59cb678
1075 2018-11-23 12:57:15 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
1078 omx: fix OMX_EventBufferFlag OMX_API_TRACE struct
1079 The GType was missing from the second field of the struct.
1081 2018-11-05 05:43:43 +0000 Matthew Waters <matthew@centricular.com>
1085 Update git locations to gitlab
1087 2018-09-18 16:50:11 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1090 omx: rename OMX_PERFORMANCE debug cat to OMX_API_TRACE
1091 This debug category can now be used to track more OMX calls and events
1092 so best to rename it to something more generic.
1093 https://bugzilla.gnome.org/show_bug.cgi?id=797171
1095 2018-08-21 17:35:04 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1098 omx: log OMX commands with OMX_PERFORMANCE debug category
1099 It has been useful to have a clear raw and structured view of the gst
1100 <-> OMX exchanges when debugging.
1101 https://bugzilla.gnome.org/show_bug.cgi?id=797171
1103 2018-08-21 16:50:38 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1106 omx: factor out gst_omx_component_send_command()
1107 No semantic change. I'm going to add extra debug in this function.
1108 https://bugzilla.gnome.org/show_bug.cgi?id=797171
1110 2018-08-21 15:14:09 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1113 omx: log OMX events with OMX_PERFORMANCE debug category
1114 It has been useful to have a clear raw and structured view of the gst
1115 <-> OMX exchanges when debugging.
1116 https://bugzilla.gnome.org/show_bug.cgi?id=797171
1118 2018-08-22 12:51:30 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1121 omx: rename log_omx_performance() to log_omx_performance_buffer()
1122 I'm about to log more things under this category
1123 https://bugzilla.gnome.org/show_bug.cgi?id=797171
1125 2018-09-07 22:57:30 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1127 * omx/gstomxvideoenc.c:
1128 omxvideoenc: Remove spurious locking
1129 The method we call in the context of pushing a buffer are all thread
1130 safe. Holding a lock would prevent input buffers from being queued while
1132 https://bugzilla.gnome.org/show_bug.cgi?id=715192
1134 2018-09-07 23:09:29 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1136 * omx/gstomxvideoenc.c:
1137 omxvideoenc: Remove unneeded size check
1138 We only enter this branch if nFilledLen > 0, there is not need
1140 https://bugzilla.gnome.org/show_bug.cgi?id=715192
1142 2018-09-07 22:55:41 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1144 * omx/gstomxvideodec.c:
1145 omxvideodec: Remove spurious unlock in error case
1146 This was forgotton in previous patch. We no long hold the lock when goto
1147 invalid_buffer is called.
1148 https://bugzilla.gnome.org/show_bug.cgi?id=715192
1150 2018-08-31 17:28:03 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1152 * omx/gstomxvideodec.c:
1153 omxvideodec: don't hold the stream lock when trying to push a frame
1154 The base class methods will lock this properly when needed, there seems
1155 to be no need to lock it explicitly.
1156 This allows the patch in gstvideodec for unlocking the stream lock
1157 when pushing buffers out to work.
1158 https://bugzilla.gnome.org/show_bug.cgi?id=715192
1160 2018-07-31 13:22:31 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1162 * omx/gstomxvideodec.c:
1163 omxvideodec: don't import OMX buffers from downstream
1164 We already have code configuring the encoder stride and slice height
1165 when receiving the first buffer from upstream.
1166 We don't have an equivalent when the encoder is exporting its buffers to the
1168 There is no point adding it and making the code even more
1169 complex as we wouldn't gain anything by exporting from the encoder to
1170 the decoder. The dynamic buffer mode already ensures 0-copy between OMX
1172 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1174 2018-05-15 11:59:26 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1178 * omx/gstomxbufferpool.c:
1179 * omx/gstomxvideoenc.c:
1180 * omx/gstomxvideoenc.h:
1181 omxvideoenc: implement dmabuf export on input buffers
1182 Propose pool upstream so input buffers can be allocated by the port and
1184 The actual OMX buffers are allocated when the pool is activated, so we
1185 don't end up doing useless allocations if the pool isn't used.
1186 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1188 2018-08-13 15:10:37 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1192 * omx/gstomxaudiodec.c:
1193 * omx/gstomxaudioenc.c:
1194 * omx/gstomxaudiosink.c:
1195 * omx/gstomxvideodec.c:
1196 * omx/gstomxvideoenc.c:
1197 omx: allow gst_omx_port_acquire_buffer() to not wait for buffers
1198 Will be needed to implement GST_BUFFER_POOL_ACQUIRE_FLAG_DONTWAIT.
1199 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1201 2018-07-31 15:04:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1203 * omx/gstomxvideodec.c:
1204 omxvideodec: don't import non-dmabuf when dec is in dmabuf mode
1205 Fix 'omxh264dec ! videocrop' pipeline.
1206 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1208 2018-08-02 11:29:12 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1210 * omx/gstomxvideodec.c:
1211 omxvideodec: factor out gst_omx_try_importing_buffer()
1212 No semantic change, just make the code clearer and improve debug output.
1213 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1215 2018-07-26 16:30:08 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1217 * omx/gstomxvideodec.c:
1218 omxvideodec: fix gst_video_info_from_caps() caps assertion
1219 The "use buffers" code path uses gst_video_info_from_caps() which is
1220 asserting if caps is NULL (because pool was rejected).
1221 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1223 2018-07-26 16:22:50 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1225 * omx/gstomxvideodec.c:
1226 omxvideodec: fix pool caps reference stealing
1227 gst_buffer_pool_config_get_params() doesn't ref the returning caps;
1228 so gst_caps_replace() was unreffing the reference owned by the pool.
1229 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1231 2018-07-25 09:57:20 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1233 * omx/gstomxvideodec.c:
1234 omxvideodec: prevent timeout when shutting down because of pending out buffers
1235 The OMX transition state to Loaded won't be complete until all buffers
1236 have been freed. There is no point waiting, and timeout, if we know that
1237 output buffers haven't been freed yet.
1238 The typical scenario is output buffers being still used downstream
1239 and being freed later when released back to the pool.
1240 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1242 2018-07-24 15:14:31 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1244 * omx/gstomxbufferpool.c:
1245 omxbufferpool: reference the OMX component
1246 Now that the pool is responsible of freeing the OMX buffers, we need to
1247 ensure that the OMX component stay alive while the pool is as we rely on
1248 the component to free the buffers.
1249 The GstOMXPort is owned by the component so no need to ref this one.
1250 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1252 2018-07-24 15:06:01 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1256 * omx/gstomxaudiodec.c:
1257 * omx/gstomxaudioenc.c:
1258 * omx/gstomxaudiosink.c:
1259 * omx/gstomxvideodec.c:
1260 * omx/gstomxvideoenc.c:
1261 turn GstOMXComponent to a GstMiniObject
1262 Will use it for refcounting.
1263 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1265 2018-05-28 12:20:45 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1267 * omx/gstomxbufferpool.c:
1268 * omx/gstomxvideodec.c:
1269 omxbufferpool: deallocate OMX buffers when stopping
1270 The pool is stopped when all the buffers have been released. Deallocate
1271 when stopping so we are sure that the buffers aren't still used by
1273 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1275 2018-05-24 16:28:21 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1278 omx: call gst_omx_buffer_unmap() when handling BUFFER_DONE
1279 When using a input buffer pool, the buffer may be released to the pool when
1280 gst_omx_buffer_unmap() is called. We need to have buf->used unset at
1281 this point as the pool may use it to check the status of the pool.
1282 {Empty,Fill}BufferDone is called from OMX internal threads while
1283 messages are handled from gst elements' thread. Best to do all this
1284 when handling the message so we don't mess with OMX threads and keep
1285 the original thread/logic split.
1286 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1288 2018-05-25 14:44:16 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1290 * omx/gstomxvideodec.c:
1291 * omx/gstomxvideoenc.c:
1292 omxvideo{enc,dec}: stop calling shutdown() in change_state
1293 This is no longer needed since we implemented close() vfuncs as the
1294 encoder/decoder base class already take care of calling close() (which
1295 is calling shutdown()) in its own change_state implementation.
1296 We also move the shut down of the component from PAUSED_TO_READY to READY_TO_NULL.
1297 By doing so upstream will have already deactivated the pool from the
1298 encoder and so won't be preventing the OMX state change as the buffers
1299 will all be released.
1300 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1302 2018-05-15 16:21:26 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1306 * omx/gstomxbufferpool.c:
1307 omx: factor out gst_omx_buffer_get/set_omx_buf()
1308 Move the qdata code to helper functions as I'm going to need them in
1309 omxvideoenc to implement dmabuf export.
1310 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1312 2018-05-15 11:01:13 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1314 * omx/gstomxvideoenc.c:
1315 omxvideoenc: factor out gst_omx_video_enc_set_to_idle()
1316 No semantic change. We'll have to use this when the input pool is
1317 activated so we can allocate buffers.
1318 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1320 2018-05-15 09:56:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1322 * omx/gstomxvideoenc.c:
1323 omxvideoenc: factor out gst_omx_video_enc_deallocate_in_buffers()
1324 Will add extra code when adding input buffer pool.
1325 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1327 2018-05-14 15:16:38 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1330 omx: add pBuffer to OMX_PERFORMANCE logs
1331 Can be useful to check the fd being passed when using dmabuf.
1332 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1334 2018-03-21 12:43:33 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1338 * omx/gstomxvideodec.c:
1339 * omx/gstomxvideoenc.c:
1340 omx: factor out gst_omx_port_set_dmabuf()
1341 No semantic change. I also made the debug message a bit clearer.
1342 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1344 2018-08-22 15:56:18 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1347 omx: wait for flush complete and buffers being released when flushing
1348 When flusing we should wait for OMX to send the flush command complete event
1349 AND all ports being released.
1350 We were stopping as soon as one of those condition was met.
1351 Fix a race between FillThisBufferDone/EmptyBufferDone and the flush
1352 EventCmdComplete messages. The OMX implementation is supposed to release
1353 its buffers before posting the EventCmdComplete event but the ordering
1354 isn't guaranteed as the FillThisBufferDone/EmptyBufferDone and
1355 EventHandler callbacks can be called from different threads (cf 2.7
1356 'Thread Safety' in the spec).
1357 Only wait for buffers currently used by OMX as some buffers may not be
1358 in the pending queue because they are held downstream.
1359 https://bugzilla.gnome.org/show_bug.cgi?id=789475
1361 2018-08-22 15:52:23 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1364 omx: factor out should_wait_until_flushed()
1365 No semantic change. Makes the code easier to understand and I'm about to
1366 change the waiting condition.
1367 https://bugzilla.gnome.org/show_bug.cgi?id=789475
1369 2018-08-28 13:10:35 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1371 * omx/gstomxvideoenc.c:
1372 omxvideoenc: pause component when flushing
1373 As stated in the spec ("6.1.3 Seek Event Sequence") we should pause
1375 We were pausing the decoder but not the encoder so I just aligned the
1377 https://bugzilla.gnome.org/show_bug.cgi?id=797038
1379 2018-07-12 12:41:18 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1381 * omx/gstomxvideoenc.c:
1382 omxvideoenc: fix vertical padding in NV16 formats
1383 My previous patch to calculate the vertical padding was always halfing
1384 the height of the chroma plane which is incorrect for NV16 formats.
1385 https://bugzilla.gnome.org/show_bug.cgi?id=796749
1387 2018-07-05 15:13:47 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1389 * omx/gstomxvideoenc.c:
1390 omxvideoenc: include vertical padding in nFilledLen when copying
1391 According to the OMX spec (3.1.3.7.1) nFilledLen is meant to include any
1392 padding. We use to include the horizontal one (stride) but not the
1393 vertical one if nSliceHeight is bigger than the actual height.
1394 The calculated nFilledLen was wrong as it didn't include the padding
1396 https://bugzilla.gnome.org/show_bug.cgi?id=796749
1398 2018-04-26 12:30:47 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1402 * omx/gstomxvideodec.c:
1403 * omx/gstomxvideoenc.c:
1404 * omx/gstomxvideoenc.h:
1405 omxvideoenc: implement decide_allocation
1406 Increase the number of output buffers by the number of buffers requested
1408 Prevent buffers starvation if downstream is going to use dynamic buffer
1410 https://bugzilla.gnome.org/show_bug.cgi?id=795746
1412 2018-04-26 12:29:16 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1414 * omx/gstomxvideodec.c:
1415 omxvideodec: implement propose_allocation
1416 Tell upstream about how many buffer we plan to use so they can adjust
1417 their own number of buffers accordingly if needed.
1418 Same logic as the existing gst_omx_video_enc_propose_allocation().
1419 https://bugzilla.gnome.org/show_bug.cgi?id=795746
1421 2018-05-17 09:54:11 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1423 * omx/gstomxvideoenc.c:
1424 * omx/gstomxvideoenc.h:
1425 omxvideoenc: always signal drain cond when stopping streaming loop
1426 Similar change as the one I just did in omxvideodec.
1427 https://bugzilla.gnome.org/show_bug.cgi?id=796207
1429 2018-05-16 17:06:29 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1431 * omx/gstomxvideodec.c:
1432 * omx/gstomxvideodec.h:
1433 omxvideodec: always signal drain cond when stopping streaming loop
1434 If for some reason something goes wrong and we stop the streaming loop
1435 we may end up with other threads still waiting on the drain cond.
1436 No more buffers will be produced by the component so they were waiting
1438 Fix this by always signalling this cond when stopping the streaming
1440 https://bugzilla.gnome.org/show_bug.cgi?id=796207
1442 2018-05-16 17:02:01 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1444 * omx/gstomxvideodec.c:
1445 omxvideoenc: factor out gst_omx_video_enc_pause_loop()
1446 No semantic change. I'm going to use it in more failure cases.
1447 https://bugzilla.gnome.org/show_bug.cgi?id=796207
1449 2018-05-17 14:24:52 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1451 * config/zynqultrascaleplus/gstomx.conf:
1452 zynqultrascaleplus: enable 'ensure-buffer-count-actual' hack
1453 https://bugzilla.gnome.org/show_bug.cgi?id=791211
1455 2018-04-27 16:26:36 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1459 * omx/gstomxvideodec.c:
1460 * omx/gstomxvideoenc.c:
1461 omxvideodec/enc: add hack updating nBufferCountActual before allocating
1462 The OMX specs states that the nBufferCountActual of a port has to default
1463 to its nBufferCountMin. If we don't change nBufferCountActual we purely rely
1464 on this default. But in some cases, OMX may change nBufferCountMin before we
1465 allocate buffers. Like for example when configuring the input ports with the
1466 actual format, it may decrease the number of minimal buffers required.
1467 This method checks this and update nBufferCountActual if needed so we'll use
1468 less buffers than the worst case in such scenarios.
1469 SetParameter() needs to be called when the port is either disabled or
1470 the component in the Loaded state.
1471 Don't do this for the decoder output as
1472 gst_omx_video_dec_allocate_output_buffers() already check
1473 nBufferCountMin when computing the number of output buffers.
1474 On some platform, like rpi, the default nBufferCountActual is much
1475 higher than nBufferCountMin so only enable this using a specific gst-omx
1477 https://bugzilla.gnome.org/show_bug.cgi?id=791211
1479 2018-05-28 15:02:13 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1481 * omx/gstomxvideodec.c:
1482 * omx/gstomxvideoenc.c:
1483 omxvidee{enc,dec}: refresh input port definition after setting format
1484 Setting the input format and the associated encoder/decoder settings
1485 may also affect the nBufferCountMin of the input port.
1486 Refresh the input port so we'll use up to date values in propose/decide
1488 https://bugzilla.gnome.org/show_bug.cgi?id=796445
1490 2018-05-07 11:59:08 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1493 omx: always consider component in 'invalid' state when an error occured
1494 gst_omx_component_get_state() used to early return if there was no
1495 pending state change. So if the component raised an error it wasn't
1496 considered in the invalid state until the next requested state change.
1497 Fix this by checking first if we received an error.
1498 https://bugzilla.gnome.org/show_bug.cgi?id=795874
1500 2018-05-25 01:35:58 +1000 Matthew Waters <matthew@centricular.com>
1503 * meson_options.txt:
1504 meson: Update option names to omit 'with_omx' prefixes
1505 Companion commit to:
1506 https://cgit.freedesktop.org/gstreamer/gstreamer/commit/?id=4fb02fc85b70be631f5331b2547e5dc61ef7a43a
1507 https://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=1e1a5d658e4a031535c44823fd398d3052ca2000
1510 2018-03-21 13:52:23 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1512 * omx/gstomxvideodec.c:
1513 omxvideodec: pass a GstOMXBufferMode to gst_omx_buffer_pool_new()
1514 The output_mode is supposed to be a GstOMXBufferMode, not a boolean.
1516 2018-05-03 09:27:15 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1518 * config/zynqultrascaleplus/gstomx.conf:
1519 zynq: remove 'no-disable-outport' hack
1520 No longer needed with newer version of the OMX stack.
1522 2018-03-13 16:15:30 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1524 * omx/gstomxh264enc.c:
1525 * omx/gstomxh265enc.c:
1526 omxh26{4,5}enc: don't pick default 10-bit profile
1527 The OMX stack of the zynqultrascaleplus (the only one supporting
1528 NV12_10LE32 and NV16_10LE32) will now pick the proper profile if none
1529 has been requested. Best to rely on its default than hardcoding a
1530 specific one in gst-omx.
1531 https://bugzilla.gnome.org/show_bug.cgi?id=794319
1533 2018-03-06 14:16:56 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1535 * omx/gstomxh264utils.c:
1536 omxh264: sync with supported profiles on zynqultrascaleplus
1537 Add extra supported AVC profiles and remove extended and 4:4:4 profiles
1538 which are actually not implemented.
1539 https://bugzilla.gnome.org/show_bug.cgi?id=794177
1541 2018-03-06 10:45:14 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1543 * omx/gstomxh264enc.c:
1544 * omx/gstomxh264utils.c:
1545 * omx/gstomxh264utils.h:
1546 omxh264: factor out gst_omx_h264_utils_get_profile_from_enum()
1547 Move the profile <-> enum mapping to one place. Make changes easier as
1548 I'm about to add extra profiles.
1550 https://bugzilla.gnome.org/show_bug.cgi?id=794177
1552 2018-03-06 11:02:44 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1554 * omx/gstomxh265utils.c:
1555 omxh265: add format range extension profiles on zynqultrascaleplus
1556 The zynqultrascaleplus OMX gained support for more format range
1557 extensions profiles (A.3.5).
1558 https://bugzilla.gnome.org/show_bug.cgi?id=794177
1560 2018-03-06 10:45:14 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1562 * omx/gstomxh265enc.c:
1563 * omx/gstomxh265utils.c:
1564 * omx/gstomxh265utils.h:
1565 omxh265: factor out gst_omx_h265_utils_get_profile_from_enum()
1566 Move the profile <-> enum mapping to one place. Make changes easier as
1567 I'm about to add some profiles.
1569 https://bugzilla.gnome.org/show_bug.cgi?id=794177
1571 2018-03-08 12:22:26 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1573 * omx/gstomxvideoenc.c:
1574 omxvideoenc: add NV16 support
1575 NV16 format wasn't supported on encoder input while it was on decoder
1577 https://bugzilla.gnome.org/show_bug.cgi?id=794175
1579 2018-03-08 12:09:38 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1581 * omx/gstomxvideo.c:
1582 omxvideo: display port number when listing supported formats
1583 More convenient when debugging.
1584 https://bugzilla.gnome.org/show_bug.cgi?id=794175
1586 2018-03-29 16:42:40 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1589 * omx/gstomxvideoenc.c:
1590 * omx/gstomxvideoenc.h:
1591 omxvideoenc: restore OMX default target-bitrate if requested by user
1592 0xffffffff is the magic number in gst-omx meaning 'the default value
1593 defined in OMX'. This works fine with OMX parameters which are only set
1594 once when starting the component but not with configs which can be
1595 changed while PLAYING.
1596 Save the actual OMX default bitrate so we can restore it later if user
1597 sets back 0xffffffff on the property.
1598 Added GST_OMX_PROP_OMX_DEFAULT so we stop hardcoding magic numbers
1600 https://bugzilla.gnome.org/show_bug.cgi?id=794998
1602 2018-03-29 11:36:00 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1604 * omx/gstomxvideoenc.c:
1605 omxvideoenc: use gst_omx_video_enc_set_bitrate() when setting bitrate in set_format
1606 We weren't using the usual pattern when re-setting the bitrate:
1607 - get parameters from OMX
1608 - update only the fields different from 0xffffffff (OMX defaults)
1610 Also added a comment explaining why we re-set this param.
1611 https://bugzilla.gnome.org/show_bug.cgi?id=794998
1613 2018-03-29 11:26:04 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1615 * omx/gstomxvideoenc.c:
1616 omxvideoenc: factor out gst_omx_video_enc_set_bitrate()
1617 No semantic change, I'm about to re-use this function in set_format().
1618 https://bugzilla.gnome.org/show_bug.cgi?id=794998
1620 2018-04-20 11:54:14 +0100 Tim-Philipp Müller <tim@centricular.com>
1623 meson: fix miscellaneous meson warnings
1624 cc.has_header*() doesn't have a 'required:' kwarg.
1626 2018-04-18 12:42:55 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1628 * omx/gstomxvideodec.c:
1629 * omx/gstomxvideoenc.c:
1630 omxvideoenc/dec: fix handling of component enabling failing
1631 - Report the error from OMX if any (OMX_EventError)
1632 - If not report the failing to the application (GST_ELEMENT_ERROR)
1633 - return GST_FLOW_ERROR rather than FALSE
1635 https://bugzilla.gnome.org/show_bug.cgi?id=795352
1637 2018-04-16 10:53:41 +0100 Tim-Philipp Müller <tim@centricular.com>
1640 Automatic update of common submodule
1641 From 3fa2c9e to ed78bee
1643 2018-03-14 14:53:50 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1646 log_omx_performance: convert pointers to strings
1647 G_TYPE_POINTER are not serialized in logs.
1648 https://bugzilla.gnome.org/show_bug.cgi?id=794331
1650 2018-04-02 15:14:51 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1652 * omx/gstomxvideoenc.c:
1653 omxvideoenc: remove duplicated debug message
1654 We already have the exact same message at the beginning of
1655 gst_omx_video_enc_handle_frame(). Having it twice is confusing when
1656 reading/grepping logs.
1657 I kept the earlier one to keep the symetry with
1658 gst_omx_video_dec_handle_frame().
1659 https://bugzilla.gnome.org/show_bug.cgi?id=794897
1661 2018-02-22 11:27:03 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1663 * omx/gstomxvideoenc.c:
1664 omxvideoenc: add 'roi' qp-mode on zynqultrascaleplus
1665 New QP mode used to handle ROI metadata.
1666 https://bugzilla.gnome.org/show_bug.cgi?id=793696
1668 2018-03-20 10:31:10 +0000 Tim-Philipp Müller <tim@centricular.com>
1676 === release 1.14.0 ===
1678 2018-03-19 20:31:02 +0000 Tim-Philipp Müller <tim@centricular.com>
1688 === release 1.13.91 ===
1690 2018-03-13 19:32:39 +0000 Tim-Philipp Müller <tim@centricular.com>
1700 2018-03-09 12:02:29 +0000 Tim-Philipp Müller <tim@centricular.com>
1703 meson: fix typo in package name define
1705 2018-02-27 15:42:53 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1707 * omx/gstomxh265enc.c:
1708 * omx/gstomxh265utils.c:
1709 omxh265: update 422 profile names
1710 h265parse is gaining support for the format range extension profile
1712 Use the profile names defined in h265parse.
1713 https://bugzilla.gnome.org/show_bug.cgi?id=793928
1715 2018-03-05 13:49:18 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1717 * omx/gstomxvideoenc.c:
1718 omxvideoenc: Don't drop the frame on empty payload
1719 This otherwise may lead to "No reference frame found" warning.
1721 2018-03-01 15:16:55 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1723 * omx/gstomxvideodec.c:
1724 omxvideodec: Don't drop the frame on empty payload
1725 This otherwise may lead to "No reference frame found" warning.
1727 2018-03-02 15:36:06 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1730 omx: Free empty buffers list in use_dynamic_buffers
1731 To indicate we are doing dynamic buffers importation, we pass
1732 a list of NULL pointers, but we forgot to free that list.
1734 2018-03-01 15:16:32 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1736 * omx/gstomxvideodec.c:
1737 omxvideodec: Fix CodecState leak
1739 === release 1.13.90 ===
1741 2018-03-03 23:00:59 +0000 Tim-Philipp Müller <tim@centricular.com>
1751 2018-03-03 20:21:06 +0000 Tim-Philipp Müller <tim@centricular.com>
1753 * config/Makefile.am:
1754 config: dist tizonia config files
1756 2018-03-02 11:06:08 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1759 Revert "omx: wait for flush complete and buffers being released when flushing"
1760 This reverts commit 4211e4c29a262f110cb92ddf9c06b403ced233ef.
1762 2018-02-21 12:50:42 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1764 * omx/gstomxvideoenc.c:
1765 videoenc: don't set stride padding to 0 when copying frames
1766 Padding can be left undefined there is no point filling it with 0.
1767 https://bugzilla.gnome.org/show_bug.cgi?id=793694
1769 2018-02-16 11:50:35 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1771 * omx/gstomxbufferpool.c:
1772 * omx/gstomxh264enc.c:
1773 * omx/gstomxh265enc.c:
1774 * omx/gstomxvideo.c:
1775 * omx/gstomxvideodec.c:
1776 * omx/gstomxvideoenc.c:
1777 add support for NV12_10LE32 and NV16_10LE32 on zynqultrascaleplus
1778 The encoder and decoder on zynqultrascaleplus support these new 10 bits
1780 https://bugzilla.gnome.org/show_bug.cgi?id=793694
1782 2018-02-16 11:46:47 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1784 * omx/gstomxvideoenc.c:
1785 omxvideoenc: factor out gst_omx_video_enc_nv12_manual_copy()
1786 No semantic change, I'm going to re-use it to copy the NV12_10LE32
1788 https://bugzilla.gnome.org/show_bug.cgi?id=793694
1790 2018-01-17 10:40:49 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1792 * omx/gstomxvideoenc.c:
1793 omxvideoenc: display the computed buffer size when configuring input
1794 https://bugzilla.gnome.org/show_bug.cgi?id=793694
1796 2018-02-06 14:25:57 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1798 * omx/gstomxvideoenc.c:
1799 * omx/gstomxvideoenc.h:
1800 videoenc: implement ROI on zynqultrascaleplus
1801 Check input buffers for ROI meta and pass them to the encoder by using
1802 zynqultrascaleplus's custom OMX extension. Also add a new
1803 "default-roi-quality" in order to tell the encoder what quality level
1804 should be applied to ROI by default.
1805 https://bugzilla.gnome.org/show_bug.cgi?id=793696
1807 2018-02-14 17:23:39 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1809 * omx/gstomxvideoenc.c:
1810 omxvideoenc: remove GST_PARAM_MUTABLE_PLAYING from 'max-bitrate' property
1811 This property isn't actually mutable in the PLAYING state.
1812 https://bugzilla.gnome.org/show_bug.cgi?id=793458
1814 2018-02-14 17:20:02 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1816 * omx/gstomxvideoenc.c:
1817 * omx/gstomxvideoenc.h:
1818 omxvideoenc: protect target_bitrate with the object lock
1819 The 'target-bitrate' property can be changed while PLAYING
1820 (GST_PARAM_MUTABLE_PLAYING). Make it thread-safe to prevent concurrent
1821 accesses between the application and streaming thread.
1822 https://bugzilla.gnome.org/show_bug.cgi?id=793458
1824 2018-02-20 11:46:49 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1826 * omx/gstomxbufferpool.c:
1827 omxbufferpool: add PERFORMANCE DEBUG message when copying output frames
1828 I spent quiet some time figuring out why performance of my pipeline were
1829 terrible. Turned out it was because of output frames being copied
1830 because of stride/offset mismatch.
1831 Add a PERFORMANCE DEBUG message to make it easier to spot and debug from logs.
1832 https://bugzilla.gnome.org/show_bug.cgi?id=793637
1834 2018-02-15 19:44:37 +0000 Tim-Philipp Müller <tim@centricular.com>
1840 === release 1.13.1 ===
1842 2018-02-15 17:50:14 +0000 Tim-Philipp Müller <tim@centricular.com>
1851 2017-06-30 15:15:06 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1853 * omx/gstomxh265enc.c:
1854 omxh265enc: fix typo in "periodicty-idr" property name
1855 Also fix the 'nick' of the property.
1856 omxh265enc is based on the code from omxh264enc and suffers the same
1857 typo as we fixed in https://bugzilla.gnome.org/show_bug.cgi?id=784370
1858 This element isn't part of a stable release yet so it's not an API
1860 https://bugzilla.gnome.org/show_bug.cgi?id=793390
1862 2018-02-08 19:18:59 +0000 Tim-Philipp Müller <tim@centricular.com>
1865 meson: make version numbers ints and fix int/string comparison
1866 WARNING: Trying to compare values of different types (str, int).
1867 The result of this is undefined and will become a hard error
1868 in a future Meson release.
1869 Also remove unused libversion/soversion.
1871 2017-12-12 16:50:00 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1876 include all OMX extension headers if present
1877 The OMX specs defines 8 headers that implementations can use to define
1878 their custom extensions. We were checking and including 3 and ignoring
1880 https://bugzilla.gnome.org/show_bug.cgi?id=792043
1882 2018-01-30 10:31:03 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1886 * tools/meson.build:
1887 meson: simplify OMX extensions detection
1888 We are now always checking which files are present or not, even when using our
1889 internal copy of OMX, rather than hardcoding the ones present in it.
1890 https://bugzilla.gnome.org/show_bug.cgi?id=792043
1892 2018-01-30 11:54:24 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1896 * tools/meson.build:
1897 Revert "meson: use include_directories() with external OMX headers path"
1898 This reverts commit 9d37a92a615e54e8ee12f8c65bcfe386ec9de2d0.
1900 2017-11-27 14:52:10 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1902 * omx/gstomxh265enc.c:
1903 * omx/gstomxh265enc.h:
1904 omxh265enc: add some encoding properties
1905 constrained-intra-prediction and loop-filter-mode.
1906 Those map standard OMX settings.
1907 https://bugzilla.gnome.org/show_bug.cgi?id=792528
1909 2017-11-23 15:54:15 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1911 * omx/gstomxh264enc.c:
1912 * omx/gstomxh264enc.h:
1913 omxh264enc: add some encoding properties
1914 entropy-mode, constrained-intra-prediction and loop-filter-mode.
1915 Those map standard OMX settings.
1916 https://bugzilla.gnome.org/show_bug.cgi?id=792528
1918 2017-06-08 12:31:21 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1920 * omx/gstomxvideoenc.c:
1921 * omx/gstomxvideoenc.h:
1922 omxvideoenc: add zynqultrascaleplus specific properties
1923 https://bugzilla.gnome.org/show_bug.cgi?id=792528
1925 2017-10-31 12:24:39 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1927 * omx/gstomxvideoenc.c:
1928 omxvideoenc: document unit of target-bitrate property
1929 nTargetBitrate and nEncodeBitrate are defined in bits per second in the
1931 https://bugzilla.gnome.org/show_bug.cgi?id=792528
1933 2017-07-06 10:18:48 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1935 * omx/gstomxvideodec.c:
1936 * omx/gstomxvideodec.h:
1937 omxvideodec: add internal-entropy-buffers property on zynqultrascaleplus
1938 Custom property to control the number of internal buffers used in the
1939 decoder to smooth out entropy decoding performance.
1940 https://bugzilla.gnome.org/show_bug.cgi?id=792528
1942 2018-01-30 10:31:03 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1946 * tools/meson.build:
1947 meson: use include_directories() with external OMX headers path
1948 It seems cleaner to use the proper meson tools to include this path
1949 rather than manually tweak the build flags.
1950 This also allows us to simplify the OMX extensions detection code. We
1951 are now always checking which files are present, even when using our
1952 internal copy of OMX, rather than hardcoding the ones present in it.
1953 https://bugzilla.gnome.org/show_bug.cgi?id=792043
1955 2017-11-07 15:09:35 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1957 * omx/gstomxvideoenc.c:
1958 omxvideoenc: expose chroma format and bit depth in output caps
1959 As we added in the parser (bgo#792039) expose the chroma and bit
1960 depth information in output caps.
1961 https://bugzilla.gnome.org/show_bug.cgi?id=792040
1963 2017-11-07 14:30:45 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1965 * omx/gstomxvideoenc.c:
1966 omxvideoenc: factor out get_output_caps()
1967 No semantic change so far.
1968 https://bugzilla.gnome.org/show_bug.cgi?id=792040
1970 2017-12-29 11:59:36 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1972 * config/zynqultrascaleplus/gstomx.conf:
1975 * omx/gstomxvideodec.c:
1976 omxvideodec: add hack to pass color format from caps to OMX decoder
1977 This hack tries to pass as much information as possible from caps to the
1978 decoder before it receives any buffer. These information can be used by
1979 the OMX decoder to, for example, pre-allocate its internal buffers
1980 before starting to decode and so reduce its initial latency.
1981 This mechanism is currently supported by the zynqultrascaleplus decoder.
1982 https://bugzilla.gnome.org/show_bug.cgi?id=792040
1984 2017-12-01 12:43:19 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1987 log failing OMX calls as errors
1988 I find it confusing when debugging that OMX calls returning an error
1989 where not logged as GST_LEVEL_ERROR making them harder to spot.
1990 Fix this by introducing simple log macros checking the return value of
1991 the OMX call and logging failures as errors.
1992 https://bugzilla.gnome.org/show_bug.cgi?id=791069
1994 2017-10-30 11:59:19 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1997 add OMX_PERFORMANCE debug category
1998 Can be used to log buffers exchange between OMX and gst-omx to profile
1999 performances of the OMX component.
2000 Ideally this should be done using tracer hooks but it's currently not
2001 possible to define custom hooks outside of core.
2002 Use GST_DEBUG="OMX_PERFORMANCE:8" to enable it.
2004 https://github.com/gdesmott/gst-log-parser/blob/master/src/bin/omx-perf.rs
2005 as a simple program consuming those logs to generate gnuplot files and
2007 https://bugzilla.gnome.org/show_bug.cgi?id=791093
2009 2017-07-27 11:21:59 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2013 * omx/gstomxvideoenc.c:
2014 * omx/gstomxvideoenc.h:
2015 omxvideoenc: implement dmabuf import on zynqultrascaleplus
2016 The Zynq UltraScale+ encoder implements a custom OMX extension to
2017 directly import dmabuf saving the need of mapping input buffers.
2018 This can be use with either 'v4l2src io-mode=dmabuf' or an OMX video
2020 https://bugzilla.gnome.org/show_bug.cgi?id=792361
2022 2017-09-22 16:02:40 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2024 * omx/gstomxvideoenc.c:
2025 omxvideoenc: drop late input frames if QoS is enabled
2026 Make use of the new GstVideoEncoder QoS API to drop late input frames. This may
2027 help a live pipeline to catch up if it's being late and all frames end up
2028 being dropped at the sink.
2029 https://bugzilla.gnome.org/show_bug.cgi?id=792783
2031 2018-01-19 15:18:23 +0530 Ashish Kumar <kr.ashish@samsung.com>
2033 * examples/egl/testegl.c:
2034 TestEgl: Removed redundant/unused code
2035 https://bugzilla.gnome.org/show_bug.cgi?id=788550
2037 2018-01-03 16:07:18 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2039 * omx/gstomxvideoenc.c:
2040 omxvideoenc: early return in fill_buffer() if something goes wrong
2041 If something goes wrong while trying to manually copy the input buffer,
2042 the 'break' was moving us out of the 'for' loop but not out of the switch block.
2043 So we ended up calling gst_video_frame_unmap() a second time (raising
2044 assertions) and returning TRUE rather than FALSE.
2045 Reproduced with a WIP zynqultrascaleplus OMX branch reporting wrong
2046 buffer sizes and so triggering this bug.
2047 https://bugzilla.gnome.org/show_bug.cgi?id=792167
2049 2017-12-19 16:09:41 +0000 Tim-Philipp Müller <tim@centricular.com>
2052 meson: gl: the winsys and platform list in the .pc file is space-separated
2054 2017-12-19 16:08:58 +0000 Tim-Philipp Müller <tim@centricular.com>
2057 meson: fix subproject fallback for gstreamer-gl-1.0
2060 2017-12-12 17:30:27 +0000 Julien Isorce <jisorce@oblong.com>
2062 * omx/gstomxvideo.c:
2063 * omx/gstomxvideo.h:
2064 * omx/gstomxvideodec.c:
2065 omxvideodec: ignore very little variations of the framerate
2067 The dynamic format change should not happen when the
2068 resolution does not change and when only the framerate
2069 changes but very slightly, i.e. from 50000/1677=29.81
2070 to 89/3=29.66 so a "percentage change" of less than 1%
2071 (i.e. 100*(29.81-29.66)/29.66 = 0.50 < 1 ). In that case
2072 just ignore it to avoid unnecessary renegotiation.
2073 https://bugzilla.gnome.org/show_bug.cgi?id=759043
2075 2017-08-09 12:07:33 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2077 * omx/gstomxvideodec.c:
2078 * omx/gstomxvideodec.h:
2079 omxvideodec: use dynamic buffer mode on input if possible
2080 Prevent from copying the input buffers between GStreamer and OMX.
2081 Tested on zynqultrascaleplus and rpi (without dynamic buffers).
2082 https://bugzilla.gnome.org/show_bug.cgi?id=787093
2084 2017-07-20 16:35:31 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2086 * omx/gstomxvideoenc.c:
2087 * omx/gstomxvideoenc.h:
2088 omxvideoenc: use dynamic buffer mode on input if possible
2089 If the OMX component supports dynamic buffer mode and the input buffers
2090 are properly aligned avoid copying each input frame between OMX and
2092 Tested on zynqultrascaleplus and rpi (without dynamic buffers).
2093 https://bugzilla.gnome.org/show_bug.cgi?id=787093
2095 2017-07-20 12:56:37 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2097 * omx/gstomxvideodec.c:
2098 * omx/gstomxvideoenc.c:
2099 omxvideoenc/dec: factor out input buffer allocation
2100 No semantic change so far. I'm going to add an alternate way to allocate
2102 https://bugzilla.gnome.org/show_bug.cgi?id=787093
2104 2017-07-20 16:31:54 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2108 omx: add API to implement dynamic buffers support
2109 OMX 1.2.0 introduced a third way to manage buffers by allowing
2110 components to only allocate buffers header during their initialization
2111 and change their pBuffer pointer at runtime.
2112 This new feature can save us a copy between GStreamer and OMX for each
2114 This patch adds API to allocate and use such buffers.
2115 https://bugzilla.gnome.org/show_bug.cgi?id=787093
2117 2017-12-14 14:53:17 +1100 Matthew Waters <matthew@centricular.com>
2120 Automatic update of common submodule
2121 From e8c7a71 to 3fa2c9e
2123 2017-12-13 12:06:40 +0000 Julien Isorce <jisorce@oblong.com>
2125 * omx/gstomxvideodec.c:
2126 omxvideodec: consolidate the decision to try UseBuffer
2127 The tee element can call gst_query_add_allocation_pool with pool as NULL.
2128 Checking nth > 0 is not enough so we need to verify if there is a pool.
2129 https://bugzilla.gnome.org/show_bug.cgi?id=730758
2130 https://bugzilla.gnome.org/show_bug.cgi?id=784069
2132 2017-12-12 14:45:30 +0000 Julien Isorce <jisorce@oblong.com>
2134 * omx/gstomxvideo.c:
2135 * omx/gstomxvideo.h:
2136 * omx/gstomxvideodec.c:
2137 * omx/gstomxvideoenc.c:
2138 gstomxvideodec: fix framerate overflow
2139 Some live streams can set the framerate to 50000/1677 (=29.81).
2140 GstVideoInfo.fps_n << 16 is wrong if the fps_n is 50000
2141 (i.e. greater than 32767).
2142 https://bugzilla.gnome.org/show_bug.cgi?id=759043
2144 2017-08-22 13:48:26 +0100 Julien Isorce <jisorce@oblong.com>
2147 * examples/egl/Makefile.am:
2148 * examples/egl/meson.build:
2149 * examples/egl/testegl.c:
2151 example: port testegl.c to desktop
2152 Will be easier to maintain.
2153 Also uniformize autotool build with meson build which is
2154 already retrieving the gl libs.
2155 https://bugzilla.gnome.org/show_bug.cgi?id=781606
2157 2017-12-11 15:55:44 +0000 Julien Isorce <jisorce@oblong.com>
2160 meson: move omx features check after target selection
2161 And uses gst_omx_args instead of add_global_arguments.
2162 Similar to c69232852120d064c689caef07b3c68ad8fe6288
2163 which was only for configure.ac
2164 Useful to get omxvp8dec with meson too:
2165 meson . buildtmp -D with_omx_target=tizonia
2166 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2168 2017-12-04 17:11:04 +0000 Julien Isorce <jisorce@oblong.com>
2170 * config/tizonia/gstomx.conf.in:
2171 config: add OMX.Aratelia.audio_decoder.aac to Tizonia config
2172 Useful mostly for testing/debugging purpose as this is a software
2173 based decoder (libfaad) for which GStreamer provides a direct
2175 https://bugzilla.gnome.org/show_bug.cgi?id=791482
2177 2017-11-29 14:18:41 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2179 * omx/gstomxvideodec.c:
2180 omxvideodec: retrieve OMX_IndexParamVideoPortFormat before setting it
2181 The usual pattern when setting OMX params is to first get the struct
2182 param, override the values we want to set and then set the updated
2184 We were not doing this with OMX_IndexParamVideoPortFormat and so were
2185 resetting some fields such as OMX_VIDEO_PARAM_PORTFORMATTYPE.xFramerate
2186 https://bugzilla.gnome.org/show_bug.cgi?id=790979
2188 2017-05-21 17:34:51 +0100 Julien Isorce <jisorce@oblong.com>
2190 * omx/gstomxaacenc.c:
2191 omxaacenc: also set 'profile' if mpegversion is 4
2192 Like done by gst_codec_utils_aac_caps_set_level_and_profile
2193 which is called by avenc_aac, ffaac and voaacenc.
2194 https://bugzilla.gnome.org/show_bug.cgi?id=735208
2196 2017-10-24 12:19:50 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2199 omx: wait for flush complete and buffers being released when flushing
2200 As stated in the existing comment, when flusing we should wait for OMX
2201 to send the flush command complete event AND all ports being released.
2202 We were stopping as soon as one of those condition was met.
2203 Fix a race between FillThisBufferDone/EmptyBufferDone and the flush
2204 EventCmdComplete messages. The OMX implementation is supposed to release
2205 its buffers before posting the EventCmdComplete event but the ordering
2206 isn't guaranteed as the FillThisBufferDone/EmptyBufferDone and
2207 EventHandler callbacks can be called from different threads (cf 2.7
2208 'Thread Safety' in the spec).
2209 https://bugzilla.gnome.org/show_bug.cgi?id=789475
2211 2017-10-24 11:45:20 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2214 gst_omx_port_set_flushing: simplify waiting loop
2215 No semantic change so far, I just made the 'while' end condition easier
2216 to understand as a first step before changing it.
2217 - move error/time out checks inside the loop to make it clearer on what
2218 we are actually waiting for.
2219 - group port->buffers checks together with parenthesis as they are part
2220 of the same conceptual check: waiting for all buffers to be released.
2221 https://bugzilla.gnome.org/show_bug.cgi?id=789475
2223 2017-11-27 20:17:17 +1100 Matthew Waters <matthew@centricular.com>
2226 Automatic update of common submodule
2227 From 3f4aa96 to e8c7a71
2229 2017-11-23 15:03:48 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2231 * omx/gstomxh264enc.c:
2232 * omx/gstomxh264utils.c:
2233 zynqultrascaleplus: add support for extra AVC levels
2234 The Zynqultrascaleplus has support for extra AVC levels not defined in
2235 the OMX spec as a customer extension.
2236 https://bugzilla.gnome.org/show_bug.cgi?id=790758
2238 2017-10-16 14:47:07 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2242 * config/meson.build:
2245 * tests/Makefile.am:
2246 * tests/check/.gitignore:
2247 * tests/check/Makefile.am:
2248 * tests/check/generic/.gitignore:
2249 * tests/check/generic/states.c:
2250 * tests/check/meson.build:
2251 * tests/meson.build:
2253 Most of the boilerplate and the states test has been copied from
2255 https://bugzilla.gnome.org/show_bug.cgi?id=789094
2257 2017-10-17 13:07:05 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2260 * tools/meson.build:
2261 meson: add tools support
2262 Looks like the tools directory was left out during the initial port to
2264 https://bugzilla.gnome.org/show_bug.cgi?id=789090
2266 2017-10-16 14:24:50 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2269 omx: fix build on rpi
2270 The nTimeStamp field is a OMX_TICKS struct on the rpi so use the proper
2272 Fix build on the build which has been broken by
2273 b3173144b7c1b12c9e1b7571f78659be45d813f6
2274 https://bugzilla.gnome.org/show_bug.cgi?id=789052
2276 2017-10-17 12:11:04 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2280 check if Allegro headers are present when building zynqultrascaleplus
2281 The Zynq UltraScale+ uses a custom version of OMX implementing several
2282 3rd party extensions. Make sure those are present when building this
2284 https://bugzilla.gnome.org/show_bug.cgi?id=788064
2286 2017-10-16 12:42:44 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2288 * omx/gstomxvideodec.c:
2289 omxvideodec: remove redundant debug message
2290 We have already a debug message right after.
2291 https://bugzilla.gnome.org/show_bug.cgi?id=789058
2293 2017-10-16 13:26:38 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2295 * omx/gstomxh265enc.c:
2296 * omx/gstomxh265utils.c:
2297 omxh265: fix enum casting when using Allegro HEVC extensions
2298 Allegro's HEVC implementation defines a superset of the profiles and
2299 enums from the Android implementation.
2300 Properly cast to fix -Wenum-conversion warnings from clang.
2301 https://bugzilla.gnome.org/show_bug.cgi?id=789057
2303 2017-10-16 13:08:12 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2305 * omx/gstomxh265enc.c:
2306 * omx/gstomxvp8dec.c:
2307 properly cast extension enums
2308 OMX's allow 3rds party to define extensions using their own enums
2309 (like OMX_VIDEO_CODINGEXTTYPE) and to be used as the general
2310 ones (like OMX_VIDEO_CODINGTYPE).
2311 Properly cast those to fix -Wenum-conversion warnings from some
2312 compilers such as clang.
2313 https://bugzilla.gnome.org/show_bug.cgi?id=789057
2315 2017-10-09 13:12:35 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2318 omx: also reset nTimeStamp when re-using buffers
2319 Some OMX implementations may check if the timestamp of the output buffers
2320 they receive is actually not set.
2321 https://bugzilla.gnome.org/show_bug.cgi?id=788711
2323 2017-10-04 17:11:55 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2326 omx: factor out gst_omx_buffer_reset()
2327 https://bugzilla.gnome.org/show_bug.cgi?id=788711
2329 2017-10-09 17:27:22 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2333 * omx/gstomxvideodec.c:
2334 * omx/gstomxvideoenc.c:
2335 add gst_omx_buffer_flags_to_string()
2336 Make debug logs more readable so users don't have to manually figure out
2337 the meaning of flags.
2338 https://bugzilla.gnome.org/show_bug.cgi?id=788767
2340 2017-09-27 19:47:29 +0530 Ponnam Srinivas <p.srinivas@samsung.com>
2342 * omx/gstomxh263enc.c:
2343 h263enc: fix caps leak in error code path
2344 https://bugzilla.gnome.org/show_bug.cgi?id=788245
2346 2017-09-21 15:21:36 +0530 Ponnam Srinivas <p.srinivas@samsung.com>
2348 * omx/gstomxh264enc.c:
2349 omxh264enc: fix caps leak
2350 https://bugzilla.gnome.org/show_bug.cgi?id=787711
2352 2017-09-21 11:36:46 +0530 Ponnam Srinivas <p.srinivas@samsung.com>
2354 * omx/gstomxh265enc.c:
2355 omxh265enc: fix caps leak
2356 https://bugzilla.gnome.org/show_bug.cgi?id=787714
2358 2017-09-13 15:32:51 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2360 * omx/gstomxvideodec.c:
2361 omxvideodec: log info about frame before releasing it
2362 gst_video_decoder_release_frame() takes ownership of the frame and will
2363 destroy it. So we should no longer use it after calling it.
2364 https://bugzilla.gnome.org/show_bug.cgi?id=787628
2366 2017-08-20 20:19:33 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2369 configure: Show tizonia target in help
2370 https://bugzilla.gnome.org/show_bug.cgi?id=786544
2372 2017-07-12 14:35:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2374 * config/zynqultrascaleplus/gstomx.conf:
2377 * omx/gstomxh265dec.c:
2378 * omx/gstomxh265dec.h:
2380 omxh265dec: add H265 decoder
2381 Add HEVC decoder for the zynqultrascaleplus platform.
2382 I used the H264 decoder code as a template.
2383 https://bugzilla.gnome.org/show_bug.cgi?id=785434
2385 2017-07-12 11:01:15 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2387 * config/zynqultrascaleplus/gstomx.conf:
2392 * omx/gstomxh265enc.c:
2393 * omx/gstomxh265enc.h:
2394 * omx/gstomxh265utils.c:
2395 * omx/gstomxh265utils.h:
2397 omxh265enc: add H265 encoder
2398 The OMX spec doesn't support HEVC but the OMX stack of the
2399 zynqultrascaleplus adds it as a custom extension.
2400 It uses the same API as the one of Android's OMX stack.
2401 I used the H264 encoder code as a template.
2402 https://bugzilla.gnome.org/show_bug.cgi?id=785434
2404 2017-08-28 13:56:22 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2406 * omx/gstomxvideoenc.c:
2407 omxvideoenc: use caps from query in propose_allocation
2408 Prevent crash by not deferencing a NULL pointer if self->input_state
2409 isn't defined when propose_allocation() is called.
2410 https://bugzilla.gnome.org/show_bug.cgi?id=786442
2412 2017-09-04 09:34:03 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2415 omx: display states as string if changing failed
2416 Improve the error message by displaying the states in their string
2417 representation rather than their numerical value.
2418 https://bugzilla.gnome.org/show_bug.cgi?id=787235
2420 2017-08-22 10:22:45 +0100 Julien Isorce <jisorce@oblong.com>
2422 * omx/gstomxvideodec.c:
2423 omxvideodec: EGLDisplay is not indirectly defined by gstgl headers inclusion
2424 Just use gpointer as done in GstGL to not include
2425 EGL/egl.h just for EGLDisplay.
2426 https://bugzilla.gnome.org/show_bug.cgi?id=784779
2428 2017-07-14 16:34:04 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2430 * config/tizonia/gstomx.conf.in:
2431 config: expose OMX.mesa h264 decoder and encoder in Tizonia config
2432 https://bugzilla.gnome.org/show_bug.cgi?id=783976
2434 2017-08-11 07:48:37 -0700 Julien Isorce <jisorce@oblong.com>
2436 * omx/gstomxvideodec.c:
2437 omxvideodec: remove wrong SettingsChanged ack
2438 Partially revert 1b7d0b8:
2439 omxvideodec: handle IL 1.2 behavior for OMX_SetParameter
2440 It turned out it was a problem in the decoder which was
2441 not updating some local variables upon SetParameter.
2442 https://bugzilla.gnome.org/show_bug.cgi?id=783976
2444 2017-07-20 09:43:19 +0100 Julien Isorce <jisorce@oblong.com>
2446 * omx/gstomxaudiodec.c:
2447 * omx/gstomxaudioenc.c:
2448 * omx/gstomxvideodec.c:
2449 * omx/gstomxvideoenc.c:
2450 omx{audio,video}{dec,enc}: sequentially disable ports because buffers are not shared
2451 For the history, the parallel disable port has been introduced by:
2452 "00be69f omxvideodec: Disable output port when setting a new format"
2453 and then replicated to videoenc, audiodec and audioenc.
2454 This is only required to do 'parallel' if buffers are shared between ports.
2455 But for decoders and encoders the input and output buffer are of different
2456 nature by definition (bitstream vs images). So they cannot be shared.
2457 Also starting from IL 1.2.0 it is written in the spec that the parallel
2458 disable is not allowed and will return an error. Except when buffers are
2460 Again here we know in advance that they are not shared so let's always
2461 do a sequential disable.
2462 Tested on Desktop, rpi and zynqultrascaleplus.
2463 https://bugzilla.gnome.org/show_bug.cgi?id=786348
2465 2017-08-17 12:26:05 +0100 Tim-Philipp Müller <tim@centricular.com>
2468 Automatic update of common submodule
2469 From 48a5d85 to 3f4aa96
2471 2017-08-10 12:16:53 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2473 * omx/gstomxvideodec.c:
2474 omxvideodec: use the decoder API to set latency
2475 https://bugzilla.gnome.org/show_bug.cgi?id=785125
2477 2017-07-06 14:19:19 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2479 * omx/gstomxvideodec.c:
2480 * omx/gstomxvideoenc.c:
2481 omxvideoenc/dec: declare latency on zynqultrascaleplus
2482 The OMX specification doesn't provide any API to expose the latency
2483 introduced by encoders and decoders. We implemented this as a custom
2484 extension as declaring the latency is needed for live pipelines like
2486 https://bugzilla.gnome.org/show_bug.cgi?id=785125
2488 2017-08-07 13:16:01 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2490 * omx/gstomxvideoenc.c:
2491 omxvideoenc: adjust stride and slice height from input
2492 Use the stride and slice height information from the first buffer meta
2493 data to adjust the settings of the input port.
2494 This will ensure that the OMX input buffers match the GStreamer ones
2495 and so will save us from having to copy line-by-line each one.
2496 This is also the first step to allow the OMX encoder to receive dmabuf.
2497 Tested on rpi and zynqultrascaleplus.
2498 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2500 2017-08-07 11:45:29 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2502 * omx/gstomxvideoenc.c:
2503 omxvideoenc: delay buffer configuration until component is enabled
2504 No significant change for now. Just delay the input port configuration
2505 of the buffer size related fields (stride, slice height, buffer size)
2506 until the component is activated.
2507 This will allow us to use the actual stride/height of the first input
2508 and so avoid the buffer copying code path in most cases.
2509 Tested on rpi and zynqultrascaleplus.
2510 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2512 2017-07-24 13:52:35 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2514 * omx/gstomxvideodec.c:
2515 * omx/gstomxvideoenc.c:
2516 omxvideodec/enc: delay allocation after the allocation query
2517 Allocating OMX components buffers in set_format() is too early.
2518 Doing it when receiving the first buffers will allow the element to use
2519 the information from the allocation query and/or the first incoming
2520 buffer to pick to best allocation mode.
2521 Tested on raspberry pi with dynamic resolution changes on decoder and
2523 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2525 2017-07-25 14:27:45 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2527 * omx/gstomxvideoenc.c:
2528 omxvideoenc: start src thread in handle_frame()
2529 Makes the code simpler as we no longer need to restart the thread in
2530 gst_omx_video_enc_flush() and It's more symetric which the omxvideodec
2532 I'm also going to move the enabling of the OMX component in
2533 handle_frame() and the src pad thread needs to be started after it.
2534 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2536 2017-07-25 14:07:30 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2538 * omx/gstomxvideodec.c:
2539 omxvideodec: earlier return if downstream_flow_ret is not OK
2540 There is no point to (re)start the src thread if, for example, we are
2542 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2544 2017-07-24 12:31:37 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2546 * omx/gstomxvideodec.c:
2547 * omx/gstomxvideodec.h:
2548 omxvideodec: factor out enable and disable code
2549 No semantic change, just factor out the code enabling and disabling the
2550 component to their own functions.
2551 Makes the code easier to read as the set_format() method was already
2552 pretty big. Will also allow us to easily change the enabling logic.
2553 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2555 2017-07-24 12:31:37 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2557 * omx/gstomxvideoenc.c:
2558 * omx/gstomxvideoenc.h:
2559 omxvideoenc: factor out enable and disable code
2560 No semantic change, just factor out the code enabling and disabling the
2561 component to their own functions.
2562 Makes the code easier to read as the set_format() method was already
2563 pretty big. Will also allow us to easily change the enabling logic.
2564 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2566 2017-07-27 12:12:01 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2569 omx: also reset nFilledLen before calling OMX_FillThisBuffer()
2570 The spec states that the buffer passed to OMX_FillThisBuffer() needs to be
2571 empty. Some implementation may check it actually is by checking its
2572 nFilledLen field, so best to reset it as well.
2573 https://bugzilla.gnome.org/show_bug.cgi?id=785623
2575 2017-07-17 21:06:47 +0100 Julien Isorce <jisorce@oblong.com>
2577 * omx/gstomxvideodec.c:
2578 * omx/gstomxvideodec.h:
2579 omxvideodec: make generic the OMX_UseEGLImage code path
2580 Will be easier to maintain and to make enhancements.
2581 Tested with Tizonia on Desktop.
2582 Also tested with Bellagio to make sure it does not crash when
2583 calling OMX_UseEGLImage and indeed it returns NotImplemented.
2584 Then gst-omx fallback to OMX_UseBuffer if it can and so on.
2585 Also tested on rpi to make sure there is no regression.
2586 https://bugzilla.gnome.org/show_bug.cgi?id=784365
2588 2017-07-21 11:52:00 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
2590 * omx/gstomxvideodec.c:
2591 omxvideodec: Fix segment seek
2592 On segment seek, unlike EOS, we drain, but we cannot expect a flush
2593 later to reset the decoder state. As a side effect, the decoder would
2594 remain in EOS state and ignore any new incoming buffers.
2595 To fix this, we call _flush() inside the _drain() function, and
2596 _finish() becomes what _drain() was before. This way, for _finish() (the
2597 eos case) we only drain, for _drain() triggered by segment seek or new
2598 caps, we also reset the decoder state so it's ready to accept buffers.
2599 https://bugzilla.gnome.org/show_bug.cgi?id=785237
2601 2017-07-10 15:00:58 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2603 * omx/gstomxvideoenc.c:
2604 omxvideoenc: ensure enough buffers are allocated in the pool
2605 Handle allocation query and ensure enough buffers are allocated in
2606 the negotiated pool. This help preventing buffer starvation in the pipeline.
2607 https://bugzilla.gnome.org/show_bug.cgi?id=785122
2609 2017-07-04 12:16:39 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2614 * omx/gstomxbufferpool.c:
2615 * omx/gstomxbufferpool.h:
2616 * omx/gstomxvideodec.c:
2617 * omx/gstomxvideodec.h:
2619 omxvideodec: add dmabuf support for output
2620 The zynqultrascaleplus OMX implementation has a custom extension
2621 allowing decoders to output dmabuf and so avoid buffers copy between OMX
2623 Make use of this extension when built on the zynqultrascaleplus. The
2624 buffer pool code should be re-usable for other platforms as well.
2625 https://bugzilla.gnome.org/show_bug.cgi?id=784847
2627 2017-06-20 00:13:33 +0100 Julien Isorce <jisorce@oblong.com>
2629 * config/tizonia/gstomx.conf.in:
2630 config: add OMX.Aratelia.video_decoder.vp8 to Tizonia config
2631 Useful mostly for testing/debugging purpose as this is a software
2632 based encoder (libvpxdec) for which GStreamer provides a direct
2634 https://bugzilla.gnome.org/show_bug.cgi?id=783976
2636 2017-06-19 23:56:02 +0100 Julien Isorce <jisorce@oblong.com>
2638 * omx/gstomxvideodec.c:
2639 omxvideodec: handle IL 1.2 behavior for OMX_SetParameter
2640 It triggers SettingsChanged on the other port and it is up to
2641 the client to decide if it should lead to a port reconfiguration.
2642 Settings are propagated to the other port for fields they have
2643 in common. But this event is only triggered on the other port
2644 if it actually change a setting.
2645 https://bugzilla.gnome.org/show_bug.cgi?id=783976
2647 2017-07-18 23:41:17 +0100 Julien Isorce <jisorce@oblong.com>
2649 * config/tizonia/gstomx.conf.in:
2650 config: set rank to 0 for Tizonia's mp3 decoder
2651 Should have been 0 from the initial commit
2652 eed49b4231a063639f90279c8044404c2149902a
2654 2017-07-17 21:03:55 +0100 Julien Isorce <jisorce@oblong.com>
2656 * omx/gstomxvideodec.c:
2657 omxvideodec: fix file permissions
2658 Introduced by ebc9b4903cbdac2793c24b05a1bb7acc3b67fae5
2660 2017-06-29 23:17:26 +0100 Julien Isorce <jisorce@oblong.com>
2662 * omx/gstomxvideodec.c:
2663 omxvideodec: fix buffer leak when eglimage setup fails
2664 Can happen if gst_buffer_pool_acquire_buffer succeeds but
2665 gst_buffer_n_memory (buffer) is not exactly 1.
2666 In theory this should not happen because the decoder requests
2667 EGLImage(RGBA) but better to fix any leak on corner cases.
2668 https://bugzilla.gnome.org/show_bug.cgi?id=784365
2670 2017-07-17 18:36:36 +0530 Satya Prakash Gupta <sp.gupta@samsung.com>
2673 omx: Possible Memory leak in gst_caps_from_string
2674 https://bugzilla.gnome.org/show_bug.cgi?id=784978
2676 2017-07-17 15:48:44 +0530 Satya Prakash Gupta <sp.gupta@samsung.com>
2678 * omx/gstomxvideoenc.c:
2679 omxvideoenc: Fix deadlock in error case when draining
2680 https://bugzilla.gnome.org/show_bug.cgi?id=784972
2682 2017-07-17 13:44:54 +0530 Satya Prakash Gupta <sp.gupta@samsung.com>
2684 * omx/gstomxaudioenc.c:
2685 omxaudioenc: Fix deadlock in error case when draining
2686 https://bugzilla.gnome.org/show_bug.cgi?id=784967
2688 2017-06-02 12:36:30 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2693 build: include OMX_IndexExt and OMX_ComponentExt if present
2694 These files may be used by OMX implementation to define custom extensions.
2695 Include them if present as we are already doing with OMX_VideoExt.h
2696 https://bugzilla.gnome.org/show_bug.cgi?id=784847
2698 2017-07-13 16:40:26 +1000 Jan Schmidt <jan@centricular.com>
2700 * omx/gstomxh264enc.c:
2701 omxh264enc: Re-add periodicty-idr property for backward compat
2702 Retain backwards compatibility by adding a duplicate
2703 property for periodicty-idr
2704 https://bugzilla.gnome.org/show_bug.cgi?id=784370
2706 2017-06-30 15:15:06 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2708 * omx/gstomxh264enc.c:
2709 omxh264enc: fix typo in "periodicty-idr" property name
2710 Also fix the 'nick' of the property.
2711 https://bugzilla.gnome.org/show_bug.cgi?id=784370
2713 2017-06-29 22:48:47 +0100 Julien Isorce <jisorce@oblong.com>
2715 * omx/gstomxvideodec.c:
2716 * omx/gstomxvideodec.h:
2717 omxvideodec: use OMX_UseBuffer
2718 For example this allows the omx decoder to directly fill the
2719 pixmaps coming from the video sink.
2720 It only avoids a buffer copy when the decoder uses a pool provided
2721 by a downstream element. So let's restrict this usage to situations
2722 where the decoder decides to use a downstream buffer pool.
2723 Tested with Tizonia/OMX.Aratelia.video_decoder.vp8
2724 and with Bellagio/OMX.mesa.video_decoder.avc.
2725 If it fails to setup buffers with OMX_UseBuffer the decoders
2726 fallbacks to usual OMX_AllocateBuffer.
2727 Also it allows to test on desktop the GstOMXBufferPool->other_pool
2728 management which was previously only used in the OMX_UseEGLImage
2730 https://bugzilla.gnome.org/show_bug.cgi?id=784069
2732 2017-07-12 10:29:16 +0100 Julien Isorce <jisorce@oblong.com>
2735 omx: do not always print an error if OMX_{UseBuffer,EGLImage} fails
2736 Let the caller decide to print an error. Because it can be part of
2737 a normal trial path.
2738 https://bugzilla.gnome.org/show_bug.cgi?id=784069
2740 2017-07-12 16:00:53 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2743 meson: add gstomxmp3enc
2744 Commit 02d493e85921596f7cac7ef4af02fde500e9a5d8 didn't add
2745 gstomxmp3enc.c to meson.
2746 https://bugzilla.gnome.org/show_bug.cgi?id=784848
2748 2017-05-23 10:32:58 +0100 Julien Isorce <jisorce@oblong.com>
2750 * config/tizonia/gstomx.conf.in:
2751 config: add OMX.Aratelia.audio_encoder.mp3 to Tizonia config
2752 Useful mostly for testing/debugging purpose as this is a software
2753 based encoder (libmp3lame) for which GStreamer provides a direct
2755 https://bugzilla.gnome.org/show_bug.cgi?id=782988
2757 2017-05-23 10:32:06 +0100 Julien Isorce <jisorce@oblong.com>
2761 * omx/gstomxmp3enc.c:
2762 * omx/gstomxmp3enc.h:
2763 omx: add gstomxmp3enc
2764 Initial support and only tested with the software based
2765 encoder OMX.Aratelia.audio_encoder.mp3 from Tizonia which
2766 internally uses libmp3lame.
2767 https://bugzilla.gnome.org/show_bug.cgi?id=782988
2769 2017-03-28 16:27:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2771 * config/zynqultrascaleplus/gstomx.conf:
2774 * omx/gstomxh264dec.c:
2775 h264dec: add hack to pass profile and level to OMX
2776 This information can be useful to zynqultrascaleplus decoders. They may
2777 use this information to reduce startup latency by configuring itself
2778 before receiving the first frames.
2779 We also have a custom OMX extension allowing the decoder to report the
2780 latency. The profile/level information helps it reporting a more
2781 accurate latency earlier.
2782 https://bugzilla.gnome.org/show_bug.cgi?id=783114
2784 2017-07-03 13:17:11 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2787 * omx/gstomxh264enc.c:
2788 * omx/gstomxh264utils.c:
2789 * omx/gstomxh264utils.h:
2791 omxh264enc: move profile and level parsing functions to their own files
2792 Will allow to re-use them in the decoder element.
2793 https://bugzilla.gnome.org/show_bug.cgi?id=783114
2795 2017-07-04 03:15:00 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2797 * config/meson.build:
2798 * config/tizonia/meson.build:
2800 * meson_options.txt:
2801 meson: Add tizonia option
2802 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2804 2017-04-29 02:56:59 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2807 * config/tizonia/Makefile.am:
2808 * config/tizonia/gstomx.conf.in:
2809 * config/tizonia/meson.build:
2811 config: add omxmp3dec config for tizonia
2812 GST_OMX_CONFIG_DIR=$HOME/gst/master/gst-omx/config/tizonia/ \
2813 gst-launch-1.0 filesrc location=mpthreetest.mp3 ! id3demux ! \
2814 mpegaudioparse ! omxmp3dec ! audioconvert ! pulsesink
2815 v2: [Nicolas] Use template to create gstomx.conf using pkg-config
2816 v3: [Nicolas] Ignore only config/tizonia/gstomx.conf
2817 v4: [Nicolas] Add "/" for single occurence
2818 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2820 2017-05-07 20:09:54 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2823 omx: always ignore OMX_ErrorPortUnpopulated
2824 It is safe to ignore it always. Tizonia notifies this error to pass
2825 some khronos conformance tests. Problem is that gst-omx saves this
2826 error in comp->last_error and then gst_omx_port_set_enabled early
2827 error out which fails the pipeline.
2828 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2830 2017-04-29 02:53:26 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2834 omx: guard some omx enums with IL version
2835 Some enums that existed in 1.1.2 just do not exit in 1.2.0
2836 See https://www.khronos.org/registry/OpenMAX-IL/specs/OpenMAX_IL_1_2_0_Specification_redline.pdf
2837 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2839 2017-04-29 01:56:01 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2842 configure.ac: add tizonia target for --with-omx-target flag.
2843 This will check for tizilheaders.pc which adds path to omx-il
2844 headers its cflags. Can be installed all together with the 1.2 headers
2845 with package tizilheaders if not building from sources:
2846 https://github.com/tizonia/tizonia-openmax-il
2847 It is also adviced to remove libomxil-bellagio-dev package because
2848 it installs headers /usr/include directly, ex: /usr/include/OMX_Video.h.
2849 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2851 2017-07-05 10:47:41 +0100 Julien Isorce <jisorce@oblong.com>
2853 * omx/gstomxaudioenc.c:
2854 omxaudioenc: update local port_def after reopening the component
2855 gst_omx_audio_enc_open will only update GstOMXAudioEnc->port->port_def.
2856 Note that the component is reopen only if the flag
2857 GST_OMX_HACK_NO_COMPONENT_RECONFIGURE is set.
2858 https://bugzilla.gnome.org/show_bug.cgi?id=782418
2860 2017-07-05 10:48:52 +0100 Julien Isorce <jisorce@oblong.com>
2862 * omx/gstomxvideoenc.c:
2863 omxvideoenc: update local port_def after reopening the component
2864 gst_omx_video_enc_open will only update GstOMXVideoEnc->port->port_def.
2865 Note that the component is reopen only if the flag
2866 GST_OMX_HACK_NO_COMPONENT_RECONFIGURE is set.
2867 https://bugzilla.gnome.org/show_bug.cgi?id=782418
2869 2017-05-10 12:38:39 +0900 Sejun Park <sejun79.park@samsung.com>
2871 * omx/gstomxvideodec.c:
2872 omxvideodec: update local port_def after reopening the component
2873 gst_omx_video_dec_open will only update GstOMXVideoDec->port->port_def.
2874 Note that the component is reopen only if the flag
2875 GST_OMX_HACK_NO_COMPONENT_RECONFIGURE is set.
2876 https://bugzilla.gnome.org/show_bug.cgi?id=782418
2878 2017-07-03 16:33:06 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2880 * omx/gstomxvideodec.c:
2881 omxvideodec: increase the minimum number of allocated buffers
2882 Ensure that enough buffers are allocated by adding up component's own
2883 minimal plus the number of buffers requested by downstream.
2884 This should prevent buffers starvation problem if downstream elements
2885 are holding some of the buffers they required.
2886 Also simplify the check on the maximum on buffers. What we actually care
2887 about is to make sure the pool can hold the minimum of required buffers.
2888 https://bugzilla.gnome.org/show_bug.cgi?id=784479
2890 2017-07-03 10:54:50 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2892 * omx/gstomxh264enc.c:
2893 omxh264enc: raise a warning if AVCIntraPeriod is not supported
2894 Some platforms may not implement OMX_IndexConfigVideoAVCIntraPeriod and
2895 use OMX_IndexParamVideoAvc instead to configure the GOP pattern.
2896 So raise a warning instead of an error if this API is not implemented.
2897 https://bugzilla.gnome.org/show_bug.cgi?id=784379
2899 2017-06-29 14:16:19 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2901 * omx/gstomxh264enc.c:
2902 * omx/gstomxh264enc.h:
2903 omxh264enc: add 'b-frames' property
2904 Add a property to control the number of B-frames produced by the
2905 encoder using the OMX_VIDEO_PARAM_AVCTYPE OMX API.
2906 https://bugzilla.gnome.org/show_bug.cgi?id=784379
2908 2017-06-30 14:18:35 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2910 * omx/gstomxh264enc.c:
2911 omxh264enc: fix typo in 'set_avc_intra_period'
2912 https://bugzilla.gnome.org/show_bug.cgi?id=784379
2914 2017-05-22 11:23:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2916 * config/Makefile.am:
2917 * config/meson.build:
2918 * config/zynqultrascaleplus/Makefile.am:
2919 * config/zynqultrascaleplus/gstomx.conf:
2920 * config/zynqultrascaleplus/meson.build:
2923 * meson_options.txt:
2924 add 'zynqultrascaleplus' as OMX target
2925 Adding support for the 'Zynq UltraScale+' as a new OMX target.
2926 See https://www.xilinx.com/products/silicon-devices/soc/zynq-ultrascale-mpsoc.html
2927 for details about the platform.
2928 https://bugzilla.gnome.org/show_bug.cgi?id=783097
2930 2017-05-21 15:23:09 +0100 Julien Isorce <jisorce@oblong.com>
2932 * config/bellagio/gstomx.conf:
2933 config: add OMX.mesa.video_decoder.{avc,mpeg2} for Bellagio config
2934 Install libomxil-bellagio0 and make sure mesa has been built with
2935 --enable-omx. Check there is /usr/lib/libomxil-bellagio0/libomx_mesa.so
2936 then run omxregister-bellagio to regenerate $XDG_DATA_HOME/.omxregister
2937 Then omxh264dec and omxmpeg2dec should load.
2938 https://bugzilla.gnome.org/show_bug.cgi?id=782926
2940 2017-05-18 13:50:56 +0100 Julien Isorce <jisorce@oblong.com>
2943 configure.ac: move omx features check after target selection
2944 Does not change anything, except this will be useful for future commits.
2945 Indeed some targets provide a .pc file where to look for the omx headers.
2946 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2948 2017-06-29 16:48:07 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2950 * omx/gstomxh264dec.c:
2951 omxh264dec: remove 'parsed=true' from sink pad
2952 The decoder only requires to receive one frame per buffer which is
2953 already enforced with 'alignment=au'. There is no need to require to
2954 have a parser upstream.
2955 Allow to run "encode ! decode" pipeline without having a parser.
2956 https://bugzilla.gnome.org/show_bug.cgi?id=784344
2958 2017-06-16 13:28:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2960 * omx/gstomxh264enc.c:
2961 omxh264enc: set profile/level using OMX_VIDEO_PARAM_AVCTYPE as well
2962 The OMX specification defines two API to set the AVC profile and level:
2963 using OMX_VIDEO_PARAM_PROFILELEVELTYPE and OMX_VIDEO_PARAM_AVCTYPE.
2964 We were already supporting the former but not the latter. We are now
2965 setting both so implementation don't have to rely on a specific one.
2966 https://bugzilla.gnome.org/show_bug.cgi?id=783862
2968 2017-06-16 13:19:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2970 * omx/gstomxh264enc.c:
2971 omxh264enc: factor out update_param_profile_level()
2972 https://bugzilla.gnome.org/show_bug.cgi?id=783862
2974 2017-06-16 12:53:15 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2976 * omx/gstomxh264enc.c:
2977 omxh264enc: factor out string to profile/level enum conversion
2978 https://bugzilla.gnome.org/show_bug.cgi?id=783862
2980 2017-06-28 15:06:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2982 * omx/gstomxh264enc.c:
2983 omxh264enc: use OMX_IndexConfigBrcmVideoIntraPeriod on pi
2984 The OMX_VIDEO_CONFIG_AVCINTRAPERIOD.nPFrames setting isn't of any use on
2985 the raspbery pi. Instead it uses a custom extension to define the I
2987 https://bugzilla.gnome.org/show_bug.cgi?id=783829
2989 2017-06-28 15:03:52 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2991 * omx/gstomxh264enc.c:
2992 omxh264enc: factor out set_avc_intra_perdiod()
2993 https://bugzilla.gnome.org/show_bug.cgi?id=783829
2995 2017-06-02 12:48:57 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2998 meson: define HAVE_VIDEO_EXT if OMX_VideoExt.h is present
2999 Meson build wasn't defining the HAVE_VIDEO_EXT like configure.ac does.
3000 https://bugzilla.gnome.org/show_bug.cgi?id=783346
3002 2017-06-11 12:32:01 +0000 Graham Leggett <minfrin@sharp.fm>
3004 * omx/gstomxvideoenc.c:
3005 omxvideoenc: Improve debug output when setting codec state due to new codec_data fails
3006 https://bugzilla.gnome.org/show_bug.cgi?id=783657
3008 2017-05-20 14:49:20 +0100 Julien Isorce <jisorce@oblong.com>
3011 omx: allow 0 feature
3012 Previously the omx plugin was blacklisted if GST_OMX_CONFIG_DIR
3013 points to an invalid path or if the gstomx.conf contains 0 valid
3015 Problem is that once the plugin is blacklisted, a rescan is not
3016 triggered upon changes of the env var or the gstomx.conf file
3017 despite being setup with gst_plugin_add_dependency.
3018 This also makes it more consistent with other plugins that auto
3019 generate features. For example gst-{ffmeg,libav}, gstreamer-vaapi,
3021 To clarify the diff, the plugin_init func will return TRUE even if
3022 g_key_file_get_groups returns 0 element and even if
3023 g_key_file_load_from_dirs fails.
3024 https://bugzilla.gnome.org/show_bug.cgi?id=782867
3026 2017-04-26 22:52:17 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
3028 * config/bellagio/gstomx.conf:
3029 config: add OMX.st.audio_decoder.mp3.mad for Bellagio config
3030 MP3 Software decoder (libmad based) but useful for testing
3031 and to compare with other targets.
3032 GST_OMX_CONFIG_DIR=$HOME/gst/master/gst-omx/config/bellagio/ \
3033 gst-launch-1.0 filesrc location=mpthreetest.mp3 ! id3demux ! \
3034 mpegaudioparse ! omxmp3dec ! audioconvert ! pulsesink
3035 Didn't add 'local' in core-name path compared to other components
3036 in that same gstomx.conf file because OMX.st.audio_decoder.mp3.mad
3037 comes with the Ubuntu package 'libomxil-bellagio0-components-mad'.
3038 All other components listed in this gstomx.conf for Bellagio, are
3039 not provided by any Ubuntu packages. It could explain the 'local',
3040 i.e. requiring to build them from source.
3041 dpkg -L libomxil-bellagio0
3042 /usr/lib/libomxil-bellagio.so.0
3043 https://bugzilla.gnome.org/show_bug.cgi?id=781786
3044 Signed-off-by: Gurkirpal Singh <gurkirpal204@gmail.com>
3045 Signed-off-by: Julien Isorce <jisorce@oblong.com>
3047 2017-05-16 14:39:04 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
3050 Remove plugin specific static build option
3051 Static and dynamic plugins now have the same interface. The standard
3052 --enable-static/--enable-shared toggle are sufficient.
3054 2017-05-10 12:10:10 +0900 Sejun Park <sejun79.park@samsung.com>
3056 * omx/gstomxvideodec.c:
3057 omxvideodec: Removed unreachable code
3058 https://bugzilla.gnome.org/show_bug.cgi?id=782416
3060 2017-05-09 16:26:44 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3063 meson: add dep on GModule
3064 libgstomx uses the GModule API and so needs it in its dependencies list.
3065 https://bugzilla.gnome.org/show_bug.cgi?id=782387
3067 2017-05-09 13:27:28 +0000 Tim-Philipp Müller <tim@centricular.com>
3070 meson: fix config.h generation
3071 "No such input file config.h.meson", but it's not needed anyway.
3072 https://bugzilla.gnome.org/show_bug.cgi?id=782382
3074 2017-05-04 18:59:33 +0300 Sebastian Dröge <sebastian@centricular.com>
3080 === release 1.12.0 ===
3082 2017-05-04 15:48:56 +0300 Sebastian Dröge <sebastian@centricular.com>
3092 === release 1.11.91 ===
3094 2017-04-27 17:53:50 +0300 Sebastian Dröge <sebastian@centricular.com>
3104 2017-04-17 17:02:48 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3106 * omx/gstomxvideoenc.c:
3107 videoenc: use GST_ROUND_UP_N() macro
3108 Makes the code much easier to read and understand.
3109 https://bugzilla.gnome.org/show_bug.cgi?id=781409
3111 2017-04-24 20:30:21 +0100 Tim-Philipp Müller <tim@centricular.com>
3114 Automatic update of common submodule
3115 From 60aeef6 to 48a5d85
3117 2017-04-10 23:51:00 +0100 Tim-Philipp Müller <tim@centricular.com>
3121 Automatic update of common submodule
3122 From 39ac2f5 to 60aeef6
3124 === release 1.11.90 ===
3126 2017-04-07 16:36:45 +0300 Sebastian Dröge <sebastian@centricular.com>
3136 2017-04-07 14:27:23 +0300 Sebastian Dröge <sebastian@centricular.com>
3138 * omx/gstomxvideoenc.c:
3139 omxvideoenc: Fix compiler warning
3140 gstomxvideoenc.c: In function ‘gst_omx_video_enc_fill_buffer’:
3141 CC libgstomx_la-gstomxaacdec.lo
3142 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=]
3143 GST_LOG_OBJECT (self, "Matched strides - direct copy %u bytes",
3145 outbuf->omx_buf->nFilledLen);
3148 2017-03-22 17:18:09 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
3151 meson: fix logic to set HAVE_THEORA
3152 https://bugzilla.gnome.org/show_bug.cgi?id=780392
3154 2017-03-14 03:02:06 +1100 Jan Schmidt <thaytan@noraisin.net>
3156 * omx/gstomxvideoenc.c:
3157 omxvideoenc: Add an unimplemented mapping for RGBA formats
3158 Add some pixel formats mappings for 2 RGBA formats. Not yet
3159 implemented in the buffer input code though, so no effect for now.
3161 2017-03-14 03:00:49 +1100 Jan Schmidt <thaytan@noraisin.net>
3165 * omx/gstomxvideoenc.c:
3166 omxvideoenc: Add GST_OMX_HACK_HEIGHT_MULTIPLE_16 for Rpi
3167 The Raspberry Pi encoder produces corrupt output unless
3168 the input height is a multiple of 16. Add a hack that adds
3169 zero padding when needed.
3171 2017-03-14 02:42:15 +1100 Jan Schmidt <thaytan@noraisin.net>
3173 * omx/gstomxvideoenc.c:
3174 omxvideoenc: Add a mapping for OMX_COLOR_FormatYUV420PackedSemiPlanar
3177 2017-03-14 02:40:24 +1100 Jan Schmidt <thaytan@noraisin.net>
3179 * omx/gstomxvideoenc.c:
3180 omxvideoenc: Filter out unimplemented formats
3181 Don't announce pixel formats in the caps if they've not been
3184 2017-03-14 02:34:36 +1100 Jan Schmidt <thaytan@noraisin.net>
3186 * omx/gstomxvideodec.c:
3187 omxvideodec: demote ERROR message
3188 There's no need to warn about failing to negotiate EGL output
3189 - that can be perfectly normal.
3191 2017-02-24 16:00:29 +0200 Sebastian Dröge <sebastian@centricular.com>
3194 meson: Update version
3196 2017-02-24 15:38:17 +0200 Sebastian Dröge <sebastian@centricular.com>
3201 === release 1.11.2 ===
3203 2017-02-24 15:10:17 +0200 Sebastian Dröge <sebastian@centricular.com>
3212 2017-02-15 18:22:53 +0000 Tim-Philipp Müller <tim@centricular.com>
3215 meson: dist meson build files
3216 Ship meson build files in tarballs, so people who use tarballs
3217 in their builds can start playing with meson already.
3219 2017-01-13 16:23:12 +0000 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
3221 * omx/gstomxaacenc.c:
3222 omxaacenc: let encoder know about incoming rate/channels
3223 https://bugzilla.gnome.org/show_bug.cgi?id=777223
3225 2017-01-18 02:43:44 +1100 Matthew Waters <matthew@centricular.com>
3227 * config/bellagio/meson.build:
3228 * config/meson.build:
3229 * config/rpi/meson.build:
3230 * examples/egl/meson.build:
3231 * examples/meson.build:
3232 * hooks/pre-commit.hook:
3234 * meson_options.txt:
3236 build: add meson build definition
3237 Currently only been tested on the RPi within gst-build.
3239 2017-01-18 15:21:35 +1100 Matthew Waters <matthew@centricular.com>
3241 * examples/egl/testegl.c:
3242 examples/testegl: update for libgstgl changes
3244 2017-01-12 16:33:09 +0200 Sebastian Dröge <sebastian@centricular.com>
3249 === release 1.11.1 ===
3251 2017-01-12 16:26:55 +0200 Sebastian Dröge <sebastian@centricular.com>
3260 2017-01-10 15:29:08 +0000 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
3262 * omx/gstomxaudioenc.c:
3263 omxaudioenc: set base class format instead of just source pad caps
3265 2016-12-18 19:46:55 +0000 Graham Leggett <minfrin@sharp.fm>
3267 * omx/gstomxaudiodec.c:
3268 * omx/gstomxvideodec.c:
3269 omx*dec: Flush before we stop the srcpad loop
3270 Flushing could otherwise hang if output port queue of pending buffers was empty
3271 https://bugzilla.gnome.org/show_bug.cgi?id=774654
3273 2016-12-14 13:29:08 -0800 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
3276 Fix broken build due to syntax error
3277 Problem was introduced by 8716c23e2b0553db2982eb84c437f493c974385e
3279 2016-12-12 11:12:48 +0000 Graham Leggett <minfrin@sharp.fm>
3282 Prevent early EOS by resetting eos flag once GST_OMX_ACQUIRE_BUFFER_EOS is triggered
3283 https://bugzilla.gnome.org/show_bug.cgi?id=774600
3285 2016-12-12 11:09:15 +0000 Graham Leggett <minfrin@sharp.fm>
3288 Add clear debug logging on all the paths out of gst_omx_port_acquire_buffer()
3289 https://bugzilla.gnome.org/show_bug.cgi?id=774600
3291 2016-12-01 18:23:50 +0100 George Kiagiadakis <george.kiagiadakis@collabora.com>
3293 * config/rpi/gstomx.conf:
3296 Add a signals-premature-eos hack for egl_render
3297 egl_render seems to have a bug and signals EOS before it has finished
3298 pushing out all data; this hack simply makes acquire_buffer() wait
3299 a bit more before signalling EOS, in case egl_render decides to spit
3301 https://bugzilla.gnome.org/show_bug.cgi?id=741856
3303 2016-12-11 19:52:37 +0000 Graham Leggett <minfrin@sharp.fm>
3305 * omx/gstomxvideo.c:
3306 Add support for OMX_COLOR_FormatYUV420PackedSemiPlanar and OMX_COLOR_Format24bitBGR888
3307 https://bugzilla.gnome.org/show_bug.cgi?id=775959
3309 2016-12-03 08:20:46 +0100 Edward Hervey <bilboed@bilboed.com>
3312 Automatic update of common submodule
3313 From ac2f647 to 39ac2f5
3315 2016-11-26 11:27:58 +0000 Tim-Philipp Müller <tim@centricular.com>
3318 common: use https protocol for common submodule
3319 https://bugzilla.gnome.org/show_bug.cgi?id=775110
3321 2016-11-25 23:56:06 +0200 Sebastian Dröge <sebastian@centricular.com>
3324 omx: Fix compiler warning with latest clang
3325 gstomx.c:1376:42: error: implicit conversion from enumeration type 'GstOMXAcquireBufferReturn' to different enumeration type 'OMX_ERRORTYPE'
3326 (aka 'enum OMX_ERRORTYPE') [-Werror,-Wenum-conversion]
3327 g_return_val_if_fail (!port->tunneled, GST_OMX_ACQUIRE_BUFFER_ERROR);
3328 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3329 https://bugzilla.gnome.org/show_bug.cgi?id=775112
3331 2016-11-17 19:56:35 +1100 Matthew Waters <matthew@centricular.com>
3333 * omx/gstomxvideodec.c:
3334 videodecoder: remove use of EGLImage orientation
3335 New code should use GstVideoTransformationMeta
3336 (The defaults do the right thing here though).
3338 === release 1.11.0 ===
3340 2016-11-01 18:53:25 +0200 Sebastian Dröge <sebastian@centricular.com>
3345 === release 1.10.0 ===
3347 2016-11-01 18:20:48 +0200 Sebastian Dröge <sebastian@centricular.com>
3356 === release 1.9.90 ===
3358 2016-09-30 13:04:51 +0300 Sebastian Dröge <sebastian@centricular.com>
3368 2016-09-14 11:33:13 +0200 Sebastian Dröge <sebastian@centricular.com>
3371 configure: Depend on gstreamer 1.9.2.1
3373 2016-09-12 14:09:46 +0200 Sebastian Dröge <sebastian@centricular.com>
3377 omx: Also search for gstomx.conf in the autoconf --sysconfdir
3378 https://bugzilla.gnome.org/show_bug.cgi?id=770743
3380 2016-09-10 20:52:10 +1000 Jan Schmidt <jan@centricular.com>
3384 Automatic update of common submodule
3385 From b18d820 to f980fd9
3387 2016-09-10 09:58:16 +1000 Jan Schmidt <jan@centricular.com>
3391 Automatic update of common submodule
3392 From ac2f647 to b18d820
3394 2016-09-01 12:36:09 +0300 Sebastian Dröge <sebastian@centricular.com>
3399 === release 1.9.2 ===
3401 2016-09-01 12:35:58 +0300 Sebastian Dröge <sebastian@centricular.com>
3411 2016-07-11 21:15:48 +0200 Stefan Sauer <ensonic@users.sf.net>
3414 Automatic update of common submodule
3415 From ac2f647 to f49c55e
3417 2016-07-06 13:51:24 +0300 Sebastian Dröge <sebastian@centricular.com>
3422 === release 1.9.1 ===
3424 2016-07-06 13:48:45 +0300 Sebastian Dröge <sebastian@centricular.com>
3434 2016-06-29 16:37:43 +0900 Kazunori Kobayashi <kkobayas@igel.co.jp>
3436 * omx/gstomxvideodec.c:
3437 omxvideodec: Use GST_VIDEO_FRAME_PLANE_STRIDE() to get output buffer's stride
3438 GST_VIDEO_FRAME_PLANE_STRIDE() should be used to get the actual buffer stride,
3439 as reported in the buffers's GstVideoMeta, when copying data to that buffer.
3440 https://bugzilla.gnome.org/show_bug.cgi?id=768173
3442 2016-06-21 11:48:40 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
3445 Automatic update of common submodule
3446 From ac2f647 to f363b32
3448 2016-06-21 11:43:13 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
3450 * omx/gstomxaudioenc.c:
3451 omxaudioenc: implement GstPreset interface
3452 To allow user to use GstPreset to quickly save and load a set of
3454 https://bugzilla.gnome.org/show_bug.cgi?id=767907
3456 2016-06-21 11:41:15 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
3458 * omx/gstomxvideoenc.c:
3459 omxvideoenc: implement GstPreset interface
3460 To allow user to use GstPreset to quickly save and load a set of
3462 https://bugzilla.gnome.org/show_bug.cgi?id=767907
3464 2016-06-17 12:06:48 +0300 Sebastian Dröge <sebastian@centricular.com>
3468 * omx/gstomxaudiodec.c:
3469 * omx/gstomxaudioenc.c:
3470 * omx/gstomxvideo.c:
3471 * omx/gstomxvideodec.c:
3472 * omx/gstomxvideoenc.c:
3473 omx: #define OMX_SKIP64BIT on the RPi as required by their API
3474 Also add generic support for OMX_SKIP64BIT to gst-omx, in case other
3475 implementations also #define that for whatever reason.
3476 https://bugzilla.gnome.org/show_bug.cgi?id=766475
3478 2016-06-17 10:59:45 +0300 Sebastian Dröge <sebastian@centricular.com>
3480 * omx/gstomxvideodec.c:
3481 omxvideodec: Implement ::drain() virtual method
3482 https://bugzilla.gnome.org/show_bug.cgi?id=767641
3484 2016-06-04 19:31:45 +0100 Tim-Philipp Müller <tim@centricular.com>
3487 configure: remove AG_GST_PARSE_SUBSYSTEM_DISABLES
3488 This would check which subsystems are disabled in core by grepping
3489 gstconfig.h. Only problem is: gstconfig.h has moved into libdir now
3490 so we've been checking a non-existent file for a while now. The
3491 macro would just sets GST_DISABLE_* for use in configure.ac and
3492 Makefile.am, but we don't use that anywhere so just get rid of it
3493 (the one place where we use GST_DISABLE_GST_DEBUG is in a .c file
3494 which gets the define from the gstconfig.h include).
3495 https://bugzilla.gnome.org/show_bug.cgi?id=750056
3497 2016-01-20 03:10:38 +0900 Gwang Yoon Hwang <yoon@igalia.com>
3499 * examples/egl/testegl.c:
3500 * omx/gstomxvideodec.c:
3501 omxvideodec : Use gstglmemoryegl for the RPi
3502 Modified to use gstglmemoryegl to avoid texture creation/copy operations
3504 [Matthew Waters]: gst-indent the sources and port testegl to GstGLMemoryEGL
3505 https://bugzilla.gnome.org/show_bug.cgi?id=760918
3507 2016-04-14 10:04:32 +0100 Julien Isorce <j.isorce@samsung.com>
3510 Automatic update of common submodule
3511 From 6f2d209 to ac2f647
3513 2016-02-26 12:42:41 +0200 Sebastian Dröge <sebastian@centricular.com>
3516 Automatic update of common submodule
3517 From b64f03f to 6f2d209
3519 2016-02-17 20:51:03 +1100 Matthew Waters <matthew@centricular.com>
3521 * examples/egl/testegl.c:
3522 examples: update egl example for gstgl API changes
3523 https://bugzilla.gnome.org/show_bug.cgi?id=762053
3524 https://bugzilla.gnome.org/show_bug.cgi?id=753917
3526 2016-02-05 18:11:06 -0300 Thiago Santos <thiagoss@osg.samsung.com>
3530 Automatic update of common submodule
3531 From 86e4663 to b64f03f
3533 2015-12-21 00:43:49 +0100 Koop Mast <kwm@rainbow-runner.nl>
3536 configure: Make -Bsymbolic check work with clang.
3537 Update the -Bsymbolic check with the version glib has. This version
3539 https://bugzilla.gnome.org/show_bug.cgi?id=759713
3541 2015-12-07 09:11:32 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
3545 Automatic update of common submodule
3546 From b319909 to 86e4663
3548 2015-11-18 13:00:28 +0000 Enrique Ocaña González <eocanha@igalia.com>
3551 Remember the last_error after a failed set state call to avoid blocking the next get state call
3552 gst_omx_video_dec_flush() blocks forever in
3553 http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomxvideodec.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n2110
3554 when the previous call to gst_omx_component_set_state() fails in
3555 http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomx.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n827.
3556 To mitigate that, I set "last_error" to true, so the code in
3557 http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomx.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n862
3558 exits early and doesn't block.
3559 https://bugzilla.gnome.org/show_bug.cgi?id=758274
3561 2015-11-18 12:59:59 +0000 Enrique Ocaña González <eocanha@igalia.com>
3563 * omx/gstomxaudiodec.c:
3564 * omx/gstomxaudioenc.c:
3565 * omx/gstomxvideodec.c:
3566 * omx/gstomxvideoenc.c:
3567 Properly handle drain requests while flushing
3568 Without this commit the decoder streaming thread stops without ever attending
3569 the drain request, leaving the decoder input thread waiting forever.
3570 https://bugzilla.gnome.org/show_bug.cgi?id=758274
3572 2015-11-10 10:42:35 +0100 Nicolas Huet <nicolas.huet@parrot.com>
3575 omx: fix hacks leak on class init
3577 2015-10-21 14:37:13 +0100 Tim-Philipp Müller <tim@centricular.com>
3580 Automatic update of common submodule
3581 From b99800a to b319909
3583 2015-10-21 14:28:41 +0300 Sebastian Dröge <sebastian@centricular.com>
3586 Automatic update of common submodule
3587 From 9aed1d7 to b99800a
3589 2015-09-01 16:08:11 -0300 Thiago Santos <thiagoss@osg.samsung.com>
3591 * omx/gstomxaacdec.c:
3592 omxaacdec: Do not accept unknown layouts
3593 It was defaulting to RAW when an unknown layout was received but
3594 the caps template would actually forbid that on the caps query
3595 or accept-caps anyway.
3597 2015-09-01 08:59:54 -0300 Thiago Santos <thiagoss@osg.samsung.com>
3599 * omx/gstomxaudiodec.c:
3600 omxaudiodec: use default pad accept-caps handling
3601 Instead of the audiodecoder one. The OMX audioo decoders have their
3602 valid input in the template pad, so just check against that to
3603 avoid doing a query downstream.
3605 2015-08-28 12:57:33 -0300 Thiago Santos <thiagoss@osg.samsung.com>
3607 * omx/gstomxvideodec.c:
3608 omxvideodec: use default pad accept-caps handling
3609 Instead of the videodecoder one. The OMX video decoders have their
3610 valid input in the template pad, so just check against that to
3611 avoid doing a query downstream.
3613 2015-08-22 15:54:55 +0000 Graham Leggett <minfrin@sharp.fm>
3615 * omx/gstomxvideoenc.c:
3616 omxvideoenc: Add keyframe support for the Rpi, using OMX_IndexConfigBrcmVideoRequestIFrame
3617 https://bugzilla.gnome.org/show_bug.cgi?id=753085
3619 2015-08-20 17:20:50 +0900 Vineeth TM <vineeth.tm@samsung.com>
3621 * examples/egl/testegl.c:
3622 gst-omx: Fix memory leaks when context parse fails
3623 When g_option_context_parse fails, context and error variables are not getting free'd
3624 which results in memory leaks. Free'ing the same.
3625 And replacing g_error_free with g_clear_error, which checks if the error being passed
3626 is not NULL and sets the variable to NULL on free'ing.
3627 https://bugzilla.gnome.org/show_bug.cgi?id=753865
3629 2015-08-16 14:53:42 +0200 Philippe Normand <philn@igalia.com>
3631 * omx/gstomxh264dec.c:
3632 omxh264dec: implement is_format_change
3633 The omxvideodecoder class only checks some of the caps parameters but if
3634 other fields change such as h264 profile and/or level it wouldn't trigger a
3636 https://bugzilla.gnome.org/show_bug.cgi?id=752376
3638 2015-07-03 00:26:48 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
3640 * omx/gstomxvideodec.c:
3641 omxvideodec: unref allocator after getting it from allocation query
3642 Otherwise a reference will be leaked for each allocator. It only happens
3643 when target platform is Raspberry Pi and when we have GL support.
3644 https://bugzilla.gnome.org/show_bug.cgi?id=751867
3646 2015-07-03 21:59:54 +0200 Stefan Sauer <ensonic@users.sf.net>
3649 Automatic update of common submodule
3650 From f74b2df to 9aed1d7
3652 2015-06-16 17:50:14 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
3655 Automatic update of common submodule
3656 From 6015d26 to f74b2df
3658 2015-06-09 11:30:49 +0200 Edward Hervey <bilboed@bilboed.com>
3661 Automatic update of common submodule
3662 From d9a3353 to 6015d26
3664 2015-06-08 23:08:28 +0200 Stefan Sauer <ensonic@users.sf.net>
3667 Automatic update of common submodule
3668 From d37af32 to d9a3353
3670 2015-06-07 23:07:22 +0200 Stefan Sauer <ensonic@users.sf.net>
3673 Automatic update of common submodule
3674 From 21ba2e5 to d37af32
3676 2015-06-07 17:32:25 +0200 Stefan Sauer <ensonic@users.sf.net>
3679 Automatic update of common submodule
3680 From c408583 to 21ba2e5
3682 2015-06-07 17:16:43 +0200 Stefan Sauer <ensonic@users.sf.net>
3686 Automatic update of common submodule
3687 From c8fb372 to c408583
3689 2015-05-19 18:21:40 +0300 Sebastian Dröge <sebastian@centricular.com>
3691 * omx/gstomxaudiodec.c:
3692 * omx/gstomxaudiodec.h:
3693 omxaudiodec: Add an output adapter for chunking the output into codec frames
3694 Otherwise the base class will be confused.
3695 See https://bugzilla.gnome.org/show_bug.cgi?id=685730
3697 2015-04-26 18:24:13 +0100 Tim-Philipp Müller <tim@centricular.com>
3701 Remove obsolete Android build cruft
3702 This is not needed any longer.
3704 2015-04-22 10:40:22 +0200 Sebastian Dröge <sebastian@centricular.com>
3708 autotools automatically generate this, and when using different versions
3709 for autogen.sh there will always be changes to a file tracked by git.
3711 2015-04-08 15:57:59 +0100 Tim-Philipp Müller <tim@centricular.com>
3717 Add m4 directory so aclocal doesn't complain in autogen.sh
3718 Might come in handy, and these warnings seem to be
3719 fatal in some environments.
3720 You may need to git clean -x -d -f your tree before
3721 git pulling/merging.
3723 2015-04-07 22:25:57 +0100 Tim-Philipp Müller <tim@centricular.com>
3727 Update autogen.sh to latest version
3729 2015-04-03 18:58:17 +0100 Tim-Philipp Müller <tim@centricular.com>
3732 Automatic update of common submodule
3733 From bc76a8b to c8fb372
3735 2015-03-06 12:12:49 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3737 * omx/gstomxaacdec.c:
3738 omxaudiodec: add comment explaining duplicate code path
3740 2015-03-06 12:09:06 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3742 * omx/gstomxaacdec.c:
3743 Revert "omxaudiodec: remove duplicate code path"
3744 This reverts commit a8d26ff27a8b43f589424a59294f9057641b2a46.
3746 2015-03-06 12:03:56 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3749 omx: handle both errors in the two steps of update_port_definition
3750 Also consider potential errors in the _get_parameter() in the return of the
3751 update_port_definition function.
3754 2015-03-06 10:57:53 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3756 * omx/gstomxaudioenc.c:
3757 omxaudioenc: impossible if statement
3758 ret is set to GST_STATE_CHANGE_SUCCESS and never touched, so it is impossible
3759 for it to be anything else at the if check. Remove the if check.
3762 2015-03-06 10:54:43 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3764 * omx/gstomxaudiodec.c:
3765 omxaudiodec: impossible if statement
3766 ret is set to GST_STATE_CHANGE_SUCCESS and never touched, so it is impossible
3767 for it to be anything else at the if check. Remove it.
3770 2015-03-06 10:50:30 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3772 * omx/gstomxaacdec.c:
3773 omxaudiodec: remove duplicate code path
3775 2014-12-19 11:19:55 +0200 George Kiagiadakis <george.kiagiadakis@collabora.com>
3778 omx: call handle_messages() only once in acquire_buffer() to avoid potential deadlock
3779 There is one rare case where calling handle_messages() more than once can cause a deadlock
3780 in the video decoder element:
3781 - sink pad thread starts the src pad task (gst_omx_video_dec_loop())
3782 - _video_dec_loop() calls gst_omx_port_acquire_buffer() on dec_out_port
3783 - blocks in gst_omx_component_wait_message() releasing comp->lock and comp->messages_lock
3784 (initially, there are no buffers configured on that port, so it waits for OMX_EventPortSettingsChanged)
3785 - the sink pad thread pushes a buffer to the decoder with gst_omx_port_release_buffer()
3786 - _release_buffer() grabs comp->lock and sends the buffer to OMX, which consumes it immediately
3787 - EmptyBufferDone gets called at this point, which signals _wait_message() to unblock
3788 - the message from EmptyBufferDone is processed in gst_omx_component_handle_messages()
3789 called from gst_omx_port_release_buffer()
3790 - gst_omx_port_release_buffer releases comp->lock
3791 - the src pad thread now gets to run, grabbing comp->lock while it exits from _wait_message()
3792 - _acquire_buffer() calls the _handle_messages() on the next line after _wait_message(),
3793 which does nothing (no pending messages)
3794 - then it goes to "retry:" and calls _handle_messages() again, which also does nothing
3795 (still no pending messages)
3796 - scheduler switches to a videocore thread that calls EventHandler, informing us about the
3797 OMX_EventPortSettingsChanged event that just arrived
3798 - EventHandler graps comp->messages_lock, but not comp->lock, so it can run in parallel at
3799 this point just fine.
3800 - scheduler switches back to the src pad thread (which is in the middle of _acquire_buffer())
3801 - the next _handle_messages() which is right before if (g_queue_is_empty (&port->pending_buffers))
3802 processes the OMX_EventPortSettingsChanged
3803 - the buffer queue is still empty, so that thread blocks again in _wait_message()
3804 - the sink pad thread tries to acquire the next input port buffer
3805 - _acquire_buffer() also blocks this thread in:
3806 if (comp->pending_reconfigure_outports) { ... _wait_message() ... }
3807 - DEADLOCK. gstreamer is waiting for omx to do something, omx waits for gstreamer to do something.
3808 By removing those extra _handle_messages() calls, we can ensure that all the checks of
3809 _acquire_buffer() will re-run. In the above case, after the scheduler switches back to
3810 the middle of _acquire_buffer(), the code will enter _wait_message(), which will see that
3811 there are pending messages and will return immediately, going back to "retry:" and
3812 re-doing all the checks properly.
3813 https://bugzilla.gnome.org/show_bug.cgi?id=741854
3815 2015-02-26 09:27:44 +0900 Wonchul Lee <chul0812@gmail.com>
3818 omx: cleanup code a bit to remove else statement
3819 https://bugzilla.gnome.org/show_bug.cgi?id=745191
3821 2015-01-12 16:13:35 +0100 Stefan Sauer <ensonic@users.sf.net>
3824 Automatic update of common submodule
3825 From f2c6b95 to bc76a8b
3827 2014-12-18 10:56:15 +0100 Sebastian Dröge <sebastian@centricular.com>
3830 Automatic update of common submodule
3831 From ef1ffdc to f2c6b95
3833 2014-11-27 17:12:42 +0100 Edward Hervey <bilboed@bilboed.com>
3836 Automatic update of common submodule
3837 From 7bb2bce to ef1ffdc
3839 2014-11-13 09:55:02 +0900 Jun Ji <jun.ji@lge.com>
3843 * omx/gstomxamrdec.c:
3844 * omx/gstomxamrdec.h:
3846 https://bugzilla.gnome.org/show_bug.cgi?id=739333
3848 2014-10-27 18:00:50 +0100 Sebastian Dröge <sebastian@centricular.com>
3851 Automatic update of common submodule
3852 From 84d06cd to 7bb2bce
3854 2014-10-21 13:03:44 +0100 Tim-Philipp Müller <tim@centricular.com>
3857 Automatic update of common submodule
3858 From a8c8939 to 84d06cd
3860 2014-10-21 13:00:10 +0200 Stefan Sauer <ensonic@users.sf.net>
3863 Automatic update of common submodule
3864 From 1f5d3c3 to a8c8939
3866 2014-09-30 10:47:20 +0300 Sebastian Dröge <sebastian@centricular.com>
3868 * omx/gstomxaudiodec.c:
3869 omxaudiodec: Clean up code a bit to get rid of useless NULL checks
3871 2014-09-30 10:50:07 +0900 junji <jun.ji@lge.com>
3873 * omx/gstomxaudiodec.c:
3874 omxaudiodec: Unmap input buffers after usage
3875 https://bugzilla.gnome.org/show_bug.cgi?id=736314
3877 2014-08-31 20:30:13 +0000 Michal Lazo <michal.lazo@mdragon.org>
3879 * omx/gstomxvideoenc.c:
3880 omxvideoenc: Setup aspect ratio on RPi
3881 Needs firmware from yesterday or newer to work with all possible
3882 aspect ratios. Before that it only supported a fixed list.
3883 https://bugzilla.gnome.org/show_bug.cgi?id=732533
3885 2014-08-28 10:44:31 +0300 Sebastian Dröge <sebastian@centricular.com>
3887 * omx/gstomxaudioenc.c:
3888 omxaudioenc: Implement the hack flag GST_OMX_HACK_NO_COMPONENT_RECONFIGURE
3890 2014-08-28 10:43:22 +0300 Sebastian Dröge <sebastian@centricular.com>
3892 * omx/gstomxaudioenc.c:
3893 omxaudioenc: Use the base class' open/close vfuncs instead of calling them ourselves
3895 2014-08-26 22:13:53 -0500 Peng Liu <pengliu.mail@gmail.com>
3897 * config/rpi/gstomx.conf:
3898 * omx/gstomxvideoenc.c:
3899 omxvideoenc: Implement the hack flag GST_OMX_HACK_NO_COMPONENT_RECONFIGURE
3900 Fix a video encoder stall problem on RPi when changing the aspect ratio.
3901 https://bugzilla.gnome.org/show_bug.cgi?id=732533
3903 2014-08-14 17:36:11 +0300 Sebastian Dröge <sebastian@centricular.com>
3905 * omx/gstomxaudiodec.c:
3906 * omx/gstomxaudiodec.h:
3907 * omx/gstomxaudioenc.c:
3908 * omx/gstomxaudioenc.h:
3909 * omx/gstomxvideodec.c:
3910 * omx/gstomxvideodec.h:
3911 * omx/gstomxvideoenc.c:
3912 * omx/gstomxvideoenc.h:
3913 omx: Let base classes handle EOS
3914 https://bugzilla.gnome.org//show_bug.cgi?id=734774
3916 2014-08-14 17:33:07 +0300 Sebastian Dröge <sebastian@centricular.com>
3918 * omx/gstomxaudiodec.c:
3919 omxaudiodec: Fix flushing logic and make it more similar to the video decoder
3921 === release 1.2.0 ===
3923 2014-07-23 11:28:12 +0200 Sebastian Dröge <sebastian@centricular.com>
3933 2014-07-22 09:23:00 +0200 Sebastian Dröge <sebastian@centricular.com>
3935 * config/bellagio/gstomx.conf:
3936 * config/rpi/gstomx.conf:
3937 config: Update ranks to PRIMARY+1 to have higher preference than avdec_*
3938 See https://bugzilla.gnome.org/show_bug.cgi?id=732161
3940 2014-07-20 17:46:30 +0200 Sebastian Dröge <sebastian@centricular.com>
3942 * omx/gstomxaudiosink.c:
3943 omxaudiosink: Set port to not flushing in prepare() and keep it at flushing in unprepare()
3944 https://bugzilla.gnome.org/show_bug.cgi?id=733168
3946 2014-07-13 22:15:18 +0200 Sebastian Dröge <sebastian@centricular.com>
3948 * omx/gstomxaacdec.c:
3949 * omx/gstomxaudiodec.c:
3950 * omx/gstomxaudiodec.h:
3951 * omx/gstomxmp3dec.c:
3952 omxaudiodec: Implement setting of fallback channel positions
3954 2014-07-13 18:22:39 +0200 Sebastian Dröge <sebastian@centricular.com>
3958 * omx/gstomxaacdec.c:
3959 * omx/gstomxaacdec.h:
3960 * omx/gstomxmp3dec.c:
3961 omx: Add AAC audio decoder
3963 2014-07-02 09:22:28 +0200 Sebastian Dröge <sebastian@centricular.com>
3965 * omx/gstomxaudiodec.c:
3966 omxaudiodec: Get PCM parameters from the out port, not the in port
3968 2014-05-15 13:24:39 +0200 Sebastian Dröge <sebastian@centricular.com>
3970 * omx/gstomxaudiodec.c:
3971 omxaudiodec: Implement hack for not disabling the output port after set_format until the output format is known
3972 Needed on some OMX implementations, e.g. the one from Atmel. It does
3973 not send the settings-changed event on the output port if it is
3976 2014-05-10 23:12:54 +0200 Sebastian Dröge <sebastian@centricular.com>
3980 * omx/gstomxaudiodec.c:
3981 * omx/gstomxaudiodec.h:
3982 * omx/gstomxmp3dec.c:
3983 * omx/gstomxmp3dec.h:
3984 omx: Add audio decoder base class and a subclass for MP3
3986 2014-07-01 09:38:01 +0200 Sebastian Dröge <sebastian@centricular.com>
3990 omx: Link to gmodule-2.0-no-export for being able to use the g_module_*() API
3991 https://bugzilla.gnome.org/show_bug.cgi?id=732518
3993 2014-06-30 15:00:54 +0200 Sebastian Dröge <sebastian@centricular.com>
3995 * examples/egl/testegl.c:
3996 examples: #define GST_USE_UNSTABLE_API for libgstgl
3998 2014-06-29 19:10:19 +0200 Sebastian Dröge <sebastian@centricular.com>
4000 * omx/gstomxh264enc.c:
4001 * omx/gstomxh264enc.h:
4002 omxh264enc: Properly accumulate headers and push before the next frame
4003 Fixes output of encoding on RPi, where each header buffer (SPS and PPS)
4004 is in a separate OMX buffer.
4005 https://bugzilla.gnome.org/show_bug.cgi?id=726669
4007 2014-06-29 19:04:54 +0200 Sebastian Dröge <sebastian@centricular.com>
4009 * omx/gstomxvideoenc.c:
4010 omxvideoenc: Implement flush() instead of the deprecated reset()
4012 2014-06-25 17:14:18 +0200 Sebastian Dröge <sebastian@centricular.com>
4014 * config/rpi/gstomx.conf:
4015 rpi: It's 44100Hz, not 41400Hz
4017 2014-06-25 11:12:51 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4020 configure.ac: require gstgl >= 1.3.3
4022 2014-04-25 13:25:05 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4026 example: enable testegl
4027 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
4029 2014-06-25 10:19:54 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4031 * examples/egl/testegl.c:
4032 testegl: do matrix mutlplication in the shader
4033 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
4035 2014-06-25 09:36:38 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4037 * examples/egl/testegl.c:
4038 testegl: add a comment for the parse command
4039 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
4041 2014-04-25 17:32:16 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4043 * examples/egl/Makefile.am:
4044 * examples/egl/cube_texture_and_coords.h:
4045 * examples/egl/testegl.c:
4046 testegl: convert code from GLESv1 to GLESv2
4047 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
4049 2014-04-25 13:21:59 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4051 * examples/egl/Makefile.am:
4052 * examples/egl/testegl.c:
4053 testegl: port to gstgl API
4054 - append a glfilter just before fakesink
4055 So that we get gltexture or eglimages
4056 - propagate our EGLDisplay to the pipeline
4057 see GST_QUERY_CONTEXT
4058 - share our EGLContext with the iternal gl context
4059 of the pipeline, see GST_QUERY_ALLOCATION
4060 - use GstVideoGLTextureUploadMeta to upload
4061 the incoming gltexture or eglimage to our gl texture
4062 TODO: convert from GLESv1 to GLESv2
4063 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
4065 2014-06-24 14:52:58 +0200 Sebastian Dröge <sebastian@centricular.com>
4067 * omx/gstomxbufferpool.c:
4068 * omx/gstomxbufferpool.h:
4069 * omx/gstomxvideodec.c:
4070 omxbufferpool: Copy buffers if the stride does not match and we can't use video meta
4071 https://bugzilla.gnome.org/show_bug.cgi?id=731672
4073 2014-06-24 14:52:43 +0200 Sebastian Dröge <sebastian@centricular.com>
4077 * omx/gstomxvp8dec.h:
4078 omx: Only include OMX_VideoExt.h conditionally
4079 It does not exist on the RPi for example.
4081 2014-06-24 13:59:44 +0200 Sebastian Dröge <sebastian@centricular.com>
4084 configure.ac: Require GStreamer core/base >= 1.2.2
4085 Needed at least for gst_video_decoder_release_frame().
4087 2014-06-24 13:02:13 +0200 Sebastian Dröge <sebastian@centricular.com>
4089 * omx/gstomxbufferpool.c:
4090 omxbufferpool: Fix format string compiler warning
4092 2014-06-22 21:11:45 +0000 Michal Lazo <xlazom00@gmail.com>
4094 * omx/gstomxbufferpool.c:
4095 omxbufferpool: Initialize debug category
4097 2014-06-24 12:42:22 +0200 Sebastian Dröge <sebastian@centricular.com>
4099 * omx/gstomxbufferpool.c:
4100 omxbufferpool: Properly convert OMX alignment to GStreamer alignment
4101 GStreamer uses a bitmask for the alignment while OMX uses the
4102 alignment itself. Let's convert.
4103 https://bugzilla.gnome.org/show_bug.cgi?id=710564
4105 2014-06-24 11:11:28 +0200 Sebastian Dröge <sebastian@centricular.com>
4107 * omx/gstomxh264enc.c:
4108 omxh264enc: Don't let baseclass finish frames for SPS/PPS buffers
4109 Otherwise we a) send them twice, and b) finish a frame for something
4110 that does not even include a frame.
4111 https://bugzilla.gnome.org/show_bug.cgi?id=726669
4113 2014-06-24 10:22:37 +0200 Sebastian Dröge <sebastian@centricular.com>
4115 * omx/gstomxvideo.h:
4116 omxvideo: Include the separate headers too for compatibility with 1.0.x
4118 2014-03-24 16:09:40 +0800 Zhao, Halley <halley.zhao@intel.com>
4121 * omx/gstomxvp8dec.h:
4122 omxvp8dec: use VP8 definition from OMX_VideoExt.h
4123 https://bugzilla.gnome.org/show_bug.cgi?id=726957
4125 2014-03-24 15:33:26 +0800 Zhao, Halley <halley.zhao@intel.com>
4128 configure: add --with-omx-header-path option for external omx headers
4129 https://bugzilla.gnome.org/show_bug.cgi?id=726957
4131 2014-06-18 23:04:33 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
4133 * omx/gstomxvideodec.c:
4134 omxvideodec: fix a query leak
4135 Also add a debug message if query fails.
4136 https://bugzilla.gnome.org/show_bug.cgi?id=731898
4138 2014-05-30 15:29:15 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4140 * omx/gstomxvideodec.c:
4141 omxvideodec: release frames with old PTS to avoid memory issue
4142 Interlaced stream could make the decoder use two input frames to produce
4143 one output frame causing the gstvideodecoder frame list to grow.
4144 Assuming the video decoder output frame in display order rather than in
4145 decoding order, this commit add a way to release frames with PTS less
4146 than current output frame.
4147 https://bugzilla.gnome.org/show_bug.cgi?id=730995
4149 2013-06-27 21:59:29 +0900 Kazunori Kobayashi <kkobayas@igel.co.jp>
4152 omx: Fix a missing g_free() in error path
4153 This fixes a memory leak with g_strdup() when an error occurs.
4154 https://bugzilla.gnome.org/show_bug.cgi?id=731141
4156 2014-06-02 15:34:09 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4158 * omx/gstomxvideodec.c:
4159 omxvideodec: add missing stream unlock in error path
4161 2014-05-31 15:12:05 +0200 Sebastian Dröge <sebastian@centricular.com>
4164 omx: Don't handle disabling/enabling ports exactly like flushing
4165 Otherwise we might abort a flush operation in another thread when
4166 enabling/disabling ports, leading to deadlocks sometimes.
4167 https://bugzilla.gnome.org/show_bug.cgi?id=730989
4169 2014-05-26 11:02:10 +0200 Sebastian Dröge <sebastian@centricular.com>
4171 * omx/gstomxvideodec.c:
4172 omxvideodec: Don't leak buffer pool config in error cases
4175 2014-05-21 10:53:43 +0200 Sebastian Dröge <sebastian@centricular.com>
4178 Automatic update of common submodule
4179 From 211fa5f to 1f5d3c3
4181 2014-05-19 09:10:07 +0200 Sebastian Dröge <sebastian@centricular.com>
4183 * omx/gstomxvideoenc.c:
4184 omxvideoenc: Don't forget to unref codec state
4187 2014-05-19 09:08:33 +0200 Sebastian Dröge <sebastian@centricular.com>
4189 * omx/gstomxvideodec.c:
4190 omxvideodec: Make output buffer pointer always initialized
4193 2014-05-19 09:06:42 +0200 Sebastian Dröge <sebastian@centricular.com>
4195 * omx/gstomxvideodec.c:
4196 omxvideodec: Check return value of gst_buffer_map()
4199 2014-05-19 09:04:09 +0200 Sebastian Dröge <sebastian@centricular.com>
4201 * omx/gstomxvideodec.c:
4202 omxvideodec: Check return value of gst_omx_port_set_enabled() for errors
4205 2014-05-19 09:01:46 +0200 Sebastian Dröge <sebastian@centricular.com>
4207 * omx/gstomxvideodec.c:
4208 omxvideodec: Check return values of buffer pool config parsing functions
4211 2014-05-19 08:48:50 +0200 Sebastian Dröge <sebastian@centricular.com>
4214 omx: Remove dead code, buf can never be NULL here as we just check for that the line above
4217 2014-05-19 08:47:36 +0200 Sebastian Dröge <sebastian@centricular.com>
4220 omx: Fix comparisons in gst_omx_state_to_string() case to actually make sense
4223 2014-05-19 08:45:10 +0200 Sebastian Dröge <sebastian@centricular.com>
4226 omx: Make sure to compare the error codes as unsigned integers so that comparisons >2**31 actually work
4229 2014-05-19 08:40:23 +0200 Sebastian Dröge <sebastian@centricular.com>
4232 omx: Fix comparisons in gst_omx_command_to_string() default cause to actually work
4235 2014-05-15 13:22:56 +0200 Sebastian Dröge <sebastian@centricular.com>
4237 * omx/gstomxaudioenc.c:
4238 omxaudioenc: Implement hack for not disabling the output port after set_format until the output format is known
4239 Needed on some OMX implementations, e.g. the one from Atmel. It does
4240 not send the settings-changed event on the output port if it is
4243 2014-05-15 13:21:07 +0200 Sebastian Dröge <sebastian@centricular.com>
4245 * omx/gstomxvideoenc.c:
4246 omxvideoenc: Implement hack for not disabling the output port after set_format until the output format is known
4247 Needed on some OMX implementations, e.g. the one from Atmel. It does
4248 not send the settings-changed event on the output port if it is
4251 2014-05-15 10:58:34 +0200 Sebastian Dröge <sebastian@centricular.com>
4255 * omx/gstomxvideodec.c:
4256 omx: Add a hack for not disabling the output port after set_format until the output format is known
4257 Needed on some OMX implementations, e.g. the one from Atmel. It does
4258 not send the settings-changed event on the output port if it is
4261 2014-05-12 12:33:32 +0200 Josep Torra <n770galaxy@gmail.com>
4263 * omx/gstomxaudiosink.c:
4264 omxaudiosink: implement _delay only in the RaspberryPI
4265 Make code implementation conditionally built for RaspberryPI because
4266 OMX_IndexConfigAudioRenderingLatency seems to be a Broadcom extension.
4267 On other targets the query position might not be accurate without
4268 implementing _delay appropriatelly.
4270 2014-05-12 08:56:15 +0200 Sebastian Dröge <sebastian@centricular.com>
4272 * omx/gstomxaudioenc.c:
4273 omxaudioenc: Correctly scale nTickCount by OMX_TICKS_PER_SECOND
4275 2014-05-10 22:48:23 +0200 Sebastian Dröge <sebastian@centricular.com>
4277 * omx/gstomxaudioenc.c:
4278 omxaudioenc: Drain encoder on NULL buffer and don't drain on flushing
4280 2014-05-10 22:47:56 +0200 Sebastian Dröge <sebastian@centricular.com>
4282 * omx/gstomxvideodec.c:
4283 omxvideodec: Set nTickCount based on the buffer's duration instead of something wrong
4285 2014-05-10 22:47:21 +0200 Sebastian Dröge <sebastian@centricular.com>
4287 * omx/gstomxvideoenc.c:
4288 omxvideoenc: Set nTickCount to the whole duration of the buffer instead of a wrong calculation
4290 2014-05-10 22:46:51 +0200 Sebastian Dröge <sebastian@centricular.com>
4292 * omx/gstomxaudiosink.c:
4293 omxaudiosink: Fix format string compiler warnings
4295 2014-04-04 14:11:58 +0200 Josep Torra <n770galaxy@gmail.com>
4297 * config/rpi/gstomx.conf:
4300 * omx/gstomxanalogaudiosink.c:
4301 * omx/gstomxanalogaudiosink.h:
4302 * omx/gstomxaudiosink.c:
4303 * omx/gstomxaudiosink.h:
4304 * omx/gstomxhdmiaudiosink.c:
4305 * omx/gstomxhdmiaudiosink.h:
4306 omxaudiosink: Implements OpenMAX based audio sinks
4307 Provides omxanalogaudiosink and omxhdmiaudiosink elements on
4309 - omxanalogaudiosink is capable to render raw mono or stereo audio
4310 through the jack output.
4311 - omxhdmiaudiosink is capable to render raw audio up to 8 channels
4312 and transmit ac3/dts(IEC 61937) through the HDMI output.
4313 - sinks provide a clock derived from rendered samples
4314 - sinks support the GstStreamVolume interface by implementing
4315 the volume and mute properties.
4316 https://bugzilla.gnome.org/show_bug.cgi?id=728962
4318 2014-05-03 10:17:35 +0200 Sebastian Dröge <sebastian@centricular.com>
4321 Automatic update of common submodule
4322 From bcb1518 to 211fa5f
4324 2014-04-29 15:16:16 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4326 * omx/gstomxvideodec.c:
4327 omxvideodec: can negotiate caps with memory:EGLImage feature when using EGLImage allocator
4328 Previously when using gst EGLImage allocator the caps was
4329 video/x-raw, format=RGBA instead of
4330 video/x-raw(memory:EGLImage), format=RGBA
4331 Kepp previous behavior in case negotiation fails with caps feature.
4332 It means it will still have a chance to use EGLImage even if the
4333 feature is not in the caps.
4334 https://bugzilla.gnome.org/show_bug.cgi?id=729196
4336 2014-04-23 09:57:48 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4338 * omx/gstomxvp8dec.h:
4339 omxvp8dec: fix typo in GST_TYPE_OMX_VP8_DEC define
4340 https://bugzilla.gnome.org/show_bug.cgi?id=728774
4342 2014-04-16 11:00:55 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4344 * omx/gstomxvideodec.c:
4345 omxvideodec: don't unref caps before logging field from it
4346 https://bugzilla.gnome.org/show_bug.cgi?id=728322
4348 2014-04-15 17:30:13 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4352 example: disable testegl since libgstegl has been removed
4353 As decided in bug #703343
4354 Not compatible with the new libgstgl API.
4355 A portage has been started, attachment 272800.
4356 https://bugzilla.gnome.org/show_bug.cgi?id=703343
4358 2014-04-15 17:11:08 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4360 * omx/gstomxvideodec.c:
4361 omxvideodec: use new libgstgl API since libgstegl has been removed
4362 There is no point to retrieve a ref/unref type
4363 instead of an EGLDisplay directly. It's like for EGLImage.
4364 https://bugzilla.gnome.org/show_bug.cgi?id=703343
4366 2014-04-15 17:06:38 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4369 * examples/Makefile.am:
4371 * omx/gstomxvideodec.c:
4372 configure.ac: check for libgstgl since libgstegl has been removed
4373 https://bugzilla.gnome.org/show_bug.cgi?id=703343
4375 2014-04-09 18:52:16 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4377 * omx/gstomxbufferpool.c:
4378 * omx/gstomxvideodec.c:
4379 omxvideodec: add support of more color format
4380 Add support for ABGR, ARGB, RGB16, BGR16, YUY2, UYVY, YVYU, GRAY8 and
4383 2014-04-09 18:51:57 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4385 * omx/gstomxvideodec.c:
4386 omxvideodec: simplify color format conversion in fill_buffer function
4388 2014-04-09 18:51:41 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4390 * omx/gstomxbufferpool.c:
4391 omxbufferpool: make video stride and offset calculation easier
4392 It will be easier to support more color format.
4394 2014-04-09 18:51:12 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4396 * omx/gstomxvideo.c:
4397 * omx/gstomxvideo.h:
4398 * omx/gstomxvideodec.c:
4399 omx: add an helper to convert OMX color format to GStreamer color format
4401 2014-03-10 17:43:50 +0100 Josep Torra <n770galaxy@gmail.com>
4403 * examples/egl/testegl.c:
4404 * omx/gstomxvideodec.c:
4405 omxvideodec: Implement pipeline draining to support adaptive scenarios
4406 When draining due a format change also drain
4407 the pipeline to reclaim back all buffers.
4408 https://bugzilla.gnome.org/show_bug.cgi?id=726107
4410 2014-03-27 13:57:32 +0100 Josep Torra <n770galaxy@gmail.com>
4412 * examples/egl/testegl.c:
4413 examples: fix several memory leaks in the testegl example
4414 Ensure to call to image_data_free in order to release GPU resources.
4415 Also ensure to destroy EGLImage and GLTexture from proper
4417 https://bugzilla.gnome.org/show_bug.cgi?id=726107
4419 2014-03-25 17:16:31 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
4421 * examples/egl/testegl.c:
4422 examples: keep a ref on the buffer instead of the memory
4424 https://bugzilla.gnome.org/show_bug.cgi?id=726107
4426 2014-03-07 20:08:05 +0100 Josep Torra <n770galaxy@gmail.com>
4428 * omx/gstomxvideodec.c:
4429 omxvideodec: fixes race condition during seeks
4430 Acording 6.1.3 Seek Event Sequence in the OpenMAX IL 1.1.2 spec
4431 document in order to flush the component it needs to be in
4433 https://bugzilla.gnome.org/show_bug.cgi?id=726038
4435 2014-01-29 18:31:26 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
4437 * omx/gstomxvideodec.c:
4438 omxvideodec: use flush because reset is deprecated
4439 https://bugzilla.gnome.org/show_bug.cgi?id=726038
4441 2014-01-27 17:03:50 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
4443 * omx/gstomxvideodec.c:
4444 omxvideodec: populate the most downstream output port on reset
4445 Make seeking work when using egl_render component
4446 https://bugzilla.gnome.org/show_bug.cgi?id=726038
4448 2014-03-24 17:49:59 +0100 Josep Torra <n770galaxy@gmail.com>
4450 * omx/gstomxbufferpool.c:
4451 omxbufferpool: return buffers to the pool instead of freeing them
4452 We have to return the buffers back to the pool in when stopping to
4453 not mess with the GstBufferPool accounting.
4454 The OMX buffers will be freed when those won't be in charge of the
4455 pool in the chained up call to 'stop'.
4456 Fixes segfaults on finalize and pool not being properly deactivated.
4457 https://bugzilla.gnome.org/show_bug.cgi?id=726337
4459 2014-03-19 12:12:49 +0100 Christian König <christian.koenig@amd.com>
4461 * omx/gstomxvideodec.c:
4462 omxvideodec: add missing unlock in the error path
4463 Signed-off-by: Christian König <christian.koenig@amd.com>
4464 https://bugzilla.gnome.org/show_bug.cgi?id=726958
4466 2014-03-18 23:36:59 +0100 Michal Lazo <xlazom00@gmail.com>
4468 * omx/gstomxh264enc.c:
4469 * omx/gstomxh264enc.h:
4472 2014-03-17 09:57:11 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
4474 * omx/gstomxbufferpool.c:
4475 omxbufferpool: fix memory leak if used on output port
4476 When using GstOMXBufferPool on an output port, it internally uses
4477 a GPtrArray to manage the GstBuffers instead of the default queue
4478 from the GstBufferPool base class.
4479 In this case GstBufferPool::default_free_buffer is not called when
4480 the pool is stopped. Because the queue is empty. So explicitely
4481 call gst_omx_buffer_pool_free_buffer on each buffer contained in
4483 https://bugzilla.gnome.org/show_bug.cgi?id=726337
4485 2014-03-16 17:32:05 +0100 Sebastian Dröge <sebastian@centricular.com>
4487 * omx/gstomxh264enc.c:
4488 omxh264enc: Fix compiler warnings
4490 2014-03-16 17:19:08 +0100 Michal Lazo <xlazom00@gmail.com>
4492 * omx/gstomxh264enc.c:
4493 * omx/gstomxh264enc.h:
4494 omxh264enc: IDR interval, SPS and PPS headers for rpi
4495 https://bugzilla.gnome.org/show_bug.cgi?id=720031
4497 2014-03-13 14:26:58 +0100 Christian König <christian.koenig@amd.com>
4501 * omx/gstomxvideo.c:
4502 omxvideo: fix debug category initialisation
4503 https://bugzilla.gnome.org/show_bug.cgi?id=726024
4505 2014-03-13 19:04:47 +0100 Christian König <christian.koenig@amd.com>
4507 * omx/gstomxbufferpool.h:
4508 omxbufferpool: add proper type definitions
4509 https://bugzilla.gnome.org/show_bug.cgi?id=726325
4511 2014-03-02 10:30:04 +0100 Christian König <christian.koenig@amd.com>
4514 omx: consolidate message waiting code
4515 Add a wait_message helper function and remove all those duplicated code.
4516 https://bugzilla.gnome.org/show_bug.cgi?id=725493
4518 2014-03-12 12:48:12 +0100 Sebastian Dröge <sebastian@centricular.com>
4520 * omx/gstomxvideo.c:
4521 omx: Copy old copyright notice into the new file
4523 2014-03-12 12:47:34 +0100 Sebastian Dröge <sebastian@centricular.com>
4525 * omx/gstomxvideo.c:
4526 * omx/gstomxvideo.h:
4527 * omx/gstomxvideodec.c:
4528 * omx/gstomxvideoenc.c:
4529 omx: Rename function from _4_ to _for_ for clarity
4531 2014-03-03 16:15:24 +0100 Christian König <christian.koenig@amd.com>
4534 * omx/gstomxvideo.c:
4535 * omx/gstomxvideo.h:
4536 * omx/gstomxvideodec.c:
4537 * omx/gstomxvideoenc.c:
4538 omxvideo: start sharing more code between video decoder and encoder
4539 Identical functionality spread of two different components.
4540 We can't use a common base class because of different inheritance,
4541 but let's try to share the code anyway.
4542 https://bugzilla.gnome.org/show_bug.cgi?id=726024
4544 2014-03-12 12:43:49 +0100 Sebastian Dröge <sebastian@centricular.com>
4546 * examples/egl/Makefile.am:
4547 examples: Only build RPi EGL example if RPi was chosen as target
4549 2014-03-12 12:42:23 +0100 Sebastian Dröge <sebastian@centricular.com>
4551 * omx/gstomxbufferpool.h:
4552 omxbufferpool: Fix header include guard
4554 2014-03-05 11:41:02 +0100 Christian König <christian.koenig@amd.com>
4557 * omx/gstomxbufferpool.c:
4558 * omx/gstomxbufferpool.h:
4559 * omx/gstomxvideodec.c:
4560 omxvideodec: separate the buffer pool from the decoder
4561 https://bugzilla.gnome.org/show_bug.cgi?id=726025
4563 2014-03-04 17:41:20 +0100 Christian König <christian.koenig@amd.com>
4567 * omx/gstomxvideodec.c:
4568 omx: simplify tunnel functions
4569 Specifying the component is error prone and unnecessary.
4570 https://bugzilla.gnome.org/show_bug.cgi?id=726021
4572 2014-03-07 17:12:24 +0100 Christian König <christian.koenig@amd.com>
4574 * omx/gstomxvideodec.c:
4575 omxvideodec: fix memory leak in gst_omx_video_dec_allocate_output_buffers
4576 https://bugzilla.gnome.org/show_bug.cgi?id=725907
4578 2014-03-07 13:18:49 +0100 Christian König <christian.koenig@amd.com>
4580 * omx/gstomxvideodec.c:
4581 omxvideodec: fix memory leak gst_omx_video_dec_negotiate
4582 https://bugzilla.gnome.org/show_bug.cgi?id=725907
4584 2014-03-05 18:54:05 +0100 Christian König <christian.koenig@amd.com>
4586 * omx/gstomxvideoenc.c:
4587 omxvideoenc: fix a memory leak in gst_omx_video_enc_getcaps
4588 https://bugzilla.gnome.org/show_bug.cgi?id=725826
4590 2014-03-05 17:43:33 +0100 Josep Torra <n770galaxy@gmail.com>
4593 Makefile.am: build examples
4594 There's no reason to not build the examples now that are ported to 1.x.
4596 2014-03-05 17:25:09 +0100 Josep Torra <n770galaxy@gmail.com>
4598 * examples/egl/testegl.c:
4599 examples: avoid a clashing name with the recently added GstEGLImagePool
4600 Fixes build with current master.
4602 2013-09-05 03:41:10 -0600 Christian König <christian.koenig@amd.com>
4604 * omx/gstomxvideoenc.c:
4605 omxvideoenc: simplify _find_nearest_frame
4606 Just the same as we did with the decoder. Also give the
4607 function a gst_omx_video_enc prefix to distinct it from
4608 the decoder function.
4609 https://bugzilla.gnome.org/show_bug.cgi?id=724236
4611 2013-09-05 02:23:39 -0600 Christian König <christian.koenig@amd.com>
4613 * omx/gstomxvideodec.c:
4614 omxvideodec: simplify _find_nearest_frame
4615 No need to make it more complicated and error prone than
4616 necessary. Also give the function a gst_omx_video_dec prefix
4617 to distinct it from the encoder function.
4618 https://bugzilla.gnome.org/show_bug.cgi?id=724236
4620 2013-09-05 02:05:52 -0600 Christian König <christian.koenig@amd.com>
4622 * omx/gstomxvideodec.c:
4623 omxvideodec: remove dead code
4624 This code doesn't seems to be used for quite a while,
4625 remove it before it starts to rot.
4626 https://bugzilla.gnome.org/show_bug.cgi?id=724236
4628 2014-03-01 22:28:24 +0100 Christian König <christian.koenig@amd.com>
4631 omx: fix two serious message handling bugs
4632 Waiting for the next message if we already got one
4633 is nonsense and can lead to lockups.
4634 https://bugzilla.gnome.org/show_bug.cgi?id=725468
4636 2014-03-01 18:49:41 +0100 Christian König <christian.koenig@amd.com>
4638 * omx/gstomxvideoenc.c:
4639 omxvideoenc: fix startup race condition
4640 The reset function shouldn't start the src pad
4641 loop if it wasn't started before.
4642 Signed-off-by: Christian König <christian.koenig@amd.com>
4644 2014-03-01 18:48:17 +0100 Christian König <christian.koenig@amd.com>
4646 * omx/gstomxvideodec.c:
4647 omxvideodec: fix startup race condition
4648 The reset function shouldn't start the src pad
4649 loop if it wasn't started before.
4650 Signed-off-by: Christian König <christian.koenig@amd.com>
4652 2014-02-28 09:36:13 +0100 Sebastian Dröge <sebastian@centricular.com>
4655 Automatic update of common submodule
4656 From fe1672e to bcb1518
4658 2014-02-26 22:15:00 +0100 Stefan Sauer <ensonic@users.sf.net>
4661 Automatic update of common submodule
4662 From 1a07da9 to fe1672e
4664 2014-01-30 10:45:18 +0100 Edward Hervey <bilboed@bilboed.com>
4667 Automatic update of common submodule
4668 From d48bed3 to 1a07da9
4670 2014-01-25 17:44:14 +0100 Sebastian Dröge <sebastian@centricular.com>
4672 * omx/gstomxaudioenc.c:
4673 * omx/gstomxvideodec.c:
4674 * omx/gstomxvideoenc.c:
4675 omx: Don't handle FLUSHING and NOT_LINKED as errors
4676 Also don't stop the task on NOT_LINKED. We're not a demuxer.
4678 2013-12-22 22:35:31 +0000 Tim-Philipp Müller <tim@centricular.com>
4681 Automatic update of common submodule
4682 From dbedaa0 to d48bed3
4684 2013-11-05 11:22:02 +0000 Tim-Philipp Müller <tim@centricular.com>
4687 Automatic update of common submodule
4688 From 865aa20 to dbedaa0
4690 2013-09-28 13:32:37 +0200 Josep Torra <n770galaxy@gmail.com>
4692 * examples/egl/testegl.c:
4693 examples: simplify the thread synchronization code
4694 Make everithing more simple and fix the races conditions remaining in
4695 the previous approaches.
4697 2013-09-25 19:17:17 +0200 Sebastian Dröge <slomo@circular-chaos.org>
4699 * config/rpi/gstomx.conf:
4700 rpi: The WMV/VC1 decoder can only do WMV9 and VC1, no older versions
4702 2013-09-24 18:34:42 +0100 Tim-Philipp Müller <tim@centricular.net>
4705 Automatic update of common submodule
4706 From 6b03ba7 to 865aa20
4708 2013-09-24 18:48:24 +0200 Josep Torra <n770galaxy@gmail.com>
4710 * examples/egl/testegl.c:
4711 examples: fix another race condition
4712 Fix a race condition that caused randome deadlocks on EOS.
4714 2013-09-20 17:19:53 +0200 Josep Torra <n770galaxy@gmail.com>
4716 * config/rpi/gstomx.conf:
4717 rpi: fix a copy paste error in the config file
4719 2013-09-20 17:09:52 +0200 Josep Torra <n770galaxy@gmail.com>
4721 * examples/egl/testegl.c:
4722 examples: fix a race condition when seeking
4723 Fixes a race condition that caused pipeline deadlock during seeks.
4725 2013-09-20 10:38:12 +0200 Josep Torra <n770galaxy@gmail.com>
4727 * examples/egl/testegl.c:
4728 examples: display QoS statistics
4730 2013-09-20 09:34:37 +0200 Josep Torra <n770galaxy@gmail.com>
4732 * examples/egl/testegl.c:
4733 examples: use dedicated thread for rendering the scene
4734 Produces smother animation and prevents dropping frames due busy
4737 2013-09-20 08:25:21 +0200 Josep Torra <n770galaxy@gmail.com>
4739 * examples/egl/testegl.c:
4740 examples: don't force an specific audio sink
4741 Let playbin2 choose the audiosink available in the system.
4743 2013-09-20 08:19:48 +0200 Josep Torra <n770galaxy@gmail.com>
4745 * examples/egl/Makefile.am:
4746 examples: drop remnants of initial appsink attempt
4748 2013-09-20 16:18:18 +0200 Edward Hervey <edward@collabora.com>
4751 Automatic update of common submodule
4752 From b613661 to 6b03ba7
4754 2013-09-19 18:45:36 +0100 Tim-Philipp Müller <tim@centricular.net>
4757 Automatic update of common submodule
4758 From 74a6857 to b613661
4760 2013-09-19 17:38:30 +0100 Tim-Philipp Müller <tim@centricular.net>
4763 Automatic update of common submodule
4764 From 01a7a46 to 74a6857
4766 2013-08-20 16:00:07 +0100 Tim-Philipp Müller <tim@centricular.net>
4769 * omx/gstomxvideodec.c:
4770 omx: don't use the 'z' modifier to print size_t
4771 gcc will warn in some cases even if the size of the type
4772 is exactly that of size_t on the platform.
4773 https://bugzilla.gnome.org/show_bug.cgi?id=699008
4775 2013-07-01 15:48:47 +0200 Roman Arutyunyan <arutyunyan.roman@gmail.com>
4777 * omx/gstomxvideoenc.c:
4778 gstomxvideoenc: Set bitrate in setcaps
4779 Otherwise it gets lost whenever we configure new caps
4780 https://bugzilla.gnome.org/show_bug.cgi?id=698049
4782 2013-06-30 18:17:05 +0700 Ilya Smelykh <ilya@videoexpertsgroup.com>
4784 * examples/egl/testegl.c:
4785 examples: enable audio in testegl example
4787 2013-06-12 09:38:22 +0200 Sebastian Dröge <slomo@circular-chaos.org>
4790 configure: Allow build without gstreamer-egl
4792 2013-06-07 12:39:18 +0700 Ilya Smelykh <ilya@videoexpertsgroup.com>
4794 * examples/egl/Makefile.am:
4795 * examples/egl/testegl.c:
4796 examples: testegl example port to 1.x
4797 https://bugzilla.gnome.org/show_bug.cgi?id=701706
4799 2013-06-05 15:17:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4802 Automatic update of common submodule
4803 From 098c0d7 to 01a7a46
4805 2013-05-20 12:06:34 +0200 Josep Torra <n770galaxy@gmail.com>
4807 * omx/gstomxaudioenc.c:
4808 * omx/gstomxvideodec.c:
4809 * omx/gstomxvideoenc.c:
4810 omx: Take lock on EOS to update the flow return value
4811 Fixes "GThread-ERROR **: file gthread-posix.c: line 171
4812 (g_mutex_free_posix_impl): error 'Device or resource busy' during
4813 'pthread_mutex_destroy ((pthread_mutex_t *) mutex)'" in _finalize.
4815 2013-05-15 10:54:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4818 Automatic update of common submodule
4819 From 5edcd85 to 098c0d7
4821 2013-04-11 17:35:19 +0200 Josep Torra <n770galaxy@gmail.com>
4825 * examples/Makefile.am:
4826 * examples/egl/Makefile.am:
4827 * examples/egl/cube_texture_and_coords.h:
4828 * examples/egl/testegl.c:
4829 examples: add an example aplication based OpenGL ES + EGL
4830 Application that shows how to integrate playbin with an OpenGL ES
4831 scene through EGL. Renders a video on the surfaces of an animated cube.
4832 The code is not ported to 1.x so it's not built by default.
4834 2013-05-10 12:25:07 +0200 Josep Torra <n770galaxy@gmail.com>
4836 * omx/gstomxvideodec.c:
4837 omxvideodec: Redesign video size change reconfiguration code
4838 Ensure stop the decoder before clossing the tunnel.
4840 2013-05-06 16:25:27 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4843 Makefile.am: Add -I common/m4
4844 This allows autoreconf to work correctly and automatic regeneration
4845 of autotools files if something changed.
4847 2013-05-06 19:03:59 +0530 jitendra <jvarshney20@gmail.com>
4851 * omx/gstomxaudioenc.c:
4852 * omx/gstomxvideodec.c:
4853 * omx/gstomxvideoenc.c:
4854 omx: Add pads based on element type
4855 This allows to later add sources and sink that only have a srcpad
4857 https://bugzilla.gnome.org/show_bug.cgi?id=699754
4859 2013-04-27 02:50:25 +0200 Carlos Rafael Giani <dv@pseudoterminal.org>
4862 omx: fixed type error in printf call
4864 https://bugzilla.gnome.org/show_bug.cgi?id=699008
4866 2013-04-08 17:26:16 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4870 * omx/gstomxvideodec.c:
4871 Check for gstreamer-egl
4872 And don't use if not available.
4873 https://bugzilla.gnome.org/show_bug.cgi?id=697574
4875 2013-04-23 09:53:18 +0100 Tim-Philipp Müller <tim@centricular.net>
4878 configure: error out if no OMX target has been set explicitly with --with-omx-target=x
4879 Avoids people building for e.g. the Raspberry Pi and then wondering
4880 why things don't work as expected (since structs are packed differently
4883 2013-04-22 23:55:03 +0100 Tim-Philipp Müller <tim@centricular.net>
4886 Automatic update of common submodule
4887 From 3cb3d3c to 5edcd85
4889 2013-04-18 22:07:28 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4892 * omx/gstomxaudioenc.c:
4893 * omx/gstomxh263enc.c:
4894 * omx/gstomxh264enc.c:
4895 * omx/gstomxmpeg4videoenc.c:
4896 * omx/gstomxvideodec.c:
4897 * omx/gstomxvideoenc.c:
4898 omx: more printf format fixes
4899 Fix printf formats again, so that gst-omx compiles warning-
4900 free on the Raspberry Pi as well. Unfortunately OMX_UINT32
4901 maybe be typedefed to uint32_t or unsigned long, which
4902 doesn't work well with our debugging printf format strings,
4903 so just use %u for those and cast to guint.
4905 2013-04-18 16:40:06 +0200 Josep Torra <n770galaxy@gmail.com>
4908 omx: fixes unused variable 'comp' when GStreamer is built without debug
4910 2013-04-18 16:03:56 +0200 Josep Torra <n770galaxy@gmail.com>
4912 * omx/gstomxvideodec.c:
4913 omxvideodec: don't use 'self->dec_out_port' anymore and use just 'port'
4914 Fixes some criticals.
4916 2013-04-18 15:21:32 +0200 Josep Torra <n770galaxy@gmail.com>
4918 * omx/gstomxvideodec.c:
4919 omxvideodec: fixes 'port' may be used uninitialized in this function
4921 2013-04-18 12:03:31 +0200 Josep Torra <n770galaxy@gmail.com>
4923 * omx/gstomxvideodec.c:
4924 omxvideodec: silence warnings building for RPI related to 'vcos_*'
4926 2013-04-18 11:19:52 +0200 Josep Torra <n770galaxy@gmail.com>
4928 * omx/gstomxvideodec.c:
4929 omxvideodec: Use new type from libgstvideo
4931 2013-04-16 14:50:49 +0530 jitendra <jvarshney20@gmail.com>
4933 * omx/gstomxaudioenc.c:
4934 * omx/gstomxvideodec.c:
4935 * omx/gstomxvideoenc.c:
4936 omx: Disable output port before transition to idle state
4937 https://bugzilla.gnome.org/show_bug.cgi?id=698109
4939 2012-10-24 12:19:41 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4942 gst: Add better support for static plugins
4944 2013-04-14 17:57:34 +0100 Tim-Philipp Müller <tim@centricular.net>
4947 Automatic update of common submodule
4948 From aed87ae to 3cb3d3c
4950 2013-04-12 17:58:30 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4953 configure: add --disable-fatal-warnings for disabling -Werror
4955 2013-04-09 21:02:09 +0200 Stefan Sauer <ensonic@users.sf.net>
4958 Automatic update of common submodule
4959 From 04c7a1e to aed87ae
4961 2013-04-08 17:02:32 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4964 * omx/gstomxaudioenc.c:
4965 * omx/gstomxh263enc.c:
4966 * omx/gstomxh264enc.c:
4967 * omx/gstomxmpeg4videoenc.c:
4968 * omx/gstomxvideodec.c:
4969 * omx/gstomxvideoenc.c:
4970 omx: fix printf formats in debug messages
4971 OMX_U32 is typedefed to an unsigned long,
4972 OMX_TICKS to a 64-bit integer.
4974 2013-04-08 16:52:19 +0200 Josep Torra <n770galaxy@gmail.com>
4976 * omx/gstomxvideodec.c:
4977 omxvideodec: use the correct printf format in a debug message
4979 2013-04-08 16:31:33 +0200 Josep Torra <n770galaxy@gmail.com>
4981 * omx/gstomxvideodec.c:
4982 omxvideodec: use the correct OMX_IndexParam value
4983 Fixes playback is not smooth in the EGL path.
4985 2013-04-05 13:45:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4987 * omx/gstomxvideodec.c:
4988 omxvideodec: Don't use API that is not in master yet
4989 It's not really needed here yet, will be needed in future versions
4991 2013-02-25 11:55:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4997 * omx/gstomxvideodec.c:
4998 * omx/gstomxvideodec.h:
4999 omxvideodec: Add support for egl_render on RPi
5001 2013-03-22 19:26:54 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5006 2013-03-22 19:23:14 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5008 * omx/gstomxh263enc.c:
5009 * omx/gstomxh264enc.c:
5010 * omx/gstomxmpeg4videoenc.c:
5011 omx: fix compiler warnings when compiling with -DG_DISABLE_ASSERT
5012 As we do for releases. Fixes 'variable may be used uninitialized'
5015 === release 1.0.0 ===
5017 2013-03-22 17:16:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5028 2013-03-19 16:40:09 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5030 * omx/gstomxtheoradec.h:
5031 * omx/gstomxvp8dec.h:
5032 omx: fix typo in copyright headers
5034 2013-03-19 13:46:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5036 * config/rpi/gstomx.conf:
5037 rpi: Fix commit that added the VC1 decoder
5039 2013-03-19 13:27:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5041 * config/rpi/gstomx.conf:
5042 * omx/gstomxh263dec.c:
5043 * omx/gstomxh264dec.c:
5044 * omx/gstomxmjpegdec.c:
5045 * omx/gstomxmpeg2videodec.c:
5046 * omx/gstomxmpeg4videodec.c:
5047 * omx/gstomxtheoradec.c:
5048 * omx/gstomxvideodec.c:
5049 * omx/gstomxvp8dec.c:
5050 * omx/gstomxwmvdec.c:
5051 omx: Add more constraints to the default sink template caps
5053 2013-03-19 13:10:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5055 * config/rpi/gstomx.conf:
5056 rpi: Add VC1/WMV3 decoder
5057 WMV2 and WMV1 (aka WMV 1-8) are not supported by RPi.
5059 2013-03-19 12:59:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5061 * config/rpi/gstomx.conf:
5062 rpi: Add MJPEG decoder
5064 2013-03-19 12:56:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5066 * config/rpi/gstomx.conf:
5067 rpi: Add VP8 decoder
5069 2013-03-19 12:55:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5071 * omx/gstomxvideodec.c:
5072 omxvideodec: Set ENDOFFRAME flag for the end of frames
5074 2013-03-19 12:28:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5076 * config/rpi/gstomx.conf:
5077 rpi: Add Theora decoder to the config
5079 2013-03-19 09:36:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5084 * omx/gstomxtheoradec.c:
5085 * omx/gstomxtheoradec.h:
5086 omx: Add Theora decoder
5088 2013-03-18 16:43:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5091 omx: Remove additional comma
5093 2013-03-18 16:34:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5095 * config/rpi/gstomx.conf:
5098 * omx/gstomxmpeg2dec.h:
5099 * omx/gstomxmpeg2videodec.c:
5100 * omx/gstomxmpeg2videodec.h:
5101 omx: Rename MPEG2 decoder for consistency everywhere
5103 2013-03-18 16:30:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5107 * omx/gstomxmjpegdec.c:
5108 * omx/gstomxmjpegdec.h:
5109 omx: Add MJPEG decoder support
5111 2013-03-18 16:06:54 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5116 * omx/gstomxvp8dec.c:
5117 * omx/gstomxvp8dec.h:
5118 omx: Add VP8 decoder support
5120 2013-03-18 15:44:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5122 * config/rpi/gstomx.conf:
5123 rpi: Add h263 decoder and rename MPEG2 decoder for consistency
5125 2013-03-16 13:20:27 +0000 Tim-Philipp Müller <tim@centricular.net>
5127 * omx/gstomxmpeg2dec.c:
5128 omxmpeg2dec: mpeg-2 decoder should be able to handle mpeg-1 too
5129 https://bugzilla.gnome.org/show_bug.cgi?id=695879
5131 2013-03-16 10:13:06 +0100 Josep Torra <n770galaxy@gmail.com>
5134 omx: minor stylistic change for consistency with other similar code
5136 2013-03-16 10:00:24 +0100 Josep Torra <n770galaxy@gmail.com>
5138 * omx/gstomxaudioenc.c:
5139 * omx/gstomxvideodec.c:
5140 * omx/gstomxvideoenc.c:
5141 omx: Clarify that loop task is also paused in EOS
5143 2013-03-16 09:59:01 +0100 Josep Torra <n770galaxy@gmail.com>
5145 * omx/gstomxvideoenc.c:
5146 omxvideoenec: Don't forget propagate flow return value upstream
5148 2013-03-15 13:16:39 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5151 omx: improve debug logging some more
5153 2013-03-15 14:09:45 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5155 * omx/gstomxvideodec.c:
5156 omxvideodec: Make sure that the first frame we pass to OpenMAX is a sync frame
5158 2013-03-15 11:46:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5160 * omx/gstomxaudioenc.c:
5161 * omx/gstomxvideodec.c:
5162 * omx/gstomxvideoenc.c:
5163 omx: Stop output port task after draining
5165 2013-03-15 10:58:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5168 omx: Reset EOS flag in more places
5170 2013-03-15 10:38:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5172 * omx/gstomxvideodec.c:
5173 omxvideodec: Deallocate output buffers with the right function
5175 2013-03-15 01:06:05 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5179 omx: log commands as strings
5180 Makes logs easier to read.
5182 2013-03-15 00:47:47 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5186 omx: log states as strings
5188 2013-03-15 00:28:02 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5192 omx: log component name in debug messages
5193 Useful when we have more different components
5194 active at the same time.
5196 2013-03-15 09:51:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5198 * omx/gstomxvideodec.c:
5199 omxvideodec: Don't interpolate timestamps
5200 We will get exactly one frame per input buffer and assigning
5201 timestamps between frames if more than one OMX buffer is required
5202 per frame easily confuses timestamp tracking in OMX.
5204 2013-03-15 09:32:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5206 * omx/gstomxvideodec.c:
5207 omxvideodec: Give the codec_data the timestamp of the first frame and no duration
5209 2013-03-14 17:31:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5211 * config/rpi/gstomx.conf:
5212 omx: The MPEG4 encoder is not available on RPi and probably never will
5214 2013-03-14 17:26:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5217 omx: Reset some more buffer fields as required
5219 2013-03-14 17:01:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5221 * config/rpi/gstomx.conf:
5223 omx: The hack to disable usage of EOS buffers is not necessary anymore on RPi
5225 2013-03-14 17:00:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5228 omx: Reset the flags for output ports when releasing a buffer, not for input ports
5230 2013-03-14 15:03:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5232 * omx/gstomxh263enc.c:
5233 * omx/gstomxh264enc.c:
5234 * omx/gstomxmpeg4videoenc.c:
5235 omx: Only unref caps after usage of its fields
5237 2013-03-14 14:51:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5239 * omx/gstomxvideodec.c:
5240 omxvideodec: Simplify bufferpool implementation
5242 2013-03-13 13:23:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5244 * omx/gstomxvideodec.c:
5245 omxvideodec: Improve min/max buffer counts handling
5247 2013-03-14 12:49:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5251 * omx/gstomxaudioenc.c:
5252 * omx/gstomxvideodec.c:
5253 * omx/gstomxvideoenc.c:
5254 omx: Handle the OMX_EventBufferFlag to detect EOS too
5256 2013-03-13 10:29:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5260 omx: Mark OpenMAX buffers as EGLImage if they contain one
5261 Needs special handling in some places, e.g. because nFilledLen
5264 2013-03-13 10:21:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5266 * omx/gstomxvideoenc.c:
5267 omxvideoenc: Properly check the nVersion field
5269 2013-03-13 09:34:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5271 * omx/gstomxvideoenc.c:
5272 omxvideoenc: RPi returns garbage for OMX_IndexParamVideoBitrate, work around that
5274 2013-03-12 20:02:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5276 * omx/gstomxvideodec.c:
5277 omxvideodec: Make sure to always get the right buffer
5279 2013-03-12 19:35:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5281 * omx/gstomxvideodec.c:
5282 omxvideodec: Make sure the buffer is released to the pool if it's not the one we wanted
5284 2013-03-12 19:17:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5286 * omx/gstomxvideodec.c:
5287 omxvideodec: Drop too late frames instead of finishing them
5289 2013-03-12 19:16:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5291 * omx/gstomxvideodec.c:
5292 omx: Release buffers to the correct port
5294 2013-03-13 09:37:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5297 omx: Always load the OpenMAX IL cores with G_MODULE_BIND_LOCAL
5299 2013-03-12 18:20:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5302 omx: Lazy-load symbols of libbcm_host.so
5303 It exports eglIntOpenMAXILDoneMarker(), which is also
5304 exported by libopenmaxil.so... but we need the version
5305 from libopenmaxil.so as the other one is just a stub.
5307 2013-03-11 13:59:15 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5309 * omx/gstomxaacenc.c:
5310 * omx/gstomxh263enc.c:
5311 * omx/gstomxmpeg4videoenc.c:
5312 omx: Don't set profile/level in other encoders if downstream caps don't specify any
5314 2013-03-11 13:49:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5316 * omx/gstomxh264enc.c:
5317 omxh264enc: If caps specify no profile/level use the component's defaults
5319 2013-03-11 13:45:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5321 * omx/gstomxvideoenc.c:
5322 omxvideoenc: Always allocate output buffers from the loop function
5324 2013-03-11 13:12:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5326 * omx/gstomxh264enc.c:
5327 omxh264enc: The h264 encoders are supposed to output byte-stream/au
5329 2013-03-11 11:47:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5331 * omx/gstomxvideoenc.c:
5332 omxvideoenc: Wait until the Executing state is reached before passing buffers to the component
5334 2013-03-11 10:39:25 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5336 * omx/gstomxvideodec.c:
5337 omxvideodec: Don't provide buffers to downstream
5338 This only works reliable if we have a way to tell downstream to
5339 release all our buffers for reconfiguration.
5341 2013-03-11 10:29:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5343 * omx/gstomxaudioenc.c:
5344 omxaudioenc: Disable output port when setting a new format
5346 2013-03-11 10:29:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5348 * omx/gstomxvideoenc.c:
5349 omxvideoenc: Disable output port when setting a new format
5351 2013-03-11 10:22:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5353 * omx/gstomxvideodec.c:
5354 omxvideodec: Disable output port when setting a new format
5355 Based on a patch by Josep Torra <n770galaxy@gmail.com>
5357 2013-03-11 10:04:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5359 * omx/gstomxaudioenc.c:
5360 * omx/gstomxvideodec.c:
5361 * omx/gstomxvideoenc.c:
5362 omx: Catch errors when releasing buffers to a port and handle them
5364 2013-03-10 12:09:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5366 * omx/gstomxvideoenc.c:
5367 omxvideoenc: Use the correct video codec state when filling an input buffer
5369 2013-03-10 12:05:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5371 * omx/gstomxvideoenc.c:
5372 omxvideoenc: Store correct input state
5374 2013-03-10 11:27:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5376 * omx/gstomxvideoenc.c:
5377 omxvideoenc: Allocate output buffers as early as possible
5379 2013-03-10 11:01:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5382 omx: Log unknown events
5384 2013-03-09 14:14:40 +0100 Josep Torra <n770galaxy@gmail.com>
5386 * omx/gstomxaudioenc.c:
5387 * omx/gstomxvideodec.c:
5388 * omx/gstomxvideoenc.c:
5389 omx: Fix deadlock in encoders and add explainatory comments.
5391 2013-03-09 13:27:08 +0100 Josep Torra <n770galaxy@gmail.com>
5393 * omx/gstomxvideodec.c:
5394 omxvideodec: fix printf format identifier
5396 2013-03-09 13:07:59 +0100 Josep Torra <n770galaxy@gmail.com>
5398 * omx/gstomxvideodec.c:
5399 omx: Minor changes on debuging info
5401 2013-03-09 13:00:33 +0100 Josep Torra <n770galaxy@gmail.com>
5403 * omx/gstomxvideodec.c:
5404 omxvideodec: avoid a deadlock
5406 2013-03-08 15:56:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5408 * omx/gstomxvideodec.c:
5409 omxvideodec: Don't forget to populate output port
5411 2013-03-08 15:11:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5413 * omx/gstomxaudioenc.c:
5414 * omx/gstomxvideodec.c:
5415 * omx/gstomxvideoenc.c:
5416 omx: Flush and stop srcpad when configuring new caps
5418 2013-03-07 17:40:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5420 * config/rpi/gstomx.conf:
5422 Revert "omx: use no-component-reconfigure hack on the Raspberry PI"
5423 This reverts commit e123b2089f69a413241f30a2428ea6edd8f231e7.
5424 It's not required anymore after the fix from the last commit.
5426 2013-03-07 17:38:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5428 * omx/gstomxvideodec.c:
5429 omxvideodec: Only negotiate a color format with downstream on the initial caps
5431 2013-03-07 17:29:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5433 * omx/gstomxvideodec.c:
5434 omxvideodec: Make sure the output port is disabled while we allocate buffers
5436 2013-03-07 17:27:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5439 omx: Also wait for disabled output ports to be reconfigured
5441 2013-03-07 14:10:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5443 * omx/gstomxvideodec.c:
5444 * omx/gstomxvideodec.h:
5445 omxvideodec: Add buffer pool for sharing OpenMAX memory with downstream
5447 2013-03-07 11:11:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5451 * omx/gstomxaudioenc.c:
5452 * omx/gstomxvideodec.c:
5453 * omx/gstomxvideoenc.c:
5454 omx: Add timeout to the flush operation and move buffer populating to a separate function
5456 2013-03-06 17:33:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5458 * config/rpi/gstomx.conf:
5461 omx: Remove min buffer count hack for RPi again
5462 It's not necessary anymore
5464 2013-03-06 17:05:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5468 * omx/gstomxaudioenc.c:
5469 * omx/gstomxvideodec.c:
5470 * omx/gstomxvideoenc.c:
5471 omx: Do number of buffers configuration explicitely
5473 2013-03-07 11:24:54 +0100 Josep Torra <n770galaxy@gmail.com>
5475 * omx/gstomxvideodec.c:
5476 omxvideodec: fixes reconfiguration
5477 Avoid having fixed fields from previous caps on reconfiguration.
5479 2013-03-07 11:02:39 +0100 Josep Torra <n770galaxy@gmail.com>
5481 * config/rpi/gstomx.conf:
5483 omx: use no-component-reconfigure hack on the Raspberry PI
5485 2013-03-07 00:03:28 +0000 Tim-Philipp Müller <tim@centricular.net>
5488 Automatic update of common submodule
5489 From 2de221c to 04c7a1e
5491 2013-03-01 15:32:47 +0100 Josep Torra <n770galaxy@gmail.com>
5493 * omx/gstomxvideoenc.h:
5494 omxvideoenc: drop unused data member
5496 2013-03-01 12:23:54 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5498 * omx/gstomxh263enc.c:
5499 * omx/gstomxh264enc.c:
5500 * omx/gstomxmpeg4videoenc.c:
5501 omxvideoenc: And set it actually on the right port
5503 2013-03-01 12:18:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5505 * omx/gstomxh263enc.c:
5506 * omx/gstomxh264enc.c:
5507 * omx/gstomxmpeg4videoenc.c:
5508 omxvideoenc: Set the coding type in the subclasses to the specific codec
5510 2013-03-01 11:49:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5512 * omx/gstomxvideoenc.c:
5513 omxvideoenc: gst_omx_port_update_port_definition() returns a OMX_ERRORTYPE, not a gboolean
5515 2013-03-01 11:44:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5517 * omx/gstomxvideodec.c:
5518 * omx/gstomxvideoenc.c:
5519 omxvideo{dec,enc}: Don't use the input state if it wasn't set yet
5521 2013-03-01 11:25:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5523 * omx/gstomxaudioenc.c:
5524 omxaudioenc: Only enable the output port after we know the output format
5526 2013-03-01 11:24:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5528 * omx/gstomxvideoenc.c:
5529 omxvideoenc: Only enable the output port after we know the output format
5531 2013-02-28 17:02:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5533 * omx/gstomxvideodec.c:
5534 omxvideodec: Only enable the output port after we know the output format
5536 2013-03-01 11:18:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5540 omx: Handle errors more gracefully
5542 2013-02-28 15:48:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5546 * omx/gstomxaudioenc.c:
5547 * omx/gstomxh263dec.c:
5548 * omx/gstomxh264dec.c:
5549 * omx/gstomxmpeg2dec.c:
5550 * omx/gstomxmpeg4videodec.c:
5551 * omx/gstomxvideodec.c:
5552 * omx/gstomxwmvdec.c:
5553 omx: Return the OMX_ERRORTYPE from gst_omx_port_update_port_definition
5555 2013-02-28 15:37:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5558 omx: Return port definition update errors
5560 2013-02-28 13:57:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5562 * config/rpi/gstomx.conf:
5565 omx: Add hack for RPi for the minimum number of buffers required for a port
5566 The value in the port definition is invalid and the initial actual
5567 buffer count should be used.
5569 2013-02-28 13:26:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5572 omx: Always tell the component about the right number of buffers that we're going to allocate
5574 2013-02-28 13:07:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5577 omx: Invert assertion to let it express what was intended
5579 2013-02-28 11:19:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5583 * omx/gstomxaudioenc.c:
5584 * omx/gstomxvideodec.c:
5585 * omx/gstomxvideoenc.c:
5586 omx: Add API for allocating a specific number of buffers and using EGLImages or buffers allocated elsewhere
5588 2013-02-27 16:55:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5590 * omx/gstomxaudioenc.c:
5591 * omx/gstomxvideodec.c:
5592 * omx/gstomxvideoenc.c:
5593 omx: Refactor code flow a bit if output port settings have changed
5595 2013-02-27 15:49:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5599 * omx/gstomxaudioenc.c:
5600 * omx/gstomxvideodec.c:
5601 * omx/gstomxvideoenc.c:
5602 omx: Clean up port settings change handling
5604 2013-02-27 11:30:14 +0100 Josep Torra <n770galaxy@gmail.com>
5606 * omx/gstomxvideodec.c:
5607 omxvideodec: initialize param structure before using it
5609 2013-02-27 10:21:39 +0100 Josep Torra <n770galaxy@gmail.com>
5611 * omx/gstomxvideoenc.c:
5612 omxvideoenc: prevent a NULL pointer access
5614 2013-02-26 17:25:49 +0100 Josep Torra <n770galaxy@gmail.com>
5616 * omx/gstomxvideodec.c:
5617 omxvideodec: prevent a NULL pointer access
5619 2013-02-25 13:11:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5622 omx: Fix deadlock during reconfiguration
5624 2013-02-25 12:38:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5627 * omx/gstomxaudioenc.c:
5628 * omx/gstomxvideodec.c:
5629 * omx/gstomxvideoenc.c:
5630 omx: Auto-detect the port indizes if possible
5632 2013-02-25 11:42:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5634 * omx/gstomxvideodec.c:
5635 * omx/gstomxvideoenc.c:
5636 omx: Refactor querying of component supported caps into its own function
5638 2013-02-25 10:41:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5642 * omx/gstomxaudioenc.c:
5643 * omx/gstomxvideodec.c:
5644 * omx/gstomxvideoenc.c:
5645 omx: Refactor waiting for buffers to be released by the component to a separate function
5647 2013-01-11 17:44:13 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5651 omx: Add methods to set up and close a tunnel between components
5653 2013-02-25 09:15:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5655 * omx/gstomxaacenc.c:
5656 * omx/gstomxaudioenc.c:
5657 * omx/gstomxaudioenc.h:
5658 omxaudioenc: Rename component variable
5660 2013-02-25 09:15:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5662 * omx/gstomxh263enc.c:
5663 * omx/gstomxh264enc.c:
5664 * omx/gstomxmpeg4videoenc.c:
5665 * omx/gstomxvideoenc.c:
5666 * omx/gstomxvideoenc.h:
5667 omxvideoenc: Rename component variable
5669 2013-02-25 09:12:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5671 * omx/gstomxvideodec.c:
5672 * omx/gstomxvideodec.h:
5673 omxvideodec: Rename component variable
5675 2013-02-22 16:27:33 +0100 Josep Torra <n770galaxy@gmail.com>
5677 * omx/gstomxvideoenc.c:
5678 omxvideoenc: remove duplicated line
5680 2013-02-22 10:42:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5683 Retry loading libbcm_host.so without an absolute path if that failed
5685 2013-02-21 20:32:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5687 * config/bellagio/Makefile.am:
5688 Add missing file from last commit
5690 2013-02-21 11:01:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5692 * config/Makefile.am:
5693 * config/bellagio/gstomx.conf:
5696 Add OpenMAX IL target for Bellagio
5697 Not tested since a very long time though.
5699 2013-02-21 10:59:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5703 Allow using external OpenMAX IL headers
5705 2013-02-21 10:14:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5710 2013-02-21 10:13:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5712 * config/Makefile.am:
5713 * config/rpi/Makefile.am:
5714 * config/rpi/gstomx.conf:
5716 Install the RPI config when the RPI target is selected
5718 2013-02-21 10:08:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5721 Set default hacks for the RPI target and always initialize bcm_host
5723 2013-02-21 10:05:37 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5726 Add configure parameter for setting the OpenMAX IL target
5728 2013-02-12 11:55:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5731 omx: Add FIXME for the future
5733 2013-02-12 11:49:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5737 * omx/gstomxaudioenc.c:
5738 * omx/gstomxaudioenc.h:
5739 * omx/gstomxvideodec.c:
5740 * omx/gstomxvideodec.h:
5741 * omx/gstomxvideoenc.c:
5742 * omx/gstomxvideoenc.h:
5743 omx: Some minor refactoring and cleanup
5745 2013-02-12 11:45:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5748 omx: Don't access the port's buffers array if it wasn't allocated yet
5750 2013-02-12 11:44:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5753 omx: Mark an array as const
5755 2013-02-12 11:41:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5759 * omx/gstomxaudioenc.c:
5760 * omx/gstomxvideodec.c:
5761 * omx/gstomxvideoenc.c:
5762 omx: Split enabling/disabling of port into sending the command and waiting for it
5763 This allows to do anything necessary after sending the command to actually let it finish
5765 2013-02-12 11:37:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5768 omx: Flushing is also allowed in Paused state
5770 2013-02-12 11:28:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5772 * omx/gstomxvideoenc.c:
5773 omxvideoenc: Set stride, slice height and buffer size
5775 2013-02-12 11:09:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5777 * config/raspberry-pi.conf:
5778 config: Add h264 and mpeg2 encoders to the raspberry pi config
5779 Not completely working yet though.
5781 2013-02-12 11:03:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5783 * omx/gstomxvideoenc.c:
5784 omxvideoenc: Properly negotiate OMX color format with the component
5786 2013-02-12 10:53:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5788 * omx/gstomxvideoenc.c:
5789 omxvideoenc: Implement getcaps() vfunc
5791 2013-01-29 21:32:53 +0000 Tim-Philipp Müller <tim@centricular.net>
5794 configure: use 1.0 gstconfig.h to detect disabled subsystems
5795 Update unused configure check for GStreamer core subsystem
5796 features from 0.10 to 1.0.
5798 2013-01-28 20:44:41 +0100 Stefan Sauer <ensonic@users.sf.net>
5801 Automatic update of common submodule
5802 From a942293 to 2de221c
5804 2013-01-24 14:02:36 +0100 Julian Scheel <julian@jusst.de>
5806 * config/raspberry-pi.conf:
5809 * omx/gstomxmpeg2dec.c:
5810 * omx/gstomxmpeg2dec.h:
5811 omx: add mpeg2 video decoder
5812 This adds a decoder class for mpeg2, as well as an extended
5813 configuration for raspberry pi.
5814 https://bugzilla.gnome.org/show_bug.cgi?id=692446
5815 Signed-off-by: Julian Scheel <julian@jusst.de>
5817 2013-01-18 16:47:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5820 omx: Minimize the time when the messages lock is held
5821 Fixes a deadlock if any OMX functions are called when the
5822 messages are handled.
5823 Thanks to Nicolas Dufresne for noticing.
5825 2013-01-18 15:28:20 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5828 omx: improve debug message when we can't find the config file
5829 Mention where we looked for the config file.
5831 2013-01-18 12:34:38 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5834 build: fix autogen.sh with automake 1.13
5835 AM_CONFIG_HEADER -> AC_CONFIG_HEADERS
5837 2013-01-17 18:07:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5840 * omx/gstomxaudioenc.h:
5841 * omx/gstomxvideodec.h:
5842 * omx/gstomxvideoenc.h:
5843 omx: Fix includes to properly work with the 1.0 releases
5845 2013-01-15 15:08:28 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5848 Automatic update of common submodule
5849 From a72faea to a942293
5851 2013-01-15 14:34:45 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5854 omx: Update port definition when changing some port setting
5856 2013-01-14 11:41:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5860 omx: Rename from libgstopenmax.so to ligstomx.so for consistency
5862 2013-01-11 15:32:22 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
5865 omx: Add a method to send message
5867 2013-01-11 15:44:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5871 omx: Atomic ops are not required anymore for the reconfiguration
5873 2013-01-11 12:52:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5875 * omx/gstomxaudioenc.c:
5876 * omx/gstomxvideodec.c:
5877 * omx/gstomxvideoenc.c:
5878 omx: Fix some memory leaks and suboptimal locking
5880 2013-01-11 12:34:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5882 * omx/gstomxvideoenc.c:
5883 omxvideoenc: Don't forget to unmap frame in error cases
5885 2013-01-11 12:29:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5887 * omx/gstomxvideoenc.c:
5888 omxvideoenc: Fix copying of the video frames to the OMX buffers
5890 2013-01-11 12:24:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5892 * omx/gstomxvideodec.c:
5893 omxvideodec: Fix copying of the video frames from the OMX buffers
5895 2013-01-10 14:44:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5900 * omx/gstomxaudioenc.c:
5901 * omx/gstomxrecmutex.c:
5902 * omx/gstomxrecmutex.h:
5903 omx: Implement new approach for locking that should solve all deadlocks on RPi
5904 No mutex is locked while calling any OpenMAX functions anymore
5905 and everything from the OpenMAX callbacks is inserted into a message
5906 queue and handled from outside the callbacks.
5907 Also there's only a single mutex and condition variable per component
5908 now for handling anything from OpenMAX callbacks and a single mutex
5909 for keeping our component/port state sane.
5911 2012-12-20 19:30:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5913 * omx/gstomxvideodec.c:
5914 omxvideodec: Set the OMX buffer nFilledLength field properly
5916 2012-12-20 18:48:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5918 * omx/gstomxrecmutex.c:
5919 * omx/gstomxrecmutex.h:
5920 omxrecmutex: Fix another race condition when two threads are trying to lock for recursion at the same time
5922 2012-12-20 18:16:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5924 * omx/gstomxrecmutex.c:
5925 * omx/gstomxrecmutex.h:
5926 omxrecmutex: Fix yet another race condition that resulted in deadlocks
5928 2012-12-20 17:46:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5931 * omx/gstomxrecmutex.c:
5932 * omx/gstomxrecmutex.h:
5933 omx: Fix another race condition in the recursive mutex
5934 Between lock() and begin_recursion() it was possible for another thread to
5935 try to do a recursive_lock(). This would block because the mutex was already
5936 locked(), but not ready for recursive locking yet. unlock() would never
5937 happen in the original thread because it was waiting for the other thread
5939 Happened on the Raspberry Pi.
5941 2012-12-20 14:45:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5943 * omx/gstomxrecmutex.c:
5944 * omx/gstomxrecmutex.h:
5945 omxrecmutex: Fix a small race condition when unlocking a non-recursive lock
5947 2012-12-20 12:30:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5949 * omx/gstomxaudioenc.c:
5950 * omx/gstomxvideodec.c:
5951 * omx/gstomxvideoenc.c:
5952 omx: Fix ununsed variable compiler warning
5954 2012-12-20 12:27:47 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5956 * omx/gstomxaudioenc.c:
5957 * omx/gstomxvideodec.c:
5958 * omx/gstomxvideoenc.c:
5959 omx: No need to start the srcpad task in ::start() already
5960 It will be started properly after the caps are set.
5962 2012-12-20 12:23:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5964 * omx/gstomxvideodec.c:
5965 omxvideodec: OMX_ErrorNoMore is no error and just means we ended iteration
5967 2012-12-20 12:20:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5969 * omx/gstomxaudioenc.c:
5970 * omx/gstomxvideodec.c:
5971 * omx/gstomxvideoenc.c:
5972 omx: Improve debug output
5974 2012-12-20 12:02:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5976 * omx/gstomxvideodec.c:
5977 omxvideodec: Don't forget to free a GList
5979 2012-12-20 11:56:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5981 * omx/gstomxvideodec.c:
5982 omxvideodec: Map OMX_COLOR_FormatYUV420PackedPlanar to I420 too
5983 This is used on the Raspberry Pi.
5985 2012-12-20 11:55:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5987 * omx/gstomxvideodec.c:
5988 omxvideodec: During negotiation of the output format make sure we use the correct OpenMAX format
5990 2012-12-20 11:42:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5992 * omx/gstomxvideodec.c:
5993 omxvideodec: If negotiation fails this could also mean that the component can't do it at this point yet
5995 2012-12-20 11:40:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5997 * omx/gstomxvideodec.c:
5998 omxvideodec: Improve format negotiation a bit
5999 Don't leak caps and make sure to fixate caps.
6001 2012-12-19 13:05:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6004 omx: Also initialize nStep field of the OMX structures
6006 2012-12-19 13:03:37 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6009 omx: Initialize struct version with the OMX version we compiled with
6011 2012-12-19 12:44:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6013 * omx/gstomxvideodec.c:
6014 omxvideodec: Extract data from the input buffer, not the codec data
6016 2012-12-19 12:19:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6019 * tools/listcomponents.c:
6020 omx: Use has_suffix() instead of has_prefix() for the Broadcom hack
6022 2012-12-19 12:08:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6026 * tools/Makefile.am:
6027 * tools/listcomponents.c:
6028 tools: Add tool to list all components and their roles
6030 2012-12-19 11:31:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6033 omx: Add hack to load and initialize libbcm_host.so
6034 Needed on the Raspberry Pi. Patch based on a patch by
6035 George Kiagiadakis <george.kiagiadakis@collabora.com>
6037 2012-12-19 11:22:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6041 configure: Add configure option to pack OpenMAX structures
6042 This is required to set to 4 for the Raspberry Pi for example.
6044 2012-12-19 11:07:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6047 configure: Require GStreamer 1.0.0
6049 2012-04-20 17:13:52 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
6052 omx: Initialize structures to version 1.1.2
6054 2012-12-19 09:51:22 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6057 * config/Makefile.am:
6058 * config/raspberry-pi.conf:
6060 config: Add raspberry-pi configuration in a different directory
6062 2012-05-20 20:11:59 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
6064 * omx/gstomx-raspberry.conf:
6065 raspberry: Add a gstomx.conf for the Raspberry Pi
6067 2012-12-12 17:45:39 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6070 * omx/gstomxvideoenc.h:
6071 omx: Fix some compilation errors caused by circular includes
6073 2012-11-19 11:29:44 +0000 Tim-Philipp Müller <tim@centricular.net>
6076 Automatic update of common submodule
6077 From 6bb6951 to a72faea
6079 2012-11-12 15:14:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6081 * omx/gstomxvideodec.c:
6082 * omx/gstomxvideoenc.c:
6083 omx: Fix refcount problem with frames being dropped because of decoder bugs
6085 2012-11-12 11:29:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6089 * omx/gstomxaudioenc.c:
6090 * omx/gstomxaudioenc.h:
6091 * omx/gstomxrecmutex.c:
6092 * omx/gstomxrecmutex.h:
6093 * omx/gstomxvideodec.c:
6094 * omx/gstomxvideodec.h:
6095 * omx/gstomxvideoenc.c:
6096 * omx/gstomxvideoenc.h:
6097 omx: Update to new GLib thread API
6099 2012-10-22 14:34:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6101 * omx/gstomxvideodec.c:
6102 * omx/gstomxvideoenc.c:
6103 omx: Use open/close vfuncs
6105 2012-10-22 14:28:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6107 * omx/gstomxvideodec.c:
6108 * omx/gstomxvideoenc.c:
6109 omx: Handle video meta correctly
6111 2012-06-20 13:11:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6114 * omx/gstbasevideocodec.c:
6115 * omx/gstbasevideocodec.h:
6116 * omx/gstbasevideodecoder.c:
6117 * omx/gstbasevideodecoder.h:
6118 * omx/gstbasevideoencoder.c:
6119 * omx/gstbasevideoencoder.h:
6120 * omx/gstbasevideoutils.c:
6121 * omx/gstbasevideoutils.h:
6122 * omx/gstomxh263dec.c:
6123 * omx/gstomxh263enc.c:
6124 * omx/gstomxh264dec.c:
6125 * omx/gstomxh264enc.c:
6126 * omx/gstomxmpeg4videodec.c:
6127 * omx/gstomxmpeg4videoenc.c:
6128 * omx/gstomxvideodec.c:
6129 * omx/gstomxvideodec.h:
6130 * omx/gstomxvideoenc.c:
6131 * omx/gstomxvideoenc.h:
6132 * omx/gstomxwmvdec.c:
6133 omx: Port to video base classes from -base
6135 2012-10-17 17:57:43 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
6137 * omx/gstomxaacenc.c:
6138 * omx/gstomxh263dec.c:
6139 * omx/gstomxh263enc.c:
6140 * omx/gstomxh264dec.c:
6141 * omx/gstomxh264enc.c:
6142 * omx/gstomxmpeg4videodec.c:
6143 * omx/gstomxmpeg4videoenc.c:
6144 * omx/gstomxwmvdec.c:
6145 omx: gst_element_class_set_details_simple() -> set_static_metadata()
6147 2012-10-06 15:01:11 +0100 Tim-Philipp Müller <tim@centricular.net>
6150 Automatic update of common submodule
6151 From 6c0b52c to 6bb6951
6153 2012-09-22 16:10:38 +0100 Tim-Philipp Müller <tim@centricular.net>
6156 Automatic update of common submodule
6157 From 4f962f7 to 6c0b52c
6159 2012-06-21 20:22:13 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
6162 omx: fix debug statement
6164 2012-06-21 20:21:03 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
6167 omx: use recursive_lock inside set_last_error(), since this function may be called from an event handler
6169 2012-08-22 13:31:59 +0200 Stefan Sauer <ensonic@users.sf.net>
6172 Automatic update of common submodule
6173 From 668acee to 4f962f7
6175 2012-08-05 16:42:43 +0100 Tim-Philipp Müller <tim@centricular.net>
6178 Automatic update of common submodule
6179 From 94ccf4c to 668acee
6181 2012-08-03 19:32:13 +0100 Tim-Philipp Müller <tim@centricular.net>
6184 omx: fix plugin name for new GST_PLUGIN_DEFINE API
6186 2012-07-23 08:47:32 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6189 Automatic update of common submodule
6190 From 98e386f to 94ccf4c
6192 2012-07-10 09:57:09 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6194 * omx/gstbasevideodecoder.c:
6195 omx: Update for allocation query API changes
6197 2012-06-20 11:09:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6199 * omx/gstomxaudioenc.c:
6200 * omx/gstomxvideodec.c:
6201 * omx/gstomxvideoenc.c:
6202 omx: Fix compilation after gst_pad_start_task() API changes
6204 2012-06-08 15:06:35 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
6207 Automatic update of common submodule
6208 From 03a0e57 to 98e386f
6210 2012-06-06 18:20:18 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
6213 Automatic update of common submodule
6214 From 1fab359 to 03a0e57
6216 2012-06-01 10:30:27 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
6219 Automatic update of common submodule
6220 From f1b5a96 to 1fab359
6222 2012-05-31 13:10:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6225 Automatic update of common submodule
6226 From 92b7266 to f1b5a96
6228 2012-05-30 12:47:59 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6231 Automatic update of common submodule
6232 From ec1c4a8 to 92b7266
6234 2012-05-30 11:26:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6237 Automatic update of common submodule
6238 From 3429ba6 to ec1c4a8
6240 2012-05-13 15:58:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6243 Automatic update of common submodule
6244 From dc70203 to 3429ba6
6246 2012-05-08 16:13:32 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
6249 omx: Fix spelling mistake found by lintian: s/Seperate/Separate/
6251 2012-04-30 23:58:43 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
6256 * omx/gstomxaudioenc.c:
6257 * omx/gstomxrecmutex.c:
6258 * omx/gstomxrecmutex.h:
6259 * omx/gstomxvideodec.c:
6260 * omx/gstomxvideoenc.c:
6261 Implement a new custom recursive mutex type and fix locking in callbacks so that in-context calls are allowed.
6262 According to the OMX specification, implementations are allowed to call
6263 callbacks in the context of their function calls. However, our callbacks
6264 take locks and this causes deadlocks if the unerlying OMX implementation
6265 uses this kind of in-context calls.
6266 A solution to the problem would be a recursive mutex. However, a normal
6267 recursive mutex does not fix the problem because it is not guaranteed
6268 that the callbacks are called from the same thread. What we see in Broadcom's
6269 implementation for example is:
6271 - OMX_Foo waits on a condition
6272 - A callback is executed in a different thread
6273 - When the callback returns, its calling function
6274 signals the condition that OMX_Foo waits on
6275 - OMX_Foo wakes up and returns
6276 The solution I came up with here is to take a second lock inside the callback,
6277 but only if recursion is expected to happen. Therefore, all calls to OMX
6278 functions are guarded by calls to gst_omx_rec_mutex_begin_recursion() / _end_recursion(),
6279 which effectively tells the mutex that at this point we want to allow calls
6280 to _recursive_lock() to succeed, although we are still holding the master lock.
6282 2012-04-20 14:51:34 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
6286 omx: Add hack to disable setting roles to components.
6290 2012-04-30 23:20:24 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
6293 * omx/gstomxvideodec.c:
6294 omxvideodec: Implement no-empty-eos-buffer hack, as in omxvideoenc.
6296 omx/gstomxvideodec.c
6298 2012-04-30 23:19:55 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
6300 * omx/gstomxvideodec.c:
6301 omxvideodec: Fix coding style in the drain-may-not-return hack code
6303 2012-04-25 19:03:48 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
6306 omx: Fix trivial debug print bug
6308 2012-04-25 19:01:32 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
6312 * omx/gstomxvideodec.c:
6313 omxvideodec: Add hack for Ducati components not returning from drain
6314 This happens on the Galaxy Nexus, and causes the pipeline to hang waiting
6315 endlessly for a drain. The hack replaces the wait with a wait + 500ms timeout.
6317 2012-04-25 16:35:40 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
6320 omx: Fix deadlock between ending a flush and the event handler
6321 gst_omx_port_set_flushing() calls OMX_FillThisBuffer at the end of a flush
6322 without releasing the port lock, and this can cause a deadlock with the
6323 EventHandler. This patches fixes this by dropping the lock for the duration of
6324 the fill buffer call.
6326 2012-04-24 15:41:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6328 * omx/gstbasevideodecoder.c:
6329 * omx/gstbasevideoencoder.c:
6330 omx: Update video encoder/decoder base classes from gst-plugins-bad
6332 2012-04-16 09:16:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6335 configure: Modernize autotools setup a bit
6336 Also we now only create tar.bz2 and tar.xz tarballs.
6338 2012-04-16 09:12:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6341 Automatic update of common submodule
6343 2012-04-16 08:34:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6345 * omx/gstomxaudioenc.c:
6346 omxaudioenc: Use gst_buffer_extract() to copy the input buffer data to the OpenMAX buffer
6348 2012-04-13 17:16:42 -0400 Alessandro Decina <alessandro.decina@collabora.com>
6351 Fix relative/absolute path glitch
6352 Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
6354 2012-04-12 15:57:32 -0400 Olivier Crête <olivier.crete@collabora.com>
6359 * omx/gstbasevideocodec.c:
6360 * omx/gstbasevideocodec.h:
6361 * omx/gstbasevideodecoder.c:
6362 * omx/gstbasevideodecoder.h:
6363 * omx/gstbasevideoencoder.c:
6364 * omx/gstbasevideoencoder.h:
6367 * omx/gstomxaacenc.c:
6368 * omx/gstomxaudioenc.c:
6369 * omx/gstomxaudioenc.h:
6370 * omx/gstomxh263dec.c:
6371 * omx/gstomxh263enc.c:
6372 * omx/gstomxh264dec.c:
6373 * omx/gstomxh264enc.c:
6374 * omx/gstomxmpeg4videodec.c:
6375 * omx/gstomxmpeg4videoenc.c:
6376 * omx/gstomxvideodec.c:
6377 * omx/gstomxvideodec.h:
6378 * omx/gstomxvideoenc.c:
6379 * omx/gstomxvideoenc.h:
6380 * omx/gstomxwmvdec.c:
6383 2012-01-18 16:53:16 -0300 Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
6387 Enable building with Android's buildsystem
6388 This change adds prelimary buildsystem hooks to
6389 build gst-omx with the Android buildsystem. Like
6390 the rest of GStreamer's Android hooks, the process
6391 relies on the availability of androgenizer. A tool
6392 developed by Collabora to automatically generate
6393 Android.mk files from within the auto* setup.
6394 Androgenizer is currently available at:
6395 http://cgit.collabora.com/git/user/derek/androgenizer.git/
6397 2011-12-13 10:17:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6399 * omx/gstbasevideocodec.c:
6400 basevideocodec: Don't use G_TYPE_REGISTER_BOXED() yet
6401 This would require GLib 2.26.
6403 2011-12-14 10:09:34 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
6405 * omx/gstomxaudioenc.c:
6406 omxaudioenc: Add hack for encoder components that don't allow empty EOS buffers
6408 2011-12-14 10:07:29 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
6410 * omx/gstomxvideoenc.c:
6411 omxvideoenc: Fix deadlock when using the EOS hack
6413 2011-12-12 14:26:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6415 * omx/gstomxvideoenc.c:
6416 omxvideoenc: Remove workaround for basevideocodec bug
6418 2011-12-12 14:26:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6420 * omx/gstomxvideodec.c:
6421 omxvideodec: Remove workaround for basevideocodec bug
6423 2011-12-05 17:57:01 +0000 Matej Knopp <matej.knopp@gmail.com>
6425 * omx/gstbasevideocodec.c:
6426 * omx/gstbasevideocodec.h:
6427 * omx/gstbasevideodecoder.c:
6428 * omx/gstbasevideoencoder.c:
6429 basevideo: Make GstVideoFrame a reference counted boxed object
6430 ...and also clear all existing frames when resetting the decoder or encoder.
6432 2011-12-09 12:17:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6436 * omx/gstomxvideoenc.c:
6437 omx: Add hack for encoder components that don't allow empty EOS buffers
6439 2011-12-09 10:21:47 +0100 Dake Gu <Dake.Gu@palm.com>
6441 * omx/gstomxaacenc.c:
6442 omxaacenc: Generate and set codec_data on the caps for raw AAC
6444 2011-10-31 11:36:06 +0100 Alessandro Decina <alessandro.decina@collabora.co.uk>
6446 * omx/gstbasevideoencoder.c:
6447 basevideoencoder: handle failures in start() and stop()
6449 2011-08-26 10:50:38 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
6451 * omx/gstbasevideoencoder.c:
6452 basevideoenc: do not try to calculate latency from an unknown framerate
6453 It'll divide by zero, and latency is unknown for an unknown framerate.
6454 Fixes an assert in the schroenc test.
6455 https://bugzilla.gnome.org/show_bug.cgi?id=657419
6457 2011-12-08 11:50:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6459 * omx/gstbasevideoencoder.c:
6460 basevideoencoder: Only make the header buffer metadata writable, not the buffer
6462 2011-12-08 10:18:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6464 * omx/gstbasevideoencoder.c:
6465 basevideoencoder: Fix handling of force-keyunit events
6467 2011-12-06 13:28:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6469 * omx/gstomxaudioenc.c:
6470 omxaudioenc: Don't forward EOS events immediately but let all other events be handled by the base class
6471 Previously this logic was inversed, which did not make any sense at all.
6473 2011-12-06 12:47:25 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6475 * omx/gstomxaudioenc.c:
6476 * omx/gstomxaudioenc.h:
6477 omxaudioenc: Use correct timestamp, duration and filled length for the EOS buffers
6479 2011-12-06 12:47:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6481 * omx/gstomxvideodec.c:
6482 * omx/gstomxvideodec.h:
6483 omxvideodec: Use correct timestamp, duration and filled length for the EOS buffers
6485 2011-12-06 12:46:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6487 * omx/gstomxvideoenc.c:
6488 * omx/gstomxvideoenc.h:
6489 omxvideoenc: Use correct timestamp, duration and filled length for the EOS buffers
6491 2011-12-05 13:18:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6494 omx: Improve debugging of buffer handling
6496 2011-12-05 08:12:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6498 * omx/gstomxvideoenc.c:
6499 omxvideoenc: Drop EOS events in ::finish()
6500 The event will be forwarded downstream from the srcpad
6501 loop function after the last buffer was generated by the
6502 component. Forwarding it after ::finish() will use the
6503 sinkpad streaming thread and does not guarantee that
6504 the encoder is completely drained.
6506 2011-12-01 16:20:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6508 * omx/gstomxvideodec.c:
6509 omxvideodec: Properly drop frames due to QoS
6510 Instead of finishing them they should be passed to drop(), which
6511 will then send QoS messages.
6513 2011-11-29 12:21:32 +0100 Jonas Larsson <jonas@hallerud.se>
6515 * omx/gstomxh264enc.c:
6516 omxh264enc: Add support for resending headers after a forced-keyframe
6518 2011-11-29 12:12:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6520 * omx/gstbasevideocodec.h:
6521 * omx/gstbasevideoencoder.c:
6522 basevideoencoder: Pass the all-headers field of the force-key-unit event to the subclass
6524 2011-11-29 12:12:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6526 * omx/gstbasevideoencoder.c:
6527 * omx/gstbasevideoencoder.h:
6528 basevideoencoder: Implement full support for the new force-key-unit event
6529 Including support for the running-time and count fields.
6531 2011-11-29 09:31:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6533 * omx/gstbasevideoencoder.c:
6534 basevideoencoder: Use new force-keyunit event API from gst-plugins-base
6536 2011-11-29 09:18:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6538 * omx/gstbasevideoencoder.c:
6539 * omx/gstbasevideoencoder.h:
6540 basevideoencoder: Adjusting padding is not required for -bad libraries
6542 2011-11-28 19:48:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6544 * omx/gstbasevideoencoder.h:
6545 basevideoencoder: Move some fields to the private part of the instance struct
6547 2011-11-28 19:36:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6549 * omx/gstbasevideoencoder.c:
6550 basevideoencoder: Make headers metadata writable before pushing downstream
6551 The timestamp, duration, etc of the headers has to be changed.
6553 2011-11-28 19:35:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6555 * omx/gstbasevideoencoder.c:
6556 * omx/gstbasevideoencoder.h:
6557 basevideoencoder: Push the downstream force-keyframe event after the next keyframe
6558 Even if the corresponding GstVideoFrame doesn't have the is_sync_point
6561 2011-11-28 19:29:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6563 * omx/gstbasevideoencoder.c:
6564 * omx/gstbasevideoencoder.h:
6565 basevideoencoder: Don't push an upstream force-keyunit event downstream
6567 2011-11-25 11:48:08 +0100 Jonas Larsson <jonas@hallerud.se>
6569 * omx/gstbasevideoencoder.c:
6570 * omx/gstbasevideoencoder.h:
6571 basevideoencoder: Add initial support for the all-headers field of the force-keyframe event
6574 2011-11-25 11:37:39 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
6576 * omx/gstbasevideodecoder.c:
6577 basevideodecoder: some more debug logging
6579 2011-11-23 20:03:32 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
6581 * omx/gstbasevideodecoder.c:
6582 * omx/gstbasevideodecoder.h:
6583 basevideodecoder: add API to drop a frame and post a QoS message on the bus
6584 https://bugzilla.gnome.org/show_bug.cgi?id=640017
6585 API: gst_base_video_decoder_drop_frame()
6587 2011-11-22 23:04:49 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
6589 * omx/gstbasevideodecoder.c:
6590 docs: fix comment in gst_base_video_decoder_get_max_decode_time() docs
6592 2011-11-22 19:57:07 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
6594 * omx/gstbasevideodecoder.c:
6595 basevideodecoder: fix weird event list handling
6596 Get rid of weird code that copies a list manually, taking
6597 ownership of the elements and then frees the old list. Instead,
6598 just take over the old list entirely. (If the intent was to
6599 reverse the list, one could use g_list_reverse() instead).
6600 Then, push events in the list out from last to first (since they
6601 were prepended as they came in) instead of just pushing out the
6602 last in the list and leaking the others.
6604 2011-11-25 11:31:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6608 * omx/gstbaseaudiodecoder.c:
6609 * omx/gstbaseaudiodecoder.h:
6610 * omx/gstbaseaudioencoder.c:
6611 * omx/gstbaseaudioencoder.h:
6612 * omx/gstbaseaudioutils.c:
6613 * omx/gstbaseaudioutils.h:
6614 * omx/gstomxaacenc.c:
6615 * omx/gstomxaudioenc.c:
6616 * omx/gstomxaudioenc.h:
6617 omxaudioenc: Use audio base classes from gst-plugins-base instead of having our own copies
6619 2011-11-18 10:00:31 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6621 * omx/gstomxaudioenc.c:
6622 omxaudioenc: First set ports to flushing before waiting for the srcpad streaming thread to finish
6624 2011-11-18 09:59:43 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6626 * omx/gstomxvideoenc.c:
6627 omxvideoenc: First set ports to flushing before waiting for the srcpad streaming thread to finish
6629 2011-11-18 09:58:58 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6631 * omx/gstomxvideodec.c:
6632 omxvideodec: First set ports to flushing before waiting for the srcpad streaming thread to finish
6634 2011-11-17 14:38:54 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6637 omx: Only disabling of a port is like flushing, enabling is like unflushing
6639 2011-11-17 13:33:35 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6642 omx: Enabling/disabling a port is also like flushing
6643 The component returns all buffers to us and shouldn't get any
6644 new buffers passed anymore.
6646 2011-11-17 11:26:33 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6648 * omx/gstomxaudioenc.c:
6649 omxaudioenc: Signal the drain GCond even if downstream returned an error
6651 2011-11-17 11:26:20 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6653 * omx/gstomxvideoenc.c:
6654 omxvideoenc: Signal the drain GCond even if downstream returned an error
6656 2011-11-17 11:25:52 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6658 * omx/gstomxvideodec.c:
6659 omxvideodec: Signal the drain GCond even if downstream returned an error
6661 2011-11-17 10:34:19 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6663 * omx/gstbasevideoencoder.c:
6664 basevideoencoder: Only call ::reset once in READY->PAUSED
6666 2011-11-17 10:19:35 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6668 * omx/gstomxaudioenc.c:
6669 omxaudioenc: Shutdown component in PAUSED->READY and deallocate buffers
6671 2011-11-17 10:19:30 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6673 * omx/gstomxvideoenc.c:
6674 omxvideoenc: Shutdown component in PAUSED->READY and deallocate buffers
6676 2011-11-17 10:19:10 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6678 * omx/gstomxvideodec.c:
6679 omxvideodec: Shutdown component in PAUSED->READY and deallocate buffers
6681 2011-11-16 12:02:08 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6683 * omx/gstomxvideoenc.c:
6684 omxvideoenc: Set force_keyframe to FALSE after handling it
6685 There's no reason why the base class should forward the event
6686 further downstream if we already handled it and will insert a
6689 2011-11-16 11:21:25 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6691 * omx/gstomxvideodec.c:
6692 omxvideodec: Always push buffers downstream, even if we didn't find a corresponding GstVideoFrame
6694 2011-11-15 09:47:55 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6697 omx: Fix debug level for flushing in wrong state from ERROR to DEBUG
6698 It's not really an error and doesn't matter at all if flush is called
6699 when the component is not running.
6701 2011-11-15 08:40:07 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6703 * omx/gstomxh264enc.c:
6704 omxh264enc: Detect bytestream stream format and don't put SPS/PPS into the caps for this format
6706 2011-11-15 08:28:32 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6708 * omx/gstomxvideoenc.c:
6709 * omx/gstomxvideoenc.h:
6710 omxvideoenc: Add vfunc for handling the output frames
6711 This can be used by subclasses to override the buffer flags
6712 or to handle some frames differently than the default behaviour.
6714 2011-11-14 12:50:26 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6716 * omx/gstomxvideodec.c:
6717 omxvideodec: Don't release buffers twice if dropping because of QoS
6719 2011-11-14 09:13:06 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6722 omx: Add XXX to the nOffset reset hack comment for QCOM
6724 2011-11-10 15:18:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6726 * omx/gstomxaudioenc.c:
6727 omxaudioenc: Make srcpad caps setting threadsafe
6729 2011-11-10 15:17:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6731 * omx/gstomxvideoenc.c:
6732 omxvideoenc: Make srcpad caps setting threadsafe
6734 2011-11-10 15:17:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6736 * omx/gstomxvideodec.c:
6737 omxvideodec: Make srcpad caps setting threadsafe
6739 2011-11-10 15:10:14 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6741 * omx/gstomxaudioenc.c:
6742 omxaudioenc: Make the srcpad task and the sinkpad streaming thread handling threadsafe
6744 2011-11-10 15:03:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6746 * omx/gstomxaudioenc.c:
6747 omxaudioenc: Always flush the ports and make sure no processing is happening in ::flush
6748 This fixes a race condition that happened when seeking
6749 very often in a short period of time.
6751 2011-11-10 15:02:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6753 * omx/gstomxvideoenc.c:
6754 omxvideoenc: Always flush the ports and make sure no processing is happening in ::reset
6755 This fixes a race condition that happened when seeking
6756 very often in a short period of time.
6758 2011-11-10 15:01:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6760 * omx/gstomxvideoenc.c:
6761 omxvideoenc: Fix minor race condition when draining after upstream signalled EOS
6763 2011-11-10 14:56:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6765 * omx/gstomxaudioenc.c:
6766 omxaudioenc: Improve EOS handling
6767 If downstream return UNEXPECTED we should still signal the
6768 drain cond because nothing will trigger this again later.
6770 2011-11-10 14:56:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6772 * omx/gstomxvideoenc.c:
6773 omxvideoenc: Improve EOS handling
6774 If downstream return UNEXPECTED we should still signal the
6775 drain cond because nothing will trigger this again later.
6777 2011-11-10 14:54:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6779 * omx/gstomxaudioenc.c:
6780 omxaudioenc: Improve debugging of EOS and draining
6782 2011-11-10 14:54:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6784 * omx/gstomxvideoenc.c:
6785 omxvideoenc: Improve debugging of EOS and draining
6787 2011-11-10 14:51:06 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6789 * omx/gstomxvideodec.c:
6790 omxvideodec: Log if acquiring buffer for EOS failed
6792 2011-11-10 14:42:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6794 * omx/gstomxvideodec.c:
6795 omxvideodec: The component is not started in READY
6797 2011-11-10 14:39:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6799 * omx/gstomxaudioenc.c:
6800 omxaudioenc: No need to signal the drain cond when going from READY to PAUSED
6801 Also the component is not started in READY
6803 2011-11-10 14:40:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6805 * omx/gstomxvideoenc.c:
6806 omxvideoenc: No need to signal the drain cond when going from READY to PAUSED
6807 Also the component is not started in READY.
6809 2011-11-09 15:46:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6811 * omx/gstomxvideodec.c:
6812 omxvideodec: Always flush the ports and make sure no processing is happening in ::reset
6813 This fixes a race condition that happened when seeking
6814 very often in a short period of time.
6816 2011-11-09 15:45:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6818 * omx/gstomxvideodec.c:
6819 omxvideodec: Fix minor race condition when draining after upstream signalled EOS
6821 2011-11-09 15:44:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6823 * omx/gstomxvideodec.c:
6824 omxvideodec: Improve EOS handling
6825 If downstream return UNEXPECTED we should still signal the
6826 drain cond because nothing will trigger this again later.
6828 2011-11-09 15:43:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6830 * omx/gstomxvideodec.c:
6831 omxvideodec: Improve debugging of EOS and draining
6833 2011-11-09 15:42:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6835 * omx/gstomxvideodec.c:
6836 omxvideodec: The component is not started already when going from READY to PAUSED
6838 2011-11-09 15:42:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6840 * omx/gstomxvideodec.c:
6841 omxvideodec: No need to signal the drain cond when going from READY to PAUSED
6843 2011-11-09 15:41:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6846 omx: Always reset buffer flags for output ports, even in flushing/error state
6848 2011-11-09 09:00:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6850 * omx/gstomxvideodec.c:
6851 omxvideodec: Improve debugging in case of QoS-related frame drops
6853 2011-11-08 12:46:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6855 * omx/gstomxvideoenc.c:
6856 omxvideoenc: Release the video codec stream lock before acquiring an input buffer
6857 Otherwise the srcpad task might block on this lock and
6858 no buffers ever become available again.
6860 2011-11-08 12:45:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6862 * omx/gstomxaudioenc.c:
6863 omxaudioenc: Release the audio encoder stream lock before acquiring an input buffer
6864 Otherwise the srcpad task might block on this lock and
6865 no buffers ever become available again.
6867 2011-11-08 12:42:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6869 * omx/gstomxvideodec.c:
6870 omxvideodec: Release the video codec stream lock before acquiring an input buffer
6871 Otherwise the srcpad task might block on this lock and
6872 no buffers ever become available again.
6874 2011-11-08 11:07:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6876 * omx/gstomxaudioenc.c:
6877 * omx/gstomxaudioenc.h:
6878 omxaudioenc: Don't try to drain the component after EOS
6879 And don't send EOS twice in any case. This most likely
6880 will cause the component to not output it again and
6881 is not necessary anyway.
6883 2011-11-08 11:03:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6885 * omx/gstomxvideoenc.c:
6886 * omx/gstomxvideoenc.h:
6887 omxvideoenc: Don't try to drain the component after EOS
6888 And don't send EOS twice in any case. This most likely
6889 will cause the component to not output it again and
6890 is not necessary anyway.
6892 2011-11-08 10:46:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6894 * omx/gstomxvideodec.c:
6895 * omx/gstomxvideodec.h:
6896 omxvideodec: Don't try to drain the component after EOS
6897 And don't send EOS twice in any case. This most likely
6898 will cause the component to not output it again and
6899 is not necessary anyway.
6901 2011-11-08 09:09:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6903 * omx/gstomxvideodec.c:
6904 omxvideodec: Implement dropping of too late frames via QoS
6906 2011-11-08 08:31:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6908 * omx/gstomxaudioenc.c:
6909 omxaudioenc: Minor code refactoring
6911 2011-11-08 08:31:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6913 * omx/gstomxvideoenc.c:
6914 omxvideoenc: Minor code refactoring
6916 2011-11-08 08:31:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6918 * omx/gstomxvideodec.c:
6919 omxvideodec: Make sure to always release buffers back to OMX
6921 2011-11-08 08:24:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6924 omx: Also properly release buffers when in error state
6926 2011-11-08 08:22:08 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
6929 omx: Properly release buffers during flushing
6930 We can't pass them back to OMX_FillThisBuffer() or OMX_EmptyThisBuffer()
6931 but instead of doing nothing we have to put them back into our queue.
6932 Otherwise the buffer is leaked and we will have too few buffers in
6935 2011-11-07 14:00:47 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6937 * omx/gstomxvideodec.c:
6938 omxvideodec: Free pending frames after draining component
6940 2011-11-07 14:00:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6942 * omx/gstomxvideoenc.c:
6943 omxvideoenc: Free pending frames after draining the component
6945 2011-11-07 11:07:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6947 * omx/gstomxvideoenc.c:
6948 omxvideoenc: Make handling and usage of the base video codec frames threadsafe
6950 2011-11-07 11:05:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6952 * omx/gstomxvideoenc.c:
6953 omxvideoenc: Fix deadlock between srcpad stream lock and ::reset()
6955 2011-11-07 11:04:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6957 * omx/gstomxvideodec.c:
6958 omxvideoenc: Make handling and usage of the base video codec frames threadsafe
6960 2011-11-07 10:58:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6962 * omx/gstomxvideoenc.c:
6963 omxvideoenc: Free all pending frames after draining the component
6965 2011-11-07 10:58:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6967 * omx/gstomxvideodec.c:
6968 omxvideodec: Always free all pending frames when caps changes require reconfiguration
6970 2011-11-04 09:43:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6972 * omx/gstomxaudioenc.c:
6973 omxaudioenc: Only drain the component a single time and only after processing started
6975 2011-11-04 09:43:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6977 * omx/gstomxvideodec.c:
6978 omxvideodec: Only drain the component a single time and only after processing started
6980 2011-11-04 09:43:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6982 * omx/gstomxvideoenc.c:
6983 omxvideoenc: Only drain the component a single time and only after processing started
6985 2011-11-04 09:04:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6988 omx: Reset buffer flags to 0 after it was consumed by the component or the element
6989 Some implementations don't reset the flags and the standard is not
6990 really clear on the expected behaviour. Let's just always reset the
6991 flags as they're not valid at this point anymore.
6993 2011-11-02 13:50:14 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6995 * omx/gstomxvideoenc.c:
6996 * omx/gstomxvideoenc.h:
6997 omxvideoenc: Better handling of encoder parameters
6998 Only set them if necessary and allow to use the component
7001 2011-11-02 13:22:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7003 * omx/gstomxvideoenc.c:
7004 omxvideoenc: Make unsupported bitrate/quantizer settings less fatal
7006 2011-11-02 10:39:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7008 * omx/gstomxvideodec.c:
7009 omxvideodec: If no stride was set for the OMX output port assume GStreamer stride
7010 This is not really correct but there's nothing else we could do.
7012 2011-11-02 10:39:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7014 * omx/gstomxvideoenc.c:
7015 omxvideoenc: If no stride was set for the OMX input port assume GStreamer stride
7016 This is not really correct but there's nothing else we could do.
7018 2011-11-01 16:46:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7020 * omx/gstomxaudioenc.c:
7021 * omx/gstomxaudioenc.h:
7022 omxaudioenc: Implement draining of the component and use it
7023 This makes sure that all buffers are encoded and pushed downstream
7024 before flushing the ports and losing some buffers.
7026 2011-11-01 16:41:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7028 * omx/gstomxvideoenc.c:
7029 * omx/gstomxvideoenc.h:
7030 omxvideoenc: Implement draining of the component and use it
7031 This makes sure that all buffers are encoded and pushed downstream
7032 before flushing the ports and losing some buffers.
7034 2011-11-01 16:08:59 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7036 * omx/gstomxvideodec.c:
7037 * omx/gstomxvideodec.h:
7038 omxvideodec: Implement draining of the component and use it
7039 This makes sure that all buffers are decoded and pushed downstream
7040 before flushing the ports and losing some buffers.
7042 2011-10-20 14:32:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7044 * omx/gstomxvideodec.c:
7045 omxvideodec: Fix deadlock if ::reset is called before finding the corresponding frame of a decoded buffer
7047 2011-11-01 15:10:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7049 * omx/gstomxaudioenc.c:
7050 * omx/gstomxaudioenc.h:
7051 * omx/gstomxvideoenc.h:
7052 omxaudioenc: Forward downstream flow returns to upstream
7054 2011-11-01 15:10:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7056 * omx/gstomxvideoenc.c:
7057 omxvideoenc: Forward downstream flow returns to upstream
7059 2011-11-01 13:58:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7061 * omx/gstomxvideodec.c:
7062 * omx/gstomxvideodec.h:
7063 omxvideodec: Forward downstream flow returns to upstream
7065 2011-10-25 14:23:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7068 omx: Add minimal README file
7070 2011-10-20 15:21:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7072 * omx/gstomxvideodec.c:
7073 omxvideodec: Fix deadlock caused by calling reset while the loop function does something with the base video codec stream lock
7075 2011-10-20 15:20:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7077 * omx/gstomxvideoenc.c:
7078 omxvideoenc: Fix deadlock caused by calling reset while the loop function does something with the base video codec stream lock
7080 2011-10-20 14:30:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7082 * omx/gstomxvideodec.c:
7083 omxvideodec: Move locking at the correct place
7085 2011-10-14 10:27:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7089 omx: Remove QCOM hack to reset nOffset in EmptyBufferDone
7090 This is now done in a generic way that does not require any
7091 hacks because it will work without any side effects on any
7094 2011-10-14 10:26:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7097 omx: Reset nOffset to 0 in EmptyBufferDone if nFilledLen is 0
7098 Some OMX implementations don't reset nOffset when the complete
7099 buffer is emptied but instead only reset nFilledLen. We reset
7100 nOffset to 0 if nFilledLen == 0, which is safe to do because
7101 the offset *must* be 0 if the buffer is not filled at all.
7102 Seen in QCOM's OMX implementation.
7104 2011-10-04 10:56:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7106 * omx/gstomxvideoenc.c:
7107 omxvideoenc: If one parameter/configuration is not supported don't skip the next
7109 2011-10-03 09:12:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7111 * omx/gstomxh264dec.c:
7112 omxh264dec: Require stream-format=byte-stream
7113 Other stream-formats are unlikely to be supported by OMX components.
7115 2011-09-29 10:37:32 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7117 * omx/gstomxvideodec.c:
7118 * omx/gstomxvideodec.h:
7119 omxvideodec: Add API for subclasses to prepare/convert frames
7121 2011-09-27 15:08:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7123 * omx/gstomxaudioenc.c:
7124 omxaudioenc: Switch to Idle first and wait before switching to Loaded and deallocating buffers
7125 Allocating buffers before the Idle state is reached can lead to crashes.
7127 2011-09-27 15:08:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7129 * omx/gstomxvideoenc.c:
7130 omxvideoenc: Switch to Idle first and wait before switching to Loaded and deallocating buffers
7131 Allocating buffers before the Idle state is reached can lead to crashes.
7133 2011-09-27 15:05:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7135 * omx/gstomxvideodec.c:
7136 omxvideodec: Switch to Idle first and wait before switching to Loaded and deallocating buffers
7137 Allocating buffers before the Idle state is reached can lead to crashes.
7139 2011-09-27 14:15:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7143 * omx/gstomxvideodec.c:
7144 omxvideodec: New hack for QCOM to recreate the component instead of reconfiguring it on caps changes
7146 2011-09-27 12:13:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7149 omx: Change a g_assert() into a GST_WARNING_OBJECT()
7151 2011-09-26 13:04:18 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7155 omx: Add hack for Qualcomm's OMX implementation to manually reset nOffset in EmptyBufferDone
7157 2011-09-23 17:02:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7159 * omx/gstomxaudioenc.c:
7160 omxaudioenc: Add a check to prevent a zero-sized OMX buffer
7162 2011-09-23 17:02:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7164 * omx/gstomxvideoenc.c:
7165 omxvideoenc: Add some more checks for correct OMX buffer sizes
7167 2011-09-23 15:53:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7169 * omx/gstomxvideodec.c:
7170 omxvideodec: Add some more checks for OMX buffer sizes
7172 2011-09-14 10:15:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7176 * omx/gstomxaudioenc.c:
7177 * omx/gstomxvideodec.c:
7178 * omx/gstomxvideoenc.c:
7179 omx: Wait until the Executing state is reached before calling OMX_FillThisBuffer()
7180 This correctly works around the QCOM race condition that happens when calling
7181 FTB after setting the new state and before reaching it.
7183 2011-09-02 14:43:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7185 * omx/gstomxvideodec.c:
7186 omxvideodec: Negotiate video format with downstream and what the component claims to support
7188 2011-08-25 19:56:58 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
7190 * omx/gstbasevideoencoder.c:
7191 basevideoencoder: fix element leak
7192 and this concludes an hour of yelling at the bloody test failing,
7193 only to track down the problem not being in the test.
7194 https://bugzilla.gnome.org/show_bug.cgi?id=657368
7196 2011-08-19 09:20:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7198 * omx/gstomxvideoenc.c:
7199 omxvideoenc: Release basevideocodec stream lock while waiting for a buffer
7200 This prevents deadlocks if no empty input buffers are available and
7201 releasing input buffers requires the loop function to handle some
7202 output buffers first.
7204 2011-08-19 09:19:22 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7206 * omx/gstomxvideodec.c:
7207 omxvideodec: Release basevideocodec stream lock while waiting for a buffer
7208 This prevents deadlocks if no empty input buffers are available and
7209 releasing input buffers requires the loop function to handle some
7210 output buffers first.
7212 2011-08-18 10:24:26 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7214 * omx/gstbasevideodecoder.c:
7215 basevideodecoder: Fix deadlock
7217 2011-08-18 10:03:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7219 * omx/gstbaseaudiodecoder.c:
7220 baseaudiodecoder: Don't take the stream lock in the seek handler
7221 This will lead to deadlocks
7223 2011-08-18 10:02:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7225 * omx/gstbasevideocodec.c:
7226 * omx/gstbasevideocodec.h:
7227 * omx/gstbasevideodecoder.c:
7228 * omx/gstbasevideoencoder.c:
7229 basevideo: Fix locking, especially if both pads have different streaming threads
7231 2011-08-18 09:42:02 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7233 * omx/gstbasevideodecoder.c:
7234 * omx/gstbasevideoencoder.c:
7235 basevideo: Don't call g_type_class_peek_parent() in class_init
7236 This is already done by the GObject boilerplate macro
7238 2011-08-18 09:40:46 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7240 * omx/gstbaseaudiodecoder.c:
7241 baseaudiodecoder: Don't call g_type_class_peek_parent() in class_init
7242 This is already done by the boilerplate macro
7244 2011-08-18 09:34:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7246 * omx/gstbaseaudiodecoder.c:
7247 * omx/gstbaseaudiodecoder.h:
7248 baseaudiodecoder: Fix thread safety issues if both pads have different streaming threads
7250 2011-08-18 09:17:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7252 * omx/gstbaseaudiodecoder.c:
7253 baseaudiodecoder: Delay sending of serialized events to finish_frame()
7255 2011-08-17 14:33:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7257 * omx/gstomxaudioenc.c:
7258 omxaudioenc: Always require at least OMX_MIN_PCMPAYLOAD_MSEC per input buffer
7260 2011-08-17 14:28:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7262 * omx/gstbaseaudioencoder.c:
7263 * omx/gstbaseaudioencoder.h:
7264 baseaudioencoder: Add support for requesting a minimum and maximum number of samples per frame
7265 This extends the special case of a fixed number of samples per frame
7266 that was supported before already.
7268 2011-08-17 14:17:18 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7270 * omx/gstomxaudioenc.c:
7271 omxaudioenc: Handle inbuf==NULL properly in ::handle_frame()
7273 2011-08-17 13:04:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7275 * omx/gstomxaacenc.c:
7276 omxaacenc: Implement ::get_num_samples() vfunc
7278 2011-08-17 13:03:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7280 * omx/gstomxaudioenc.c:
7281 * omx/gstomxaudioenc.h:
7282 omxaudioenc: Add vfunc to get the number of samples inside a buffer
7284 2011-08-17 11:34:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7286 * omx/gstomxaudioenc.c:
7287 omxaudioenc: Release baseaudioencoder stream lock while waiting for a buffer in ::handle_frame()
7288 This prevents deadlocks if no empty input buffers are available and
7289 releasing input buffers requires the loop function to handle some
7290 output buffers first.
7292 2011-08-17 11:34:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7294 * omx/gstbaseaudioencoder.c:
7295 * omx/gstbaseaudioencoder.h:
7296 baseaudioencoder: Fix thread safety issues if both pads have different streaming threads
7298 2011-08-17 09:58:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7300 * omx/gstbaseaudioencoder.c:
7301 baseaudioencoder: Taking the OBJECT lock in reset() is not needed
7303 2011-08-16 11:03:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7305 * omx/gstomxaudioenc.c:
7306 omxaudioenc: Remove hack that only applies to the video encoder class
7308 2011-08-16 10:49:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7313 * omx/gstomxaacenc.c:
7314 * omx/gstomxaacenc.h:
7315 omxaacenc: Add initial version of OpenMAX AAC encoder element
7317 2011-08-15 15:10:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7320 * omx/gstomxaudioenc.c:
7321 * omx/gstomxaudioenc.h:
7322 omxaudioenc: Add initial version of audio encoder base class
7324 2011-08-15 14:14:11 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7326 * omx/gstbaseaudioencoder.c:
7327 baseaudioencoder: Delay sending of serialized events to finish_frame()
7329 2011-08-15 13:06:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7332 * omx/gstbaseaudiodecoder.c:
7333 * omx/gstbaseaudiodecoder.h:
7334 * omx/gstbaseaudioencoder.c:
7335 * omx/gstbaseaudioencoder.h:
7336 audio: Integrate audio base classes into the build system and fixup
7338 2011-08-15 12:56:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7340 * omx/gstbaseaudiodecoder.c:
7341 * omx/gstbaseaudiodecoder.h:
7342 * omx/gstbaseaudioencoder.c:
7343 * omx/gstbaseaudioencoder.h:
7344 * omx/gstbaseaudioutils.c:
7345 * omx/gstbaseaudioutils.h:
7346 audio: Add audio decoder/encoder base classes
7347 Taken from http://cgit.collabora.com/git/user/manauw/gst-plugins-bad.git/log/?h=baseaudio
7349 2011-08-12 12:25:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7351 * omx/gstbasevideoencoder.c:
7352 basevideoencoder: Proxy the width/height/framerate/PAR constraints of downstream caps to upstream
7353 This allows to specify constraints on the compressed downstream caps
7354 by muxers or capsfilters, which will then be forwarded to upstream
7355 and allows video converters to fulfill the constraints.
7356 Code based on Mark Nauwelaerts audio encoder base class.
7358 2011-08-12 12:13:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7360 * omx/gstbasevideoencoder.h:
7361 basevideoencoder: Remove old ::getcaps() comment
7363 2011-08-12 12:06:23 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7365 * omx/gstbasevideoencoder.c:
7366 * omx/gstbasevideoencoder.h:
7367 basevideoencoder: Remove ::get_caps() vfunc
7368 Subclasses can set the caps more efficiently and this only
7369 caused additional indirections.
7371 2011-08-10 10:24:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7373 * omx/gstomxh263enc.c:
7374 * omx/gstomxh264enc.c:
7375 * omx/gstomxmpeg4videoenc.c:
7376 * omx/gstomxvideoenc.c:
7377 omxvideoenc: Use "video/x-raw-yuv" as sink template caps instead of strict I420 caps
7379 2011-08-10 10:23:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7381 * omx/gstomxmpeg4videodec.c:
7382 omxmpeg4videodec: Don't require width/height on sink pad caps
7384 2011-08-10 10:11:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7386 * omx/gstomxh263dec.c:
7387 * omx/gstomxh264dec.c:
7388 * omx/gstomxmpeg4videodec.c:
7389 * omx/gstomxvideodec.c:
7390 * omx/gstomxwmvdec.c:
7391 omxvideodec: Use "video/x-raw-yuv" as src template caps instead of strict I420 caps
7393 2011-08-10 09:56:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7395 * omx/gstomxvideoenc.c:
7396 omxvideoenc: Set the state back to StateLoaded even if an error happened
7398 2011-08-10 09:49:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7401 omx: Don't hold any locks while calling OMX_SendCommand()
7402 It might call into one of the callbacks and lead to deadlocks, e.g.
7403 with the Qualcomm OMX implementation.
7405 2011-08-10 09:32:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7410 2011-08-10 09:23:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7413 omx: Reset pending reconfigure output ports when changing the state from Executing to any lower state
7415 2011-08-10 09:08:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7418 omx: Fix crash when setting last error after the ports were freed
7420 2011-08-10 09:03:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7423 omx: Free component structure
7425 2011-08-10 09:02:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7428 omx: Make component destruction safer
7430 2011-08-10 08:53:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7433 omx: Set pAppPrivate of buffers to NULL when deallocating buffers
7434 This prevents usage of freed memory later if the OMX component
7435 has weird behaviour.
7437 2011-08-10 08:52:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7439 * omx/gstomxvideodec.c:
7440 omxvideodec: Set the state back to StateLoaded even if an error happened
7442 2011-08-10 08:51:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7445 omx: Add some assertions to check if the buffer pAppPrivate is still correct
7447 2011-08-08 13:04:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7450 omx: Add parenthesis at correct places in the struct init macro
7452 2011-08-08 12:12:58 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7455 omx: Only prevent setting a higher state if the component is in an error state
7457 2011-08-03 16:02:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7459 * omx/gstbasevideodecoder.c:
7460 basevideodecoder: Use the cached video frame size instead of recalculating it
7462 2011-08-03 15:35:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7465 omx: Improve debugging in param/config getter/setter wrappers
7467 2011-08-03 13:10:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7469 * omx/gstomxvideodec.c:
7470 omxvideodec: Don't abort if the color format is not supported but give a useful error message
7472 2011-08-02 15:14:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7474 * omx/gstomxh263enc.c:
7475 * omx/gstomxh264enc.c:
7476 * omx/gstomxmpeg4videoenc.c:
7477 * omx/gstomxvideoenc.c:
7478 omxvideoenc: Don't fail if setting the bitrate or profile is not supported by the component
7479 Also always set/get the profile, even if there are no peer caps.
7481 2011-08-02 15:14:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7483 * omx/gstbasevideoencoder.c:
7484 basevideoencoder: Make access to the list of frames threadsafe
7486 2011-08-01 13:22:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7490 omx: Add a hacks flag for the Qualcomm 7x30 OMX_FillThisBuffer() race and make it optional
7492 2011-07-29 13:56:59 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7495 omx: Add workaround for QCOM 7x30 race condition
7497 2011-07-29 12:06:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7501 * omx/gstomxh263enc.c:
7502 * omx/gstomxh263enc.h:
7503 omxh263enc: Add H.263 encoder element
7505 2011-07-29 11:26:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7507 * omx/gstomxmpeg4videoenc.c:
7508 omxmpeg4videoenc: Add support for setting profile/level via caps
7510 2011-07-28 14:14:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7512 * omx/gstomxh264enc.c:
7513 omxh264enc: Add support for setting profile/level via caps
7515 2011-07-28 12:58:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7517 * omx/gstomxvideoenc.c:
7518 omxvideoenc: Add support for forcing the next frame to be a keyframe
7520 2011-07-28 11:54:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7522 * omx/gstomxvideoenc.c:
7523 * omx/gstomxvideoenc.h:
7524 omxvideoenc: Add support for setting bitrate/quantization related parameters
7526 2011-07-28 10:23:08 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7530 omx: Add wrapper functions for OMX_[GS]et{Config,Parameter}
7532 2011-07-28 09:54:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7536 omx: Add macro to initialize OpenMAX structures
7538 2011-07-28 09:08:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7540 * omx/gstomxvideoenc.c:
7541 omxvideoenc: Don't output 0-byte buffers
7543 2011-07-25 15:05:08 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7546 omx: Ensure that the pAppPrivate pointer in OMX buffers is set correctly
7548 2011-07-25 13:19:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7550 * omx/gstomxvideodec.c:
7551 * omx/gstomxvideoenc.c:
7552 omxvideo{enc,dec}: Only set/unset flushing state on ports if they were created already
7554 2011-07-25 12:01:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7558 * omx/gstomxwmvdec.c:
7559 * omx/gstomxwmvdec.h:
7560 omxwmvdec: Add WMV video decoder element
7562 2011-07-25 11:44:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7566 * omx/gstomxh263dec.c:
7567 * omx/gstomxh263dec.h:
7568 omxh263dec: Add H.263 decoder element
7570 2011-07-25 11:32:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7574 * omx/gstomxh264enc.c:
7575 * omx/gstomxh264enc.h:
7576 omxh264enc: Add H.264 encoder element
7578 2011-07-25 10:48:58 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7580 * omx/gstomxvideodec.c:
7581 omxvideodec: Try harder to deallocate the buffers after errors happened
7583 2011-07-25 10:47:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7585 * omx/gstomxvideoenc.c:
7586 omxvideoenc: Try harder to deallocate the buffers after errors happened
7588 2011-07-25 10:46:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7591 omx: Deallocate port buffers before freeing the component
7592 They should be deallocated by the caller before reaching the
7593 Loaded state but to be on the safe side we will make sure
7594 they're really deallocated here.
7596 2011-07-21 11:15:14 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7598 * omx/gstomxvideoenc.c:
7599 omxvideoenc: Add initial support for stride conversion
7601 2011-07-21 10:38:26 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7603 * omx/gstomxh264dec.c:
7604 * omx/gstomxmpeg4videodec.c:
7605 * omx/gstomxmpeg4videoenc.c:
7606 omx: Set default roles for the components if none were set from the config file
7608 2011-07-21 10:36:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7611 omx: Failure to set the component role is fatal
7613 2011-07-21 07:53:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7615 * omx/gstomxvideoenc.c:
7616 omxvideoenc: Add support for setting codec_data on the srcpad caps
7618 2011-07-21 07:44:34 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7620 * omx/gstomxvideoenc.c:
7621 omxvideoenc: Free/drop GstVideoFrames that resulted in an empty buffer
7623 2011-07-21 07:44:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7625 * omx/gstbasevideoencoder.c:
7626 basevideoencoder: Allow finishing of frames with no src_buffer to drop/free the GstVideoFrame
7628 2011-07-21 07:31:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7630 * omx/gstomxvideoenc.c:
7631 omxvideoenc: Remove obsolete TODO comment
7633 2011-07-20 11:09:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7637 omx: Use libgstopenmax.so for the plugin filename and openmax for the plugin name
7638 Resolves conflicts with gst-openmax.
7640 2011-07-20 08:34:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7646 * omx/gstomxmpeg4videoenc.c:
7647 * omx/gstomxmpeg4videoenc.h:
7648 * omx/gstomxvideoenc.c:
7649 * omx/gstomxvideoenc.h:
7650 omxvideoenc: Add video encoder base class and MPEG4 video encoder
7651 Unfortunately requires lots of hacks again to work properly with
7654 2011-07-20 10:39:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7656 * omx/gstbasevideoencoder.c:
7657 basevideoencoder: Only get caps from the subclass if they were not set yet by the subclass
7659 2011-07-20 09:25:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7661 * omx/gstbasevideoencoder.c:
7662 * omx/gstbasevideoencoder.h:
7663 basevideoencoder: Delay sending of serialized sink events until finish_frame()
7665 2011-07-20 09:09:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7667 * omx/gstbasevideoencoder.c:
7668 * omx/gstbasevideoencoder.h:
7669 basevideoencoder: Add ::reset vfunc and handle ::reset/::finish the same way as in the decoder
7671 2011-07-19 12:50:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7673 * omx/gstbasevideoencoder.c:
7674 basevideoencoder: Use a temporary GstVideoState until the subclass accepted the caps
7675 Also store the caps in the GstVideoState and assume a PAR of 1/1 instead
7676 of 0/1 if no PAR is specified in the caps.
7678 2011-07-19 12:29:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7681 * omx/gstomxvideodec.c:
7682 omx: Improve debug output a bit
7684 2011-07-19 10:33:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7688 * omx/gstomxvideodec.c:
7689 omx: Rework port reconfiguration again and only use the Bellagio specific hacks with Bellagio
7690 We only reconfigure ports that need to be reconfigured now instead of
7693 2011-07-19 10:33:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7698 * omx/gstomxvideodec.c:
7699 * omx/gstomxvideodec.h:
7700 omx: Add infrastructure to enable special hacks for broken OpenMAX implementations
7702 2011-07-18 13:10:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7705 omx: When acquiring a buffer from an input port always wait until all output ports are reconfigured
7707 2011-07-18 08:41:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7709 * omx/gstomxvideodec.c:
7710 omxvideodec: Add support for converting between omx and gst rowstrides
7712 2011-07-14 10:34:09 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7715 omx: Provide all buffers to output ports after enabling them
7717 2011-07-14 08:29:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7719 * omx/gstomxvideodec.c:
7720 omxvideodec: Add support for NV12 / OMX_COLOR_FormatYUV420SemiPlanar
7722 2011-07-14 07:58:41 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7724 * omx/gstomxvideodec.c:
7725 * omx/gstomxvideodec.h:
7726 omxvideodec: Only flush the component ports after we passed input to them
7728 2011-07-13 21:19:34 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7730 * omx/gstomxvideodec.c:
7731 omxvideodec: Only change states downwards if an upper state was reached
7733 2011-07-13 20:37:02 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7737 * omx/gstomxvideodec.c:
7738 * omx/gstomxvideodec.h:
7739 omx: Add support for setting the component-role
7741 2011-07-13 20:22:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7745 * omx/gstomxvideodec.c:
7746 omx: Improve error reporting by formatting the error codes better and also providing their string representation
7748 2011-07-13 14:36:14 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7751 build: Dist autogen.sh
7753 2011-07-13 14:35:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7757 build: Only require GStreamer >= 0.10.29 and GLib >= 2.16
7759 2011-07-13 14:04:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7762 build: Dist gstomx.conf
7764 2011-07-13 14:04:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7767 build: Clean _stdint.h on "make distclean"
7769 2011-07-13 14:02:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7771 * omx/gstomxvideodec.c:
7772 omxvideodec: Fix typo
7774 2011-07-13 13:59:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7779 2011-07-13 12:46:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7781 * omx/gstomxvideodec.c:
7782 omxvideodec: Set SYNCFRAME flag on the OMX buffers for non-delta units
7784 2011-07-13 12:37:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7786 * omx/gstomxvideodec.c:
7787 omxvideodec: Free all pending frames when resetting the decoder
7788 Workaround for https://bugzilla.gnome.org/show_bug.cgi?id=654529
7790 2011-07-13 09:59:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7792 * omx/gstomxvideodec.c:
7793 omxvideodec: Handle output buffers without a corresponding GstVideoFrame more gracefully
7794 This can happen on EOS in some cases and when the input is not
7797 2011-07-13 09:31:22 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7799 * omx/gstomxvideodec.c:
7800 omxvideodec: Fix deadlock when finishing old frames that are left over by the decoder
7802 2011-07-12 11:37:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7804 * omx/gstomxh264dec.c:
7805 omxh264dec: It's called H.264, not H264
7807 2011-07-12 11:36:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7809 * omx/gstomxh264dec.c:
7810 * omx/gstomxmpeg4videodec.c:
7811 * omx/gstomxvideodec.c:
7812 * omx/gstomxvideodec.h:
7813 omxvideodec: Make sink/src pad template caps configurable
7815 2011-07-12 11:13:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7818 omx: Allow to set a preferred configuration directory with the GST_OMX_CONFIG_DIR environment variable
7820 2011-07-12 10:55:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7822 * omx/gstomxh264dec.c:
7823 * omx/gstomxmpeg4videodec.c:
7824 * omx/gstomxvideodec.c:
7825 omxvideodec: Make core/component-name and in/outport index configurable
7827 2011-07-12 10:05:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7832 omx: Add initial version of configuration system
7833 This now only registers elements that are specified in the
7835 The configuration file is a keyfile in the first XDG configuration
7836 directory with the name gstomx.conf.
7838 2011-07-12 08:53:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7842 * omx/gstomxh264dec.c:
7843 * omx/gstomxh264dec.h:
7844 * omx/gstomxh264videodec.h:
7845 omxh264dec: Rename from omxh264videodec to omxh264dec
7847 2011-07-12 08:40:48 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7849 * omx/gstomxh264videodec.c:
7850 omxh264videodec: Require alignment=au and stream-format={avc,bytestream}
7852 2011-07-11 12:59:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7854 * omx/gstbasevideodecoder.c:
7855 basevideodecoder: First inform subclass about resetting before resetting/freeing all internal state
7856 The subclass might want to access the old state.
7858 2011-07-11 12:36:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7860 * omx/gstbasevideodecoder.c:
7861 basevideodecoder: Track present position on discont before resetting it
7863 2011-07-11 11:52:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7865 * omx/gstbasevideodecoder.c:
7866 basevideodecoder: Also protect the list of pending frames from concurrent access when pushing all pendings events
7868 2011-07-11 11:28:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7870 * omx/gstbasevideocodec.c:
7871 * omx/gstbasevideocodec.h:
7872 * omx/gstbasevideodecoder.c:
7873 basevideocodec: Protect access to the list of pending frames with the object lock
7874 This is required if ::finish_frame() and all buffer output happens
7875 on a different thread than the sinkpad streaming thread.
7877 2011-07-11 09:35:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7879 * omx/gstbasevideodecoder.c:
7880 basevideodecoder: Set the correct lists to NULL after freeing
7882 2011-07-11 08:54:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7884 * omx/gstbasevideodecoder.c:
7885 basevideodecoder: Work with a copy of the GstVideoState in setcaps until the caps are accepted
7886 Also fix a refcount problem with the codec_data.
7888 2011-07-12 08:34:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7892 * omx/gstomxh264videodec.c:
7893 * omx/gstomxh264videodec.h:
7894 omxh264videodec: Add h.264 video decoder
7896 2011-07-12 08:29:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7898 * omx/gstomxmpeg4videodec.c:
7899 omxmpeg4videodec: Fix debug category name
7901 2011-07-09 11:41:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7904 * omx/gstbasevideocodec.h:
7905 * omx/gstbasevideodecoder.c:
7906 * omx/gstbasevideoencoder.c:
7907 * omx/gstbasevideoutils.c:
7908 * omx/gstbasevideoutils.h:
7909 basevideo: Move the utils from the codec header to its own header
7911 2011-07-09 11:32:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7913 * omx/gstbasevideocodec.c:
7914 * omx/gstbasevideodecoder.c:
7915 basevideo: Use GSlice for allocating GstVideoFrame and don't duplicate code in the decoder base class
7917 2011-07-09 11:05:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7919 * omx/gstomxvideodec.c:
7920 omxvideodec: Use the destroy notify to free the coder_hook
7922 2011-07-09 10:57:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7924 * omx/gstbasevideocodec.c:
7925 * omx/gstbasevideocodec.h:
7926 * omx/gstbasevideodecoder.c:
7927 basevideo: Add destroy notify for the coder_hook to prevent memory leaks
7930 2011-07-09 10:44:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7933 basevideo: Fix GType names to not conflict with the public video base classes
7934 It's still not possible to include headers of both in the same file
7935 or compile/link both into the same plugin but that shouldn't be
7938 2011-07-08 15:42:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7940 * omx/gstomxvideodec.c:
7941 omxvideodec: Fix some minor memory leaks
7943 2011-07-08 15:25:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7947 * omx/gstomxvideodec.c:
7948 omx: Rework port reconfiguration
7949 We always reconfigure all ports now if the settings of one
7950 port changes to prevent lots of race conditions, dropped
7951 frames and similar issues.
7953 2011-07-08 13:16:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7955 * omx/gstomxvideodec.c:
7956 * omx/gstomxvideodec.h:
7957 omxvideodec: Use the frames storage of the base class instead of implementing our own
7958 They could get out of sync and we could store already destroyed frames.
7960 2011-07-07 12:51:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7963 omx: Clarify GQueue/GPtrArray element types
7965 2011-07-07 12:23:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7969 * omx/gstomxvideodec.c:
7970 omx: Add more checks to acquire_buffer() and return the current state additional to the buffer
7971 Also refactor the code flow in the video decoder for this. This makes
7972 the usage of acquire_buffer() easier and more atomic.
7974 2011-07-07 12:22:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7976 * omx/gstomxvideodec.c:
7977 omxvideodec: Also flush/unflush the input port when changing the state PAUSED<->READY
7979 2011-07-07 12:21:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7982 omx: Don't broadcast port->port_cond after allocating buffers successfully
7983 Allocating buffers must happen while no thread is waiting for the
7984 cond and especially must happen from the thread that would acquire
7985 buffers from the port.
7987 2011-07-07 11:27:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7989 * omx/gstomxvideodec.c:
7990 omxvideodec: Don't leak the codec_data after sending it
7992 2011-07-07 10:27:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7995 omx: Always check if the component is in an error state before waiting for a condition variable to be signalled
7996 Otherwise we might wait forever because nothing is going to signal
7997 the condition variable anymore.
7999 2011-07-07 10:22:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8002 omx: Always hold port->port_lock before signalling port->port_cond when notifying about errors
8003 Otherwise a port might be in the critical section, has checked the error state
8004 already but waits after port->port_cond is signalled, which will lead
8007 2011-07-07 10:07:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8009 * omx/gstomxvideodec.c:
8010 omxvideodec: Remove reconfiguration test hack
8012 2011-07-06 13:27:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8015 omx: Improve debug output a bit
8017 2011-07-06 13:26:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8020 omx: Always try to deallocate buffers, even if there's a component error
8022 2011-07-06 13:26:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8025 omx: Use G_USEC_PER_SEC for clarity instead of 1000000
8027 2011-07-06 13:19:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8029 * omx/gstomxvideodec.c:
8030 omxvideodec: Error out if the GStreamer allocated buffer is smaller than the OpenMAX output buffer
8031 Usually this must never happen but currently it happens during reconfigurations
8032 because of a race condition. Still it's better than crashing.
8034 2011-07-06 10:40:13 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8038 omx: Don't use port_def.bEnabled to check if the Enable/Disable command is finished
8039 bEnabled should be set immediately after sending the command, it's only
8040 Bellagio that waits until the command is finished before setting it.
8042 2011-07-06 10:30:11 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8044 * omx/gstomxvideodec.c:
8045 omxvideodec: Remove obsolete FIXME comment
8047 2011-07-06 10:29:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8051 omx: Improve error handling and reporting
8053 2011-07-06 08:48:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8055 * omx/gstomxmpeg4videodec.c:
8056 * omx/gstomxvideodec.c:
8057 * omx/gstomxvideodec.h:
8058 omxvideodec: Make the inport and outport index configurable by the subclass
8060 2011-06-28 08:51:23 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8065 * omx/gstomxmpeg4videodec.c:
8066 * omx/gstomxmpeg4videodec.h:
8067 * omx/gstomxvideodec.c:
8068 * omx/gstomxvideodec.h:
8069 omx: Add initial version of OpenMAX framework, video decoder base class and MPEG4 video decoder
8070 This currently hardcodes a lot of stuff but works at least.
8071 Also adds a generic framework for handling OpenMAX cores, components
8074 2011-06-28 11:47:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8076 * omx/gstbasevideocodec.c:
8077 * omx/gstbasevideocodec.h:
8078 * omx/gstbasevideodecoder.c:
8079 * omx/gstbasevideodecoder.h:
8080 basevideodecoder: Don't reorder serialized src events
8081 And allow to drop EOS by the subclass if ::finish returns
8085 2011-06-27 09:41:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8087 * omx/gstbasevideocodec.c:
8088 * omx/gstbasevideocodec.h:
8089 * omx/gstbasevideodecoder.c:
8090 basevideo: Add the caps to the GstVideoState and clean up caps/codec_data properly
8092 2011-06-27 09:37:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8094 * omx/gstbasevideocodec.c:
8095 * omx/gstbasevideocodec.h:
8096 * omx/gstbasevideodecoder.c:
8097 * omx/gstbasevideodecoder.h:
8098 * omx/gstbasevideoencoder.c:
8099 * omx/gstbasevideoencoder.h:
8100 * omx/gstbasevideoutils.c:
8101 basevideo: Add video encoder/decoder base classes from gst-plugins-bad
8103 2011-06-21 11:17:35 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8105 * omx/openmax/OMX_Audio.h:
8106 * omx/openmax/OMX_Component.h:
8107 * omx/openmax/OMX_ComponentExt.h:
8108 * omx/openmax/OMX_ContentPipe.h:
8109 * omx/openmax/OMX_Core.h:
8110 * omx/openmax/OMX_CoreExt.h:
8111 * omx/openmax/OMX_IVCommon.h:
8112 * omx/openmax/OMX_Image.h:
8113 * omx/openmax/OMX_Index.h:
8114 * omx/openmax/OMX_IndexExt.h:
8115 * omx/openmax/OMX_Other.h:
8116 * omx/openmax/OMX_Types.h:
8117 * omx/openmax/OMX_Video.h:
8118 * omx/openmax/OMX_VideoExt.h:
8119 openmax: Add OpenMAX IL 1.1.2 headers