3 2021-06-01 00:16:41 +0100 Tim-Philipp Müller <tim@centricular.com>
12 2020-11-04 18:48:13 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
15 meson: Enable some MSVC warnings for parity with GCC/Clang
16 This makes it easier to do development with MSVC by making it warn
17 on common issues that GCC/Clang error out for in our CI configuration.
18 Continuation from https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/223
19 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/75>
21 2020-10-16 12:45:09 +0200 Stéphane Cerveau <scerveau@collabora.com>
23 * examples/egl/testegl.c:
25 meson: update glib minimum version to 2.56
26 In order to support the symbol g_enum_to_string in various
27 project using GStreamer ( gst-validate etc.), the glib minimum
28 version should be 2.56.0.
29 Remove compat code as glib requirement
31 Version used by Ubuntu 18.04 LTS
32 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/74>
34 2020-10-05 12:32:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
36 * omx/gstomxvideodec.c:
37 omxvideodec: support interlace-mode=interleaved input
38 interlace-mode=alternate is a special case of interlace-mode=interleaved
39 where the fields are split using two different buffers.
40 The Zynq decoder always produces alternate content and we
41 used to assume that upstream will set interlace-mode=alternate in its
43 This is no longer the case as h265parse is now setting
44 alternate-mode=interleaved on alternate content to not break compat with
45 elements not supporting alternate.
46 As a result the decoder now accept both 'interleaved' and 'alternate' on
47 its input and ensures that its ouput has interlace-mode=alternate.
48 Needed to fix https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/825
49 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/72>
51 2020-09-08 17:31:06 +0100 Tim-Philipp Müller <tim@centricular.com>
54 ci: include template from gst-ci master branch again
56 2020-09-08 16:59:09 +0100 Tim-Philipp Müller <tim@centricular.com>
61 === release 1.18.0 ===
63 2020-09-08 00:10:02 +0100 Tim-Philipp Müller <tim@centricular.com>
73 2020-08-27 17:19:44 +0100 Tim-Philipp Müller <tim@centricular.com>
75 * config/tizonia/meson.build:
76 meson: fix Tizonia build
77 Was failing for release versions with
78 meson.build:414:10: ERROR: Can not set values on configuration object that has been used.
79 Caused by !69, but CI didn't notice at the time because it was set to a git version.
81 === release 1.17.90 ===
83 2020-08-20 16:16:35 +0100 Tim-Philipp Müller <tim@centricular.com>
92 2020-07-08 17:39:20 +0100 Tim-Philipp Müller <tim@centricular.com>
96 * scripts/extract-release-date-from-doap-file.py:
97 meson: set release date from .doap file for releases
98 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/69>
100 2020-07-03 02:04:16 +0100 Tim-Philipp Müller <tim@centricular.com>
105 === release 1.17.2 ===
107 2020-07-03 00:37:06 +0100 Tim-Philipp Müller <tim@centricular.com>
116 2020-06-20 00:28:37 +0100 Tim-Philipp Müller <tim@centricular.com>
121 === release 1.17.1 ===
123 2020-06-19 19:27:38 +0100 Tim-Philipp Müller <tim@centricular.com>
132 2020-06-16 01:20:27 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
134 * docs/gst_plugins_cache.json:
135 docs: Update plugin cache json
136 https://gitlab.freedesktop.org/alatiera/gst-ci/-/jobs/3109574
137 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/68>
139 2020-06-03 22:24:09 -0400 Thibault Saunier <tsaunier@igalia.com>
141 * docs/gst_plugins_cache.json:
142 docs: Update documentation cache
144 2019-12-23 18:23:55 -0800 Dylan Yip <dylan.yip@xilinx.com>
147 omx: Add latest OMX_ALG_Index's to omx_index_type_to_str
148 Add following indexes to omx_index_type_to_str:
149 OMX_ALG_IndexParamVideoAccessUnitDelimiter
150 OMX_ALG_IndexParamVideoBufferingPeriodSEI
151 OMX_ALG_IndexParamVideoPictureTimingSEI
152 OMX_ALG_IndexParamVideoRecoveryPointSEI
153 OMX_ALG_IndexParamVideoMasteringDisplayColourVolumeSEI
154 OMX_ALG_IndexParamVideoContentLightLevelSEI
155 OMX_ALG_IndexConfigVideoRegionOfInterestByValue
156 OMX_ALG_IndexConfigVideoColorPrimaries
158 2020-05-20 17:05:33 +0200 Stéphane Cerveau <scerveau@collabora.com>
161 zynq: change API to use public 2020.01 from vcu-omx-il
162 This new release 2020.01 fixes an API typo
163 Change to OMX_ALG_IndexConfigVideoHighDynamicRangeSEI
164 instead of OMX_ALG_IndexConfigVideoHighDynamicRangeSEIs
167 2017-12-27 17:18:54 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
169 * omx/gstomxvideoenc.c:
170 omxvideoenc: factor out gst_omx_video_enc_allocate_out_buffers()
172 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/66>
174 2020-04-10 11:47:03 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
176 * omx/gstomxh265enc.c:
179 * omx/gstomxvideodec.c:
180 * omx/gstomxvideoenc.c:
181 omxvideoenc: remove unsupported formats from caps template
182 Our encoder implementation actually supports a small subset of the
183 formats supported by the decoder. Those are the formats for which we
184 have a copy path in gst_omx_video_enc_fill_buffer() and which are not
185 filtered out in filter_supported_formats().
187 2020-04-10 09:59:02 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
190 video: remove BGR from supported format
191 It's not supported by either decoder or encoder and is even not listed in
192 gst_omx_video_get_format_from_omx() so it can't work.
194 2020-04-10 10:21:16 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
196 * omx/gstomxvideoenc.c:
197 omxvideoenc: add GRAY8 support
198 It's supported by Zynq encoder and was already in the sink caps
201 2020-04-10 11:18:49 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
203 * omx/gstomxvideoenc.c:
204 omxvideoenc: factor out gst_omx_video_enc_copy_plane()
205 No semantic change, I'm going to use it to copy GRAY8 buffers which is
206 actually a single plane 8-bits format.
208 2020-04-10 10:58:34 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
210 * omx/gstomxvideoenc.c:
211 omxvideoenc: use gst_video_meta_get_plane_height() to compute slice height
212 This new API saves us from doing manual computation and actually work
213 with single planar formats, such as GRAY8.
215 2020-04-07 19:59:12 +0200 Stéphane Cerveau <scerveau@collabora.com>
217 * omx/gstomxh264enc.c:
218 * omx/gstomxh265enc.c:
220 * omx/gstomxvideoenc.c:
221 omxh26xenc: fix coverity with frame test
222 Coverity was complaining with:
223 Null pointer dereferences (REVERSE_INULL) Null-checking "frame"
224 suggests that it may be null, but it has already been
225 dereferenced on all paths leading to the check.
226 The frame == NULL has been removed as 'frame' is actively used
227 in the code above without any change of dereferencing and setting
228 its value to NULL before the test.
231 2020-03-19 16:23:41 +0100 Stéphane Cerveau <scerveau@collabora.com>
233 * omx/gstomxvideoenc.c:
234 gstomxvideoenc: fix subframe output_buffer
235 Using more than 1 subframes was failing with
236 frame->output_buffer = NULL
238 2020-02-06 10:21:49 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
240 * omx/gstomxvideodec.c:
241 omxvideodec: add support of alternate interlace mode on zynq
243 2020-02-06 10:11:13 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
245 * omx/gstomxh265enc.c:
246 * omx/gstomxvideoenc.c:
247 omxvideoenc: add support of alternate interlace mode on zynq
248 It's only supported by the Zynq HEVC encoder for now.
250 2020-02-06 10:12:50 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
253 omx: add alternate flags to buffer_flags_map
254 Zynq specific flags used to tag top/bottom fields in alternate mode.
256 2020-02-06 09:57:48 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
259 * omx/gstomxvideoenc.c:
260 omxvideo(enc): use GST_VIDEO_INFO_FIELD_RATE_N()
261 Does not change anything for now but will be needed when we'll support
262 interlace-mode=alternate as the field rate will be twice the frame rate.
263 Made the code safe from division by 0 while I was on it.
265 2020-02-06 09:36:20 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
267 * omx/gstomxvideodec.c:
268 * omx/gstomxvideoenc.c:
269 omxvideo{enc,dec}: use GST_VIDEO_INFO_FIELD_HEIGHT()
270 Does not change anything for now but will be needed when we'll support
271 interlace-mode=alternate as the fields will have half the frame height.
273 2020-02-25 10:45:47 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
276 omx: don't log error when failing to load conf file with generic target
277 The generic target is meant to only test building gst-omx. It doesn't
278 provide any configuration file and so is not supposed to register any
280 I'm not aware of any user building gst-omx with this target and
281 providing their own conf file to actually register elements. But best to
282 not break this use case anyway so let's just downgrade the log message.
283 Fix GST_ERROR in the 'check fedora' CI job.
285 2020-01-27 11:56:53 +0100 Stéphane Cerveau <scerveau@collabora.com>
288 meson: add glib project fallback
289 Add a fallback from glib project to provide glib, gio and
290 gmodule dependencies.
292 2020-01-15 11:06:12 +0000 Stéphane Cerveau <scerveau@collabora.com>
294 * omx/gstomxvideoenc.c:
295 omxvideoenc: fix warning
296 Fix warning test when OMX_BUFFERFLAG_ENDOFFRAME
299 2018-08-28 13:03:14 -0700 Varunkumar Allagadapa <varunkum@xilinx.com>
301 * omx/gstomxvideoenc.c:
302 * omx/gstomxvideoenc.h:
303 omxvideoenc: Add look-ahead property to ZYNQ_USCALE_PLUS encoder
304 This patch adds look-ahead property to encoder
305 The value indicates look ahead size in frames,
306 the number of frames processed ahead of second pass encoding.
307 Dual pass encoding is disabled if look-ahead
308 value is less than 2.
310 2018-08-06 13:02:41 -0700 Varunkumar Allagadapa <varunkum@xilinx.com>
312 * omx/gstomxvideoenc.c:
313 * omx/gstomxvideoenc.h:
314 omxvideoenc: Add long-term-ref support to ZYNQ_USCALE_PLUS encoder
315 Custom API that upstream elements can use to notify encoders about
316 marking longterm ref. pictures or using longterm ref. pictures in
318 This patch adds below properties:
319 long-term-ref: Enable/Disable dynamically marking long-term
320 reference pictures in encoding process
321 long-term-freq: Periodicity of long-term reference picture
322 marking in encoding process.
323 If a picture is marked as long-term reference picture then it remains
324 in the DPB list for ever unless it overrides with new long-term pitcure with
325 same index. Encoder can use this long-term picture as refence for
327 This feature is mostly useful to avoid visual artifacts propagation in streaming use cases
328 when packet loss happens. Instead of requesting for IDR, client can request for use long-term
329 reference picture for encoding.
331 2020-01-07 10:24:19 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
334 meson: display OMX target when configuring
335 I'm adding more gst-omx CI (
336 https://gitlab.freedesktop.org/gstreamer/gst-ci/issues/20 ) having the
337 OMX targets displayed in the logs makes things clearer.
339 2019-08-30 10:27:32 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
342 omx: remove useless double negations
343 flush and port->flushing are both gboolean.
345 2019-12-20 22:19:06 -0800 Julien Isorce <jisorce@oblong.com>
348 meson: fix tizonia build
349 meson.build was both using path to gst-omx/openmax/OMX*
350 headers and path to OMX headers provided by tizilheaders.pc
351 so this patch makes sure we only use the later.
352 Also bump tizonia minimum version to 0.19.0 which
353 is the latest release.
355 2019-05-16 10:50:18 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
357 * omx/gstomxh265enc.c:
358 * omx/gstomxh265enc.h:
359 omxh265enc: handle CODECCONFIG buffers
360 Exact same code as omxh264enc.
362 2019-05-16 10:38:49 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
364 * omx/gstomxh264enc.c:
365 omxh264enc: send codec data downstream
366 We are operating in stream-format=byte-stream so the codec data buffer
367 is meant to be part of the buffer flow.
368 The base class will push it when a key frame is requested (as we stored
369 it with gst_video_encoder_set_headers()) but we still have to push it
370 right away as part of the normal buffer flow.
371 Also set the HEADER flag on this buffer.
373 2019-05-16 10:38:49 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
375 * omx/gstomxh264enc.c:
376 omxh264enc: no need to check if codeconfig has startcode
377 We currently only support stream-format=byte-stream so there is no point
378 re-checking for it when handling CODECCONFIG buffer.
380 2018-09-04 20:12:17 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
382 * omx/gstomxh264enc.c:
383 * omx/gstomxh265enc.c:
384 omxh26xenc: Negotiate subframe mode
385 We now negotiate subframe mode through the caps. To enabled subframe
386 mode, the caps need to specify alignment=nal:
387 ... ! omxh264enc ! video/x-h264,alignment=nal ! ...
388 ... ! omxh265enc ! video/x-h265,alignment=nal ! ...
390 2018-08-31 12:24:34 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
392 * omx/gstomxvideoenc.c:
393 omxvideoenc: use subframe base class API
394 Use subframe base class support.
396 2018-09-04 19:34:59 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
400 omx: Add helper to enable/disable/read subframe mode
402 2019-12-19 13:51:17 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
405 zynq: add mapping for latest custom indexes
406 Fix warning when building using version 2019.2 of OMX headers.
408 2019-09-12 16:29:59 -0700 Varunkumar Allagadapa <varunkumar.allagadapa@xilinx.com>
410 * omx/gstomxvideoenc.c:
411 omxvideoenc: update qp-mode settings
412 Adds load-qp-absolute and load-qp-relative qp-modes
414 2019-12-10 18:34:25 +0900 Shinya Saito <ssaito@igel.co.jp>
416 * omx/gstomxvideoenc.c:
417 omxvideoenc: Add stride check for input buffer extraction
418 Stride of input buffer may be different from
419 that of omx input port even if both sizes are the same.
421 2019-05-15 14:04:47 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
423 * omx/gstomxvideoenc.c:
424 omxvideoenc: pass padding requirements to ALLOCATION query
425 By passing the expected video buffer layout, the upstream producer
426 may be able to produce buffers fitting those requierements allowing
427 gst-omx to use dynamic buffer mode rather than having to copy each input
429 This is particularly useful with v4l2src as it can request the capture
430 driver to produce buffers with the required paddings.
432 2019-07-09 13:07:32 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
434 * omx/gstomxbufferpool.c:
437 omxbufferpool: use gst_video_meta_set_alignment()
438 Tell buffer consumer about our paddings.
439 v4l2src can now uses these paddings information when trying to import
440 buffers to configure the v4l2 driver accordingly.
442 2019-05-30 11:11:34 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
444 * omx/gstomxvideoenc.c:
445 omxvideoenc: fix buffer size in debug log
446 Use the actual OMX buffer size rather than the info.size as OMX
447 may require larger buffer if the port requires some padding.
449 2019-10-14 00:48:32 +0100 Tim-Philipp Müller <tim@centricular.com>
456 * config/Makefile.am:
457 * config/bellagio/Makefile.am:
458 * config/rpi/Makefile.am:
459 * config/tizonia/Makefile.am:
460 * config/zynqultrascaleplus/Makefile.am:
462 * examples/Makefile.am:
463 * examples/egl/Makefile.am:
467 * tests/check/.gitignore:
468 * tests/check/Makefile.am:
469 * tests/check/generic/.gitignore:
471 Remove autotools build
473 2019-10-07 16:59:10 +0000 Stéphane Cerveau <scerveau@collabora.com>
475 * omx/gstomxallocator.c:
476 omxallocator: fix leak with a proper chaining finalize
478 2019-09-20 15:02:24 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
480 * omx/gstomxvideoenc.c:
481 omxvideoenc: revert draining on ALLOCATION and DRAIN query
482 My latest patch introduces some regressions which I have no time to
483 debug properly at the moment so just revert it for now.
485 2019-09-17 13:02:54 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
487 * omx/gstomxvideoenc.c:
488 omxvideoenc: let encoder base class handle ALLOCATION query
489 Fixing a regression introduced in my previous patch
490 (7c40a91c31aa4bcbb191f7c6a5d222edf9dfd9d1).
491 The ALLOCATION query needs to be handled by GstVideoEncoder (to call
492 propose_allocation()) so chain up the query handling rather than early
495 2019-08-29 12:20:56 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
497 * omx/gstomxvideoenc.c:
498 omxvideoenc: drain encoder on ALLOCATION and DRAIN queries
499 Ensure that the encoder releases all its input buffers when requested by
500 upstream. Encoder input buffers may be shared with downstreaming (when
501 using dmabuf), upstream may then request the encoder to
502 drain when reconfiguring before destroying its buffers.
503 Also drain on ALLOCATION query as we already do in kmssink as that
504 notify of a format change.
505 Fix "decoder ! encoder" pipeline when decoding a file with different
508 2019-08-28 15:52:41 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
511 omx: log the number of pending buffers when port is EOS
513 2019-08-28 15:49:00 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
516 omx: log when an output port is eos
518 2019-08-27 15:47:28 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
520 * omx/gstomxvideoenc.c:
521 omxvideoenc: log the full input format
522 Make it easier to debug dynamic format changes.
524 2019-08-21 12:25:40 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
526 * omx/gstomxvideodec.c:
527 omxvideodec: fix dmabuf import
528 When importing dmabuf, UseBuffer() has to be called with the fd as
529 pBuffer rather than the mapped address of the buffer.
531 2019-08-21 12:48:25 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
533 * omx/gstomxbufferpool.c:
534 omxbufferpool: fix dmabuf import
535 When importing dmabuf from downstream, we want the allocator to be in
536 OTHER_POOL mode despite output_mode being DMABUF.
537 So check first if other_pool is set before checking for pool's
540 2019-08-22 17:55:54 +0900 Shinya Saito <ssaito@igel.co.jp>
542 * omx/gstomxvideoenc.c:
543 omxvideoenc: Remove unnecessary gst_video_frame_unmap()
545 2019-07-25 16:30:13 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
547 * omx/gstomxvideodec.c:
548 omxvideodec: log supported caps by the decoder
549 Can be useful when debugging to check the caps supported by the decoder
552 2019-07-11 12:03:46 +0900 Shinya Saito <ssaito@igel.co.jp>
554 * omx/gstomxvideoenc.c:
555 omxvideoenc: Unref frame of codec config buffer
556 After handling codec config, codec frame should be unreffed.
558 2019-06-14 16:27:37 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
561 omxvideo: check difference between frame and requested ts
562 This has proven to be very useful when debugging to detect bugs where we
563 match the wrong gst frame with an output OMX buffer.
565 2019-06-14 10:57:29 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
569 * omx/gstomxvideodec.c:
570 * omx/gstomxvideoenc.c:
571 omxvideo: add debug infos to find_nearest_frame()
572 Those debug infos have proved to be very helpful when debugging
573 timestamp issues. They are often linked to gst-omx picking the wrong
574 frame when trying to map from OMX.
576 2019-03-05 16:57:40 +0900 Shinya Saito <ssaito@igel.co.jp>
578 * omx/gstomxvideodec.c:
579 omxvideodec: Deactivate negotiated pool when output own buffer
580 If decoder outputs internal buffer and not use OMX_UseBuffer,
581 downstream bufferpool should be stopped.
583 2019-06-03 12:21:05 +0900 Shinya Saito <ssaito@igel.co.jp>
585 * omx/gstomxh264enc.c:
586 * omx/gstomxh264enc.h:
587 omxh264enc: Add 'ref-frames' property
588 Add a property to control the number of frames for reference.
589 Min and max value is based on OpenMAX IL 1.2.0 Specification.
591 2019-06-03 07:57:02 +0200 Niels De Graef <niels.degraef@barco.com>
595 meson: Bump minimal GLib version to 2.44
596 This means we can use some newer features and get rid of some
597 boilerplate code using the G_DECLARE_* macros.
598 As discussed on IRC, 2.44 is old enough by now to start depending on it.
600 2019-04-19 12:38:54 -0400 Thibault Saunier <tsaunier@igalia.com>
602 * docs/gst_plugins_cache.json:
609 doc: Build documentation of hotdoc
611 2019-03-26 12:26:03 +0200 George Kiagiadakis <george.kiagiadakis@collabora.com>
615 gstomx: remove gst_omx_buffer_set_omx_buf/get_omx_buf
616 They are no longer used anywhere
618 2019-03-22 12:11:13 +0200 George Kiagiadakis <george.kiagiadakis@collabora.com>
621 * omx/gstomxallocator.c:
622 * omx/gstomxallocator.h:
623 * omx/gstomxbufferpool.c:
624 * omx/gstomxbufferpool.h:
625 * omx/gstomxvideoenc.c:
627 omxbufferpool: refactor to allow memory sharing
628 One big restriction of the OMX buffer pool has always been
629 that the GstMemory objects were flagged with NO_SHARE.
630 This was because the buffer pool needed to be sure that when
631 a buffer returned to the pool, it would be safe to release the
632 OMX buffer back to OpenMAX.
633 With this change, this is no longer a restriction. What this
634 commit introduces is a new allocator that allows us to track
635 the GstMemory objects independently. Now, when a buffer returns
636 to the pool, it is not necessary for the memory to be released
637 as well. We simply track the memory's ref count in the allocator
638 and we return the OMX buffer back when the memory's ref count
640 The reason for doing this is to allow implementing zero-copy
641 transfers in situations where we may need to copy or map a
642 certain region of the buffer. For instance, omxh264enc ! h264parse
643 should be possible to be zero-copy by using an OMX buffer pool
646 2019-04-23 15:13:23 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
648 * omx/gstomxbufferpool.c:
649 omxbufferpool: fix memory mapping with offset
650 gst_memory_map() is already adding the offset to the mapped pointer.
651 Doing it in the memory implementation was resulting in the offset being
653 It doesn't matter yet as we are only creating memory without offset for
654 now but it will once we'll start sharing OMX memories.
656 2019-04-19 10:43:58 +0100 Tim-Philipp Müller <tim@centricular.com>
663 === release 1.16.0 ===
665 2019-04-19 00:38:44 +0100 Tim-Philipp Müller <tim@centricular.com>
675 2019-04-16 12:23:10 -0700 Julien Isorce <jisorce@oblong.com>
678 Fixes build with omx >= 1.2.0
679 gstomx.c:1405:10: error: ‘OMX_IndexParamCustomContentPipe’ undeclared (first use in this function)
680 case OMX_IndexParamCustomContentPipe
681 Some enums have been deprecated in 1.2.0
682 https://gitlab.freedesktop.org/gstreamer/gst-omx/issues/27
684 2018-05-18 10:55:21 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
687 * examples/egl/Makefile.am:
688 * examples/egl/meson.build:
689 testegl: properly detect and use rpi specific libs
690 Use pkg-config to detect and configure rpi specific libs used in testegl
691 rather than hardcoding their flags.
693 2018-05-18 10:53:34 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
695 * examples/egl/testegl.c:
696 testelg: include eglext.h
697 Neded for the declaration of eglSaneChooseConfigBRCM().
699 2018-05-18 10:38:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
701 * examples/egl/testegl.c:
702 testegl: move up pi specific macros
703 We need to define __VCCOREVER__ and disable redundant-decls before
704 including the egl.h from the pi.
706 === release 1.15.90 ===
708 2019-04-11 00:40:52 +0100 Tim-Philipp Müller <tim@centricular.com>
718 2019-04-10 00:19:55 +0100 Tim-Philipp Müller <tim@centricular.com>
721 meson: add -Wundef as additional warning flag
723 2019-04-10 00:16:27 +0100 Tim-Philipp Müller <tim@centricular.com>
725 * omx/gstomxvideoenc.c:
726 omx: fix autotools build for generic target
727 gstomxvideoenc.c:2874:7: error: "USE_OMX_TARGET_ZYNQ_USCALE_PLUS" is not defined, evaluates to 0 [-Werror=undef]
728 #elif USE_OMX_TARGET_ZYNQ_USCALE_PLUS
729 Works on meson because it doesn't use -Wundef
731 2018-11-12 12:51:28 +0200 Jordan Petridis <jordan@centricular.com>
734 Add Gitlab CI configuration
735 This commit adds a .gitlab-ci.yml file, which uses a feature
736 to fetch the config from a centralized repository. The intent is
737 to have all the gstreamer modules use the same configuration.
738 The configuration is currently hosted at the gst-ci repository
739 under the gitlab/ci_template.yml path.
740 Part of https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/29
742 2019-03-25 16:30:11 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
745 omx: disable OMX_API_TRACE code if gst debug is disabled
746 No need to create debug structs which won't be used as DEBUG macros are
749 2018-10-11 10:55:04 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
752 omx: log Get/SetParameter/Config calls
753 Extend OMX_API_TRACE by logging component configuration calls.
755 2019-02-06 14:57:05 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
757 * omx/gstomxbufferpool.c:
758 omxbufferpool: don't use CAT_PERFORMANCE if pool will copy
759 This was the single place where this category was used in gst-omx so
760 most users, including me, are generally not turning it and were missing this
761 important information from logs.
762 The copying code uses gst_video_frame_copy() which is already logging
763 with CAT_PERFORMANCE so we can still have this information when using
764 only this debug category.
766 2019-02-06 14:50:44 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
768 * omx/gstomxvideodec.c:
769 omxvideodec: add debug if proposed pool can't provide enough buffers
770 We were silently ignoring the pool which was pretty confusing when
773 2019-03-26 12:17:26 +0000 Charlie Turner <cturner@igalia.com>
775 * omx/gstomxaacdec.c:
776 * omx/gstomxaacenc.c:
777 * omx/gstomxamrdec.c:
778 * omx/gstomxh263dec.c:
779 * omx/gstomxh263enc.c:
780 * omx/gstomxh264dec.c:
781 * omx/gstomxh264enc.c:
782 * omx/gstomxh265dec.c:
783 * omx/gstomxh265enc.c:
784 * omx/gstomxmjpegdec.c:
785 * omx/gstomxmp3dec.c:
786 * omx/gstomxmp3enc.c:
787 * omx/gstomxmpeg2videodec.c:
788 * omx/gstomxmpeg4videodec.c:
789 * omx/gstomxmpeg4videoenc.c:
790 * omx/gstomxtheoradec.c:
791 * omx/gstomxvp8dec.c:
792 * omx/gstomxwmvdec.c:
793 omx: Add hardware classifiers to encoders/decoders
795 2019-03-25 16:01:48 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
798 meson: sync warnings flags with -good
799 Add more warnings flags and disabled unused variable warnings if gst
800 debug system is disabled.
801 Copied from gst-plugins-good/meson.build
803 2019-03-04 09:16:40 +0000 Tim-Philipp Müller <tim@centricular.com>
811 === release 1.15.2 ===
813 2019-02-26 12:02:23 +0000 Tim-Philipp Müller <tim@centricular.com>
823 2019-02-14 23:57:09 +0000 Tim-Philipp Müller <tim@centricular.com>
827 meson: add options to disable examples, tests and tools and bump meson requirement
829 2019-01-04 10:11:38 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
833 * omx/gstomxvideodec.c:
834 * omx/gstomxvideoenc.c:
835 omxvideo: use GST_VIDEO_CAPS_MAKE() for template caps
836 Simplify the code and so we advertise the formats actually supported by
839 2018-06-04 12:20:03 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
841 * omx/gstomxvideoenc.c:
842 omxvideoenc: validate cpb-size and initial-delay
843 cpb-size cannot be smaller than initial-delay.
845 2018-10-02 10:47:06 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
847 * omx/gstomxvideodec.c:
848 omxvideodec: Remove duplicated QoS code
849 The 'finish' function do the exact same check / drop, there is no
850 need to duplicate this here.
852 2018-09-20 14:44:09 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
854 * omx/gstomxvideodec.c:
855 * omx/gstomxvideodec.h:
856 omxvideodec: Remove dead code
857 The omxvideodec base class have a totally unused prepare_frame() vritual
860 2018-07-11 17:38:22 -0700 Varunkumar Allagadapa <varunkum@xilinx.com>
862 * omx/gstomxvideoenc.c:
863 omxvideoenc: add adaptive gop-mode option
864 Added adaptive gop-mode option to ZYNQ_USCALE_PLUS encoder properties
866 2018-02-13 18:25:51 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
868 * omx/gstomxvideoenc.c:
869 omxvideoenc: Add dynamic framerate support
870 Instead of going through a full reset, try and change the framerate
871 config on the encoder when only the framerate have change.
873 === release 1.15.1 ===
875 2019-01-17 02:38:28 +0000 Tim-Philipp Müller <tim@centricular.com>
885 2018-02-20 10:57:42 -0800 Varunkumar Allagadapa <varunkum@xilinx.com>
887 * omx/gstomxvideoenc.c:
888 omxvideoenc: Add dynamic IDR insertion support on zynq
889 As the pi, the zynq has its own API to request keyframe.
891 2019-01-07 13:29:37 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
895 * omx/gstomxbufferpool.c:
896 omxbufferpool: fix race when releasing input buffers
897 If buffers were released from the pool while
898 gst_omx_video_enc_handle_frame() was waiting for new buffers,
899 gst_omx_port_acquire_buffer() was never awaken as the buffers weren't
900 released through OMX's messaging system.
901 GQueue isn't thread safe so also protect it with the lock mutex.
903 2018-11-15 11:17:59 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
905 * omx/gstomxbufferpool.c:
906 * omx/gstomxbufferpool.h:
907 * omx/gstomxvideodec.c:
908 * omx/gstomxvideoenc.c:
909 omxbufferpool: fix early input buffer release
910 We used to track the 'allocating' status on the pool. It is used while
911 allocating so output buffers aren't passed right away to OMX and input
912 ones are not re-added to the pending queue.
913 This was causing a bug when exporting buffers to v4l2src. On start
914 v4l2src acquires a buffer, read its stride and release it right away.
915 As no buffer was received by the encoder element at this point, 'allocating'
916 was still on TRUE and so the the buffer wasn't put back to the pending
917 queue and, as result, no longer available to the pool.
918 Fix this by checking the active status of the pool instead of manually
919 tracking it down. The pool is considered as active at the very end of
920 the activation process so we're good when buffers are released during
923 2018-12-05 17:24:48 -0300 Thibault Saunier <tsaunier@igalia.com>
926 Automatic update of common submodule
927 From ed78bee to 59cb678
929 2018-11-23 12:57:15 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
932 omx: fix OMX_EventBufferFlag OMX_API_TRACE struct
933 The GType was missing from the second field of the struct.
935 2018-11-05 05:43:43 +0000 Matthew Waters <matthew@centricular.com>
939 Update git locations to gitlab
941 2018-09-18 16:50:11 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
944 omx: rename OMX_PERFORMANCE debug cat to OMX_API_TRACE
945 This debug category can now be used to track more OMX calls and events
946 so best to rename it to something more generic.
947 https://bugzilla.gnome.org/show_bug.cgi?id=797171
949 2018-08-21 17:35:04 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
952 omx: log OMX commands with OMX_PERFORMANCE debug category
953 It has been useful to have a clear raw and structured view of the gst
954 <-> OMX exchanges when debugging.
955 https://bugzilla.gnome.org/show_bug.cgi?id=797171
957 2018-08-21 16:50:38 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
960 omx: factor out gst_omx_component_send_command()
961 No semantic change. I'm going to add extra debug in this function.
962 https://bugzilla.gnome.org/show_bug.cgi?id=797171
964 2018-08-21 15:14:09 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
967 omx: log OMX events with OMX_PERFORMANCE debug category
968 It has been useful to have a clear raw and structured view of the gst
969 <-> OMX exchanges when debugging.
970 https://bugzilla.gnome.org/show_bug.cgi?id=797171
972 2018-08-22 12:51:30 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
975 omx: rename log_omx_performance() to log_omx_performance_buffer()
976 I'm about to log more things under this category
977 https://bugzilla.gnome.org/show_bug.cgi?id=797171
979 2018-09-07 22:57:30 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
981 * omx/gstomxvideoenc.c:
982 omxvideoenc: Remove spurious locking
983 The method we call in the context of pushing a buffer are all thread
984 safe. Holding a lock would prevent input buffers from being queued while
986 https://bugzilla.gnome.org/show_bug.cgi?id=715192
988 2018-09-07 23:09:29 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
990 * omx/gstomxvideoenc.c:
991 omxvideoenc: Remove unneeded size check
992 We only enter this branch if nFilledLen > 0, there is not need
994 https://bugzilla.gnome.org/show_bug.cgi?id=715192
996 2018-09-07 22:55:41 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
998 * omx/gstomxvideodec.c:
999 omxvideodec: Remove spurious unlock in error case
1000 This was forgotton in previous patch. We no long hold the lock when goto
1001 invalid_buffer is called.
1002 https://bugzilla.gnome.org/show_bug.cgi?id=715192
1004 2018-08-31 17:28:03 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1006 * omx/gstomxvideodec.c:
1007 omxvideodec: don't hold the stream lock when trying to push a frame
1008 The base class methods will lock this properly when needed, there seems
1009 to be no need to lock it explicitly.
1010 This allows the patch in gstvideodec for unlocking the stream lock
1011 when pushing buffers out to work.
1012 https://bugzilla.gnome.org/show_bug.cgi?id=715192
1014 2018-07-31 13:22:31 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1016 * omx/gstomxvideodec.c:
1017 omxvideodec: don't import OMX buffers from downstream
1018 We already have code configuring the encoder stride and slice height
1019 when receiving the first buffer from upstream.
1020 We don't have an equivalent when the encoder is exporting its buffers to the
1022 There is no point adding it and making the code even more
1023 complex as we wouldn't gain anything by exporting from the encoder to
1024 the decoder. The dynamic buffer mode already ensures 0-copy between OMX
1026 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1028 2018-05-15 11:59:26 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1032 * omx/gstomxbufferpool.c:
1033 * omx/gstomxvideoenc.c:
1034 * omx/gstomxvideoenc.h:
1035 omxvideoenc: implement dmabuf export on input buffers
1036 Propose pool upstream so input buffers can be allocated by the port and
1038 The actual OMX buffers are allocated when the pool is activated, so we
1039 don't end up doing useless allocations if the pool isn't used.
1040 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1042 2018-08-13 15:10:37 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1046 * omx/gstomxaudiodec.c:
1047 * omx/gstomxaudioenc.c:
1048 * omx/gstomxaudiosink.c:
1049 * omx/gstomxvideodec.c:
1050 * omx/gstomxvideoenc.c:
1051 omx: allow gst_omx_port_acquire_buffer() to not wait for buffers
1052 Will be needed to implement GST_BUFFER_POOL_ACQUIRE_FLAG_DONTWAIT.
1053 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1055 2018-07-31 15:04:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1057 * omx/gstomxvideodec.c:
1058 omxvideodec: don't import non-dmabuf when dec is in dmabuf mode
1059 Fix 'omxh264dec ! videocrop' pipeline.
1060 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1062 2018-08-02 11:29:12 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1064 * omx/gstomxvideodec.c:
1065 omxvideodec: factor out gst_omx_try_importing_buffer()
1066 No semantic change, just make the code clearer and improve debug output.
1067 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1069 2018-07-26 16:30:08 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1071 * omx/gstomxvideodec.c:
1072 omxvideodec: fix gst_video_info_from_caps() caps assertion
1073 The "use buffers" code path uses gst_video_info_from_caps() which is
1074 asserting if caps is NULL (because pool was rejected).
1075 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1077 2018-07-26 16:22:50 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1079 * omx/gstomxvideodec.c:
1080 omxvideodec: fix pool caps reference stealing
1081 gst_buffer_pool_config_get_params() doesn't ref the returning caps;
1082 so gst_caps_replace() was unreffing the reference owned by the pool.
1083 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1085 2018-07-25 09:57:20 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1087 * omx/gstomxvideodec.c:
1088 omxvideodec: prevent timeout when shutting down because of pending out buffers
1089 The OMX transition state to Loaded won't be complete until all buffers
1090 have been freed. There is no point waiting, and timeout, if we know that
1091 output buffers haven't been freed yet.
1092 The typical scenario is output buffers being still used downstream
1093 and being freed later when released back to the pool.
1094 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1096 2018-07-24 15:14:31 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1098 * omx/gstomxbufferpool.c:
1099 omxbufferpool: reference the OMX component
1100 Now that the pool is responsible of freeing the OMX buffers, we need to
1101 ensure that the OMX component stay alive while the pool is as we rely on
1102 the component to free the buffers.
1103 The GstOMXPort is owned by the component so no need to ref this one.
1104 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1106 2018-07-24 15:06:01 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1110 * omx/gstomxaudiodec.c:
1111 * omx/gstomxaudioenc.c:
1112 * omx/gstomxaudiosink.c:
1113 * omx/gstomxvideodec.c:
1114 * omx/gstomxvideoenc.c:
1115 turn GstOMXComponent to a GstMiniObject
1116 Will use it for refcounting.
1117 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1119 2018-05-28 12:20:45 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1121 * omx/gstomxbufferpool.c:
1122 * omx/gstomxvideodec.c:
1123 omxbufferpool: deallocate OMX buffers when stopping
1124 The pool is stopped when all the buffers have been released. Deallocate
1125 when stopping so we are sure that the buffers aren't still used by
1127 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1129 2018-05-24 16:28:21 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1132 omx: call gst_omx_buffer_unmap() when handling BUFFER_DONE
1133 When using a input buffer pool, the buffer may be released to the pool when
1134 gst_omx_buffer_unmap() is called. We need to have buf->used unset at
1135 this point as the pool may use it to check the status of the pool.
1136 {Empty,Fill}BufferDone is called from OMX internal threads while
1137 messages are handled from gst elements' thread. Best to do all this
1138 when handling the message so we don't mess with OMX threads and keep
1139 the original thread/logic split.
1140 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1142 2018-05-25 14:44:16 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1144 * omx/gstomxvideodec.c:
1145 * omx/gstomxvideoenc.c:
1146 omxvideo{enc,dec}: stop calling shutdown() in change_state
1147 This is no longer needed since we implemented close() vfuncs as the
1148 encoder/decoder base class already take care of calling close() (which
1149 is calling shutdown()) in its own change_state implementation.
1150 We also move the shut down of the component from PAUSED_TO_READY to READY_TO_NULL.
1151 By doing so upstream will have already deactivated the pool from the
1152 encoder and so won't be preventing the OMX state change as the buffers
1153 will all be released.
1154 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1156 2018-05-15 16:21:26 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1160 * omx/gstomxbufferpool.c:
1161 omx: factor out gst_omx_buffer_get/set_omx_buf()
1162 Move the qdata code to helper functions as I'm going to need them in
1163 omxvideoenc to implement dmabuf export.
1164 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1166 2018-05-15 11:01:13 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1168 * omx/gstomxvideoenc.c:
1169 omxvideoenc: factor out gst_omx_video_enc_set_to_idle()
1170 No semantic change. We'll have to use this when the input pool is
1171 activated so we can allocate buffers.
1172 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1174 2018-05-15 09:56:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1176 * omx/gstomxvideoenc.c:
1177 omxvideoenc: factor out gst_omx_video_enc_deallocate_in_buffers()
1178 Will add extra code when adding input buffer pool.
1179 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1181 2018-05-14 15:16:38 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1184 omx: add pBuffer to OMX_PERFORMANCE logs
1185 Can be useful to check the fd being passed when using dmabuf.
1186 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1188 2018-03-21 12:43:33 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1192 * omx/gstomxvideodec.c:
1193 * omx/gstomxvideoenc.c:
1194 omx: factor out gst_omx_port_set_dmabuf()
1195 No semantic change. I also made the debug message a bit clearer.
1196 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1198 2018-08-22 15:56:18 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1201 omx: wait for flush complete and buffers being released when flushing
1202 When flusing we should wait for OMX to send the flush command complete event
1203 AND all ports being released.
1204 We were stopping as soon as one of those condition was met.
1205 Fix a race between FillThisBufferDone/EmptyBufferDone and the flush
1206 EventCmdComplete messages. The OMX implementation is supposed to release
1207 its buffers before posting the EventCmdComplete event but the ordering
1208 isn't guaranteed as the FillThisBufferDone/EmptyBufferDone and
1209 EventHandler callbacks can be called from different threads (cf 2.7
1210 'Thread Safety' in the spec).
1211 Only wait for buffers currently used by OMX as some buffers may not be
1212 in the pending queue because they are held downstream.
1213 https://bugzilla.gnome.org/show_bug.cgi?id=789475
1215 2018-08-22 15:52:23 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1218 omx: factor out should_wait_until_flushed()
1219 No semantic change. Makes the code easier to understand and I'm about to
1220 change the waiting condition.
1221 https://bugzilla.gnome.org/show_bug.cgi?id=789475
1223 2018-08-28 13:10:35 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1225 * omx/gstomxvideoenc.c:
1226 omxvideoenc: pause component when flushing
1227 As stated in the spec ("6.1.3 Seek Event Sequence") we should pause
1229 We were pausing the decoder but not the encoder so I just aligned the
1231 https://bugzilla.gnome.org/show_bug.cgi?id=797038
1233 2018-07-12 12:41:18 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1235 * omx/gstomxvideoenc.c:
1236 omxvideoenc: fix vertical padding in NV16 formats
1237 My previous patch to calculate the vertical padding was always halfing
1238 the height of the chroma plane which is incorrect for NV16 formats.
1239 https://bugzilla.gnome.org/show_bug.cgi?id=796749
1241 2018-07-05 15:13:47 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1243 * omx/gstomxvideoenc.c:
1244 omxvideoenc: include vertical padding in nFilledLen when copying
1245 According to the OMX spec (3.1.3.7.1) nFilledLen is meant to include any
1246 padding. We use to include the horizontal one (stride) but not the
1247 vertical one if nSliceHeight is bigger than the actual height.
1248 The calculated nFilledLen was wrong as it didn't include the padding
1250 https://bugzilla.gnome.org/show_bug.cgi?id=796749
1252 2018-04-26 12:30:47 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1256 * omx/gstomxvideodec.c:
1257 * omx/gstomxvideoenc.c:
1258 * omx/gstomxvideoenc.h:
1259 omxvideoenc: implement decide_allocation
1260 Increase the number of output buffers by the number of buffers requested
1262 Prevent buffers starvation if downstream is going to use dynamic buffer
1264 https://bugzilla.gnome.org/show_bug.cgi?id=795746
1266 2018-04-26 12:29:16 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1268 * omx/gstomxvideodec.c:
1269 omxvideodec: implement propose_allocation
1270 Tell upstream about how many buffer we plan to use so they can adjust
1271 their own number of buffers accordingly if needed.
1272 Same logic as the existing gst_omx_video_enc_propose_allocation().
1273 https://bugzilla.gnome.org/show_bug.cgi?id=795746
1275 2018-05-17 09:54:11 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1277 * omx/gstomxvideoenc.c:
1278 * omx/gstomxvideoenc.h:
1279 omxvideoenc: always signal drain cond when stopping streaming loop
1280 Similar change as the one I just did in omxvideodec.
1281 https://bugzilla.gnome.org/show_bug.cgi?id=796207
1283 2018-05-16 17:06:29 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1285 * omx/gstomxvideodec.c:
1286 * omx/gstomxvideodec.h:
1287 omxvideodec: always signal drain cond when stopping streaming loop
1288 If for some reason something goes wrong and we stop the streaming loop
1289 we may end up with other threads still waiting on the drain cond.
1290 No more buffers will be produced by the component so they were waiting
1292 Fix this by always signalling this cond when stopping the streaming
1294 https://bugzilla.gnome.org/show_bug.cgi?id=796207
1296 2018-05-16 17:02:01 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1298 * omx/gstomxvideodec.c:
1299 omxvideoenc: factor out gst_omx_video_enc_pause_loop()
1300 No semantic change. I'm going to use it in more failure cases.
1301 https://bugzilla.gnome.org/show_bug.cgi?id=796207
1303 2018-05-17 14:24:52 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1305 * config/zynqultrascaleplus/gstomx.conf:
1306 zynqultrascaleplus: enable 'ensure-buffer-count-actual' hack
1307 https://bugzilla.gnome.org/show_bug.cgi?id=791211
1309 2018-04-27 16:26:36 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1313 * omx/gstomxvideodec.c:
1314 * omx/gstomxvideoenc.c:
1315 omxvideodec/enc: add hack updating nBufferCountActual before allocating
1316 The OMX specs states that the nBufferCountActual of a port has to default
1317 to its nBufferCountMin. If we don't change nBufferCountActual we purely rely
1318 on this default. But in some cases, OMX may change nBufferCountMin before we
1319 allocate buffers. Like for example when configuring the input ports with the
1320 actual format, it may decrease the number of minimal buffers required.
1321 This method checks this and update nBufferCountActual if needed so we'll use
1322 less buffers than the worst case in such scenarios.
1323 SetParameter() needs to be called when the port is either disabled or
1324 the component in the Loaded state.
1325 Don't do this for the decoder output as
1326 gst_omx_video_dec_allocate_output_buffers() already check
1327 nBufferCountMin when computing the number of output buffers.
1328 On some platform, like rpi, the default nBufferCountActual is much
1329 higher than nBufferCountMin so only enable this using a specific gst-omx
1331 https://bugzilla.gnome.org/show_bug.cgi?id=791211
1333 2018-05-28 15:02:13 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1335 * omx/gstomxvideodec.c:
1336 * omx/gstomxvideoenc.c:
1337 omxvidee{enc,dec}: refresh input port definition after setting format
1338 Setting the input format and the associated encoder/decoder settings
1339 may also affect the nBufferCountMin of the input port.
1340 Refresh the input port so we'll use up to date values in propose/decide
1342 https://bugzilla.gnome.org/show_bug.cgi?id=796445
1344 2018-05-07 11:59:08 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1347 omx: always consider component in 'invalid' state when an error occured
1348 gst_omx_component_get_state() used to early return if there was no
1349 pending state change. So if the component raised an error it wasn't
1350 considered in the invalid state until the next requested state change.
1351 Fix this by checking first if we received an error.
1352 https://bugzilla.gnome.org/show_bug.cgi?id=795874
1354 2018-05-25 01:35:58 +1000 Matthew Waters <matthew@centricular.com>
1357 * meson_options.txt:
1358 meson: Update option names to omit 'with_omx' prefixes
1359 Companion commit to:
1360 https://cgit.freedesktop.org/gstreamer/gstreamer/commit/?id=4fb02fc85b70be631f5331b2547e5dc61ef7a43a
1361 https://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=1e1a5d658e4a031535c44823fd398d3052ca2000
1364 2018-03-21 13:52:23 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1366 * omx/gstomxvideodec.c:
1367 omxvideodec: pass a GstOMXBufferMode to gst_omx_buffer_pool_new()
1368 The output_mode is supposed to be a GstOMXBufferMode, not a boolean.
1370 2018-05-03 09:27:15 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1372 * config/zynqultrascaleplus/gstomx.conf:
1373 zynq: remove 'no-disable-outport' hack
1374 No longer needed with newer version of the OMX stack.
1376 2018-03-13 16:15:30 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1378 * omx/gstomxh264enc.c:
1379 * omx/gstomxh265enc.c:
1380 omxh26{4,5}enc: don't pick default 10-bit profile
1381 The OMX stack of the zynqultrascaleplus (the only one supporting
1382 NV12_10LE32 and NV16_10LE32) will now pick the proper profile if none
1383 has been requested. Best to rely on its default than hardcoding a
1384 specific one in gst-omx.
1385 https://bugzilla.gnome.org/show_bug.cgi?id=794319
1387 2018-03-06 14:16:56 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1389 * omx/gstomxh264utils.c:
1390 omxh264: sync with supported profiles on zynqultrascaleplus
1391 Add extra supported AVC profiles and remove extended and 4:4:4 profiles
1392 which are actually not implemented.
1393 https://bugzilla.gnome.org/show_bug.cgi?id=794177
1395 2018-03-06 10:45:14 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1397 * omx/gstomxh264enc.c:
1398 * omx/gstomxh264utils.c:
1399 * omx/gstomxh264utils.h:
1400 omxh264: factor out gst_omx_h264_utils_get_profile_from_enum()
1401 Move the profile <-> enum mapping to one place. Make changes easier as
1402 I'm about to add extra profiles.
1404 https://bugzilla.gnome.org/show_bug.cgi?id=794177
1406 2018-03-06 11:02:44 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1408 * omx/gstomxh265utils.c:
1409 omxh265: add format range extension profiles on zynqultrascaleplus
1410 The zynqultrascaleplus OMX gained support for more format range
1411 extensions profiles (A.3.5).
1412 https://bugzilla.gnome.org/show_bug.cgi?id=794177
1414 2018-03-06 10:45:14 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1416 * omx/gstomxh265enc.c:
1417 * omx/gstomxh265utils.c:
1418 * omx/gstomxh265utils.h:
1419 omxh265: factor out gst_omx_h265_utils_get_profile_from_enum()
1420 Move the profile <-> enum mapping to one place. Make changes easier as
1421 I'm about to add some profiles.
1423 https://bugzilla.gnome.org/show_bug.cgi?id=794177
1425 2018-03-08 12:22:26 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1427 * omx/gstomxvideoenc.c:
1428 omxvideoenc: add NV16 support
1429 NV16 format wasn't supported on encoder input while it was on decoder
1431 https://bugzilla.gnome.org/show_bug.cgi?id=794175
1433 2018-03-08 12:09:38 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1435 * omx/gstomxvideo.c:
1436 omxvideo: display port number when listing supported formats
1437 More convenient when debugging.
1438 https://bugzilla.gnome.org/show_bug.cgi?id=794175
1440 2018-03-29 16:42:40 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1443 * omx/gstomxvideoenc.c:
1444 * omx/gstomxvideoenc.h:
1445 omxvideoenc: restore OMX default target-bitrate if requested by user
1446 0xffffffff is the magic number in gst-omx meaning 'the default value
1447 defined in OMX'. This works fine with OMX parameters which are only set
1448 once when starting the component but not with configs which can be
1449 changed while PLAYING.
1450 Save the actual OMX default bitrate so we can restore it later if user
1451 sets back 0xffffffff on the property.
1452 Added GST_OMX_PROP_OMX_DEFAULT so we stop hardcoding magic numbers
1454 https://bugzilla.gnome.org/show_bug.cgi?id=794998
1456 2018-03-29 11:36:00 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1458 * omx/gstomxvideoenc.c:
1459 omxvideoenc: use gst_omx_video_enc_set_bitrate() when setting bitrate in set_format
1460 We weren't using the usual pattern when re-setting the bitrate:
1461 - get parameters from OMX
1462 - update only the fields different from 0xffffffff (OMX defaults)
1464 Also added a comment explaining why we re-set this param.
1465 https://bugzilla.gnome.org/show_bug.cgi?id=794998
1467 2018-03-29 11:26:04 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1469 * omx/gstomxvideoenc.c:
1470 omxvideoenc: factor out gst_omx_video_enc_set_bitrate()
1471 No semantic change, I'm about to re-use this function in set_format().
1472 https://bugzilla.gnome.org/show_bug.cgi?id=794998
1474 2018-04-20 11:54:14 +0100 Tim-Philipp Müller <tim@centricular.com>
1477 meson: fix miscellaneous meson warnings
1478 cc.has_header*() doesn't have a 'required:' kwarg.
1480 2018-04-18 12:42:55 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1482 * omx/gstomxvideodec.c:
1483 * omx/gstomxvideoenc.c:
1484 omxvideoenc/dec: fix handling of component enabling failing
1485 - Report the error from OMX if any (OMX_EventError)
1486 - If not report the failing to the application (GST_ELEMENT_ERROR)
1487 - return GST_FLOW_ERROR rather than FALSE
1489 https://bugzilla.gnome.org/show_bug.cgi?id=795352
1491 2018-04-16 10:53:41 +0100 Tim-Philipp Müller <tim@centricular.com>
1494 Automatic update of common submodule
1495 From 3fa2c9e to ed78bee
1497 2018-03-14 14:53:50 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1500 log_omx_performance: convert pointers to strings
1501 G_TYPE_POINTER are not serialized in logs.
1502 https://bugzilla.gnome.org/show_bug.cgi?id=794331
1504 2018-04-02 15:14:51 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1506 * omx/gstomxvideoenc.c:
1507 omxvideoenc: remove duplicated debug message
1508 We already have the exact same message at the beginning of
1509 gst_omx_video_enc_handle_frame(). Having it twice is confusing when
1510 reading/grepping logs.
1511 I kept the earlier one to keep the symetry with
1512 gst_omx_video_dec_handle_frame().
1513 https://bugzilla.gnome.org/show_bug.cgi?id=794897
1515 2018-02-22 11:27:03 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1517 * omx/gstomxvideoenc.c:
1518 omxvideoenc: add 'roi' qp-mode on zynqultrascaleplus
1519 New QP mode used to handle ROI metadata.
1520 https://bugzilla.gnome.org/show_bug.cgi?id=793696
1522 2018-03-20 10:31:10 +0000 Tim-Philipp Müller <tim@centricular.com>
1530 === release 1.14.0 ===
1532 2018-03-19 20:31:02 +0000 Tim-Philipp Müller <tim@centricular.com>
1542 === release 1.13.91 ===
1544 2018-03-13 19:32:39 +0000 Tim-Philipp Müller <tim@centricular.com>
1554 2018-03-09 12:02:29 +0000 Tim-Philipp Müller <tim@centricular.com>
1557 meson: fix typo in package name define
1559 2018-02-27 15:42:53 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1561 * omx/gstomxh265enc.c:
1562 * omx/gstomxh265utils.c:
1563 omxh265: update 422 profile names
1564 h265parse is gaining support for the format range extension profile
1566 Use the profile names defined in h265parse.
1567 https://bugzilla.gnome.org/show_bug.cgi?id=793928
1569 2018-03-05 13:49:18 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1571 * omx/gstomxvideoenc.c:
1572 omxvideoenc: Don't drop the frame on empty payload
1573 This otherwise may lead to "No reference frame found" warning.
1575 2018-03-01 15:16:55 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1577 * omx/gstomxvideodec.c:
1578 omxvideodec: Don't drop the frame on empty payload
1579 This otherwise may lead to "No reference frame found" warning.
1581 2018-03-02 15:36:06 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1584 omx: Free empty buffers list in use_dynamic_buffers
1585 To indicate we are doing dynamic buffers importation, we pass
1586 a list of NULL pointers, but we forgot to free that list.
1588 2018-03-01 15:16:32 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1590 * omx/gstomxvideodec.c:
1591 omxvideodec: Fix CodecState leak
1593 === release 1.13.90 ===
1595 2018-03-03 23:00:59 +0000 Tim-Philipp Müller <tim@centricular.com>
1605 2018-03-03 20:21:06 +0000 Tim-Philipp Müller <tim@centricular.com>
1607 * config/Makefile.am:
1608 config: dist tizonia config files
1610 2018-03-02 11:06:08 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1613 Revert "omx: wait for flush complete and buffers being released when flushing"
1614 This reverts commit 4211e4c29a262f110cb92ddf9c06b403ced233ef.
1616 2018-02-21 12:50:42 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1618 * omx/gstomxvideoenc.c:
1619 videoenc: don't set stride padding to 0 when copying frames
1620 Padding can be left undefined there is no point filling it with 0.
1621 https://bugzilla.gnome.org/show_bug.cgi?id=793694
1623 2018-02-16 11:50:35 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1625 * omx/gstomxbufferpool.c:
1626 * omx/gstomxh264enc.c:
1627 * omx/gstomxh265enc.c:
1628 * omx/gstomxvideo.c:
1629 * omx/gstomxvideodec.c:
1630 * omx/gstomxvideoenc.c:
1631 add support for NV12_10LE32 and NV16_10LE32 on zynqultrascaleplus
1632 The encoder and decoder on zynqultrascaleplus support these new 10 bits
1634 https://bugzilla.gnome.org/show_bug.cgi?id=793694
1636 2018-02-16 11:46:47 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1638 * omx/gstomxvideoenc.c:
1639 omxvideoenc: factor out gst_omx_video_enc_nv12_manual_copy()
1640 No semantic change, I'm going to re-use it to copy the NV12_10LE32
1642 https://bugzilla.gnome.org/show_bug.cgi?id=793694
1644 2018-01-17 10:40:49 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1646 * omx/gstomxvideoenc.c:
1647 omxvideoenc: display the computed buffer size when configuring input
1648 https://bugzilla.gnome.org/show_bug.cgi?id=793694
1650 2018-02-06 14:25:57 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1652 * omx/gstomxvideoenc.c:
1653 * omx/gstomxvideoenc.h:
1654 videoenc: implement ROI on zynqultrascaleplus
1655 Check input buffers for ROI meta and pass them to the encoder by using
1656 zynqultrascaleplus's custom OMX extension. Also add a new
1657 "default-roi-quality" in order to tell the encoder what quality level
1658 should be applied to ROI by default.
1659 https://bugzilla.gnome.org/show_bug.cgi?id=793696
1661 2018-02-14 17:23:39 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1663 * omx/gstomxvideoenc.c:
1664 omxvideoenc: remove GST_PARAM_MUTABLE_PLAYING from 'max-bitrate' property
1665 This property isn't actually mutable in the PLAYING state.
1666 https://bugzilla.gnome.org/show_bug.cgi?id=793458
1668 2018-02-14 17:20:02 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1670 * omx/gstomxvideoenc.c:
1671 * omx/gstomxvideoenc.h:
1672 omxvideoenc: protect target_bitrate with the object lock
1673 The 'target-bitrate' property can be changed while PLAYING
1674 (GST_PARAM_MUTABLE_PLAYING). Make it thread-safe to prevent concurrent
1675 accesses between the application and streaming thread.
1676 https://bugzilla.gnome.org/show_bug.cgi?id=793458
1678 2018-02-20 11:46:49 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1680 * omx/gstomxbufferpool.c:
1681 omxbufferpool: add PERFORMANCE DEBUG message when copying output frames
1682 I spent quiet some time figuring out why performance of my pipeline were
1683 terrible. Turned out it was because of output frames being copied
1684 because of stride/offset mismatch.
1685 Add a PERFORMANCE DEBUG message to make it easier to spot and debug from logs.
1686 https://bugzilla.gnome.org/show_bug.cgi?id=793637
1688 2018-02-15 19:44:37 +0000 Tim-Philipp Müller <tim@centricular.com>
1694 === release 1.13.1 ===
1696 2018-02-15 17:50:14 +0000 Tim-Philipp Müller <tim@centricular.com>
1705 2017-06-30 15:15:06 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1707 * omx/gstomxh265enc.c:
1708 omxh265enc: fix typo in "periodicty-idr" property name
1709 Also fix the 'nick' of the property.
1710 omxh265enc is based on the code from omxh264enc and suffers the same
1711 typo as we fixed in https://bugzilla.gnome.org/show_bug.cgi?id=784370
1712 This element isn't part of a stable release yet so it's not an API
1714 https://bugzilla.gnome.org/show_bug.cgi?id=793390
1716 2018-02-08 19:18:59 +0000 Tim-Philipp Müller <tim@centricular.com>
1719 meson: make version numbers ints and fix int/string comparison
1720 WARNING: Trying to compare values of different types (str, int).
1721 The result of this is undefined and will become a hard error
1722 in a future Meson release.
1723 Also remove unused libversion/soversion.
1725 2017-12-12 16:50:00 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1730 include all OMX extension headers if present
1731 The OMX specs defines 8 headers that implementations can use to define
1732 their custom extensions. We were checking and including 3 and ignoring
1734 https://bugzilla.gnome.org/show_bug.cgi?id=792043
1736 2018-01-30 10:31:03 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1740 * tools/meson.build:
1741 meson: simplify OMX extensions detection
1742 We are now always checking which files are present or not, even when using our
1743 internal copy of OMX, rather than hardcoding the ones present in it.
1744 https://bugzilla.gnome.org/show_bug.cgi?id=792043
1746 2018-01-30 11:54:24 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1750 * tools/meson.build:
1751 Revert "meson: use include_directories() with external OMX headers path"
1752 This reverts commit 9d37a92a615e54e8ee12f8c65bcfe386ec9de2d0.
1754 2017-11-27 14:52:10 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1756 * omx/gstomxh265enc.c:
1757 * omx/gstomxh265enc.h:
1758 omxh265enc: add some encoding properties
1759 constrained-intra-prediction and loop-filter-mode.
1760 Those map standard OMX settings.
1761 https://bugzilla.gnome.org/show_bug.cgi?id=792528
1763 2017-11-23 15:54:15 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1765 * omx/gstomxh264enc.c:
1766 * omx/gstomxh264enc.h:
1767 omxh264enc: add some encoding properties
1768 entropy-mode, constrained-intra-prediction and loop-filter-mode.
1769 Those map standard OMX settings.
1770 https://bugzilla.gnome.org/show_bug.cgi?id=792528
1772 2017-06-08 12:31:21 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1774 * omx/gstomxvideoenc.c:
1775 * omx/gstomxvideoenc.h:
1776 omxvideoenc: add zynqultrascaleplus specific properties
1777 https://bugzilla.gnome.org/show_bug.cgi?id=792528
1779 2017-10-31 12:24:39 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1781 * omx/gstomxvideoenc.c:
1782 omxvideoenc: document unit of target-bitrate property
1783 nTargetBitrate and nEncodeBitrate are defined in bits per second in the
1785 https://bugzilla.gnome.org/show_bug.cgi?id=792528
1787 2017-07-06 10:18:48 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1789 * omx/gstomxvideodec.c:
1790 * omx/gstomxvideodec.h:
1791 omxvideodec: add internal-entropy-buffers property on zynqultrascaleplus
1792 Custom property to control the number of internal buffers used in the
1793 decoder to smooth out entropy decoding performance.
1794 https://bugzilla.gnome.org/show_bug.cgi?id=792528
1796 2018-01-30 10:31:03 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1800 * tools/meson.build:
1801 meson: use include_directories() with external OMX headers path
1802 It seems cleaner to use the proper meson tools to include this path
1803 rather than manually tweak the build flags.
1804 This also allows us to simplify the OMX extensions detection code. We
1805 are now always checking which files are present, even when using our
1806 internal copy of OMX, rather than hardcoding the ones present in it.
1807 https://bugzilla.gnome.org/show_bug.cgi?id=792043
1809 2017-11-07 15:09:35 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1811 * omx/gstomxvideoenc.c:
1812 omxvideoenc: expose chroma format and bit depth in output caps
1813 As we added in the parser (bgo#792039) expose the chroma and bit
1814 depth information in output caps.
1815 https://bugzilla.gnome.org/show_bug.cgi?id=792040
1817 2017-11-07 14:30:45 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1819 * omx/gstomxvideoenc.c:
1820 omxvideoenc: factor out get_output_caps()
1821 No semantic change so far.
1822 https://bugzilla.gnome.org/show_bug.cgi?id=792040
1824 2017-12-29 11:59:36 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1826 * config/zynqultrascaleplus/gstomx.conf:
1829 * omx/gstomxvideodec.c:
1830 omxvideodec: add hack to pass color format from caps to OMX decoder
1831 This hack tries to pass as much information as possible from caps to the
1832 decoder before it receives any buffer. These information can be used by
1833 the OMX decoder to, for example, pre-allocate its internal buffers
1834 before starting to decode and so reduce its initial latency.
1835 This mechanism is currently supported by the zynqultrascaleplus decoder.
1836 https://bugzilla.gnome.org/show_bug.cgi?id=792040
1838 2017-12-01 12:43:19 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1841 log failing OMX calls as errors
1842 I find it confusing when debugging that OMX calls returning an error
1843 where not logged as GST_LEVEL_ERROR making them harder to spot.
1844 Fix this by introducing simple log macros checking the return value of
1845 the OMX call and logging failures as errors.
1846 https://bugzilla.gnome.org/show_bug.cgi?id=791069
1848 2017-10-30 11:59:19 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1851 add OMX_PERFORMANCE debug category
1852 Can be used to log buffers exchange between OMX and gst-omx to profile
1853 performances of the OMX component.
1854 Ideally this should be done using tracer hooks but it's currently not
1855 possible to define custom hooks outside of core.
1856 Use GST_DEBUG="OMX_PERFORMANCE:8" to enable it.
1858 https://github.com/gdesmott/gst-log-parser/blob/master/src/bin/omx-perf.rs
1859 as a simple program consuming those logs to generate gnuplot files and
1861 https://bugzilla.gnome.org/show_bug.cgi?id=791093
1863 2017-07-27 11:21:59 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1867 * omx/gstomxvideoenc.c:
1868 * omx/gstomxvideoenc.h:
1869 omxvideoenc: implement dmabuf import on zynqultrascaleplus
1870 The Zynq UltraScale+ encoder implements a custom OMX extension to
1871 directly import dmabuf saving the need of mapping input buffers.
1872 This can be use with either 'v4l2src io-mode=dmabuf' or an OMX video
1874 https://bugzilla.gnome.org/show_bug.cgi?id=792361
1876 2017-09-22 16:02:40 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1878 * omx/gstomxvideoenc.c:
1879 omxvideoenc: drop late input frames if QoS is enabled
1880 Make use of the new GstVideoEncoder QoS API to drop late input frames. This may
1881 help a live pipeline to catch up if it's being late and all frames end up
1882 being dropped at the sink.
1883 https://bugzilla.gnome.org/show_bug.cgi?id=792783
1885 2018-01-19 15:18:23 +0530 Ashish Kumar <kr.ashish@samsung.com>
1887 * examples/egl/testegl.c:
1888 TestEgl: Removed redundant/unused code
1889 https://bugzilla.gnome.org/show_bug.cgi?id=788550
1891 2018-01-03 16:07:18 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1893 * omx/gstomxvideoenc.c:
1894 omxvideoenc: early return in fill_buffer() if something goes wrong
1895 If something goes wrong while trying to manually copy the input buffer,
1896 the 'break' was moving us out of the 'for' loop but not out of the switch block.
1897 So we ended up calling gst_video_frame_unmap() a second time (raising
1898 assertions) and returning TRUE rather than FALSE.
1899 Reproduced with a WIP zynqultrascaleplus OMX branch reporting wrong
1900 buffer sizes and so triggering this bug.
1901 https://bugzilla.gnome.org/show_bug.cgi?id=792167
1903 2017-12-19 16:09:41 +0000 Tim-Philipp Müller <tim@centricular.com>
1906 meson: gl: the winsys and platform list in the .pc file is space-separated
1908 2017-12-19 16:08:58 +0000 Tim-Philipp Müller <tim@centricular.com>
1911 meson: fix subproject fallback for gstreamer-gl-1.0
1914 2017-12-12 17:30:27 +0000 Julien Isorce <jisorce@oblong.com>
1916 * omx/gstomxvideo.c:
1917 * omx/gstomxvideo.h:
1918 * omx/gstomxvideodec.c:
1919 omxvideodec: ignore very little variations of the framerate
1921 The dynamic format change should not happen when the
1922 resolution does not change and when only the framerate
1923 changes but very slightly, i.e. from 50000/1677=29.81
1924 to 89/3=29.66 so a "percentage change" of less than 1%
1925 (i.e. 100*(29.81-29.66)/29.66 = 0.50 < 1 ). In that case
1926 just ignore it to avoid unnecessary renegotiation.
1927 https://bugzilla.gnome.org/show_bug.cgi?id=759043
1929 2017-08-09 12:07:33 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1931 * omx/gstomxvideodec.c:
1932 * omx/gstomxvideodec.h:
1933 omxvideodec: use dynamic buffer mode on input if possible
1934 Prevent from copying the input buffers between GStreamer and OMX.
1935 Tested on zynqultrascaleplus and rpi (without dynamic buffers).
1936 https://bugzilla.gnome.org/show_bug.cgi?id=787093
1938 2017-07-20 16:35:31 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1940 * omx/gstomxvideoenc.c:
1941 * omx/gstomxvideoenc.h:
1942 omxvideoenc: use dynamic buffer mode on input if possible
1943 If the OMX component supports dynamic buffer mode and the input buffers
1944 are properly aligned avoid copying each input frame between OMX and
1946 Tested on zynqultrascaleplus and rpi (without dynamic buffers).
1947 https://bugzilla.gnome.org/show_bug.cgi?id=787093
1949 2017-07-20 12:56:37 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1951 * omx/gstomxvideodec.c:
1952 * omx/gstomxvideoenc.c:
1953 omxvideoenc/dec: factor out input buffer allocation
1954 No semantic change so far. I'm going to add an alternate way to allocate
1956 https://bugzilla.gnome.org/show_bug.cgi?id=787093
1958 2017-07-20 16:31:54 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1962 omx: add API to implement dynamic buffers support
1963 OMX 1.2.0 introduced a third way to manage buffers by allowing
1964 components to only allocate buffers header during their initialization
1965 and change their pBuffer pointer at runtime.
1966 This new feature can save us a copy between GStreamer and OMX for each
1968 This patch adds API to allocate and use such buffers.
1969 https://bugzilla.gnome.org/show_bug.cgi?id=787093
1971 2017-12-14 14:53:17 +1100 Matthew Waters <matthew@centricular.com>
1974 Automatic update of common submodule
1975 From e8c7a71 to 3fa2c9e
1977 2017-12-13 12:06:40 +0000 Julien Isorce <jisorce@oblong.com>
1979 * omx/gstomxvideodec.c:
1980 omxvideodec: consolidate the decision to try UseBuffer
1981 The tee element can call gst_query_add_allocation_pool with pool as NULL.
1982 Checking nth > 0 is not enough so we need to verify if there is a pool.
1983 https://bugzilla.gnome.org/show_bug.cgi?id=730758
1984 https://bugzilla.gnome.org/show_bug.cgi?id=784069
1986 2017-12-12 14:45:30 +0000 Julien Isorce <jisorce@oblong.com>
1988 * omx/gstomxvideo.c:
1989 * omx/gstomxvideo.h:
1990 * omx/gstomxvideodec.c:
1991 * omx/gstomxvideoenc.c:
1992 gstomxvideodec: fix framerate overflow
1993 Some live streams can set the framerate to 50000/1677 (=29.81).
1994 GstVideoInfo.fps_n << 16 is wrong if the fps_n is 50000
1995 (i.e. greater than 32767).
1996 https://bugzilla.gnome.org/show_bug.cgi?id=759043
1998 2017-08-22 13:48:26 +0100 Julien Isorce <jisorce@oblong.com>
2001 * examples/egl/Makefile.am:
2002 * examples/egl/meson.build:
2003 * examples/egl/testegl.c:
2005 example: port testegl.c to desktop
2006 Will be easier to maintain.
2007 Also uniformize autotool build with meson build which is
2008 already retrieving the gl libs.
2009 https://bugzilla.gnome.org/show_bug.cgi?id=781606
2011 2017-12-11 15:55:44 +0000 Julien Isorce <jisorce@oblong.com>
2014 meson: move omx features check after target selection
2015 And uses gst_omx_args instead of add_global_arguments.
2016 Similar to c69232852120d064c689caef07b3c68ad8fe6288
2017 which was only for configure.ac
2018 Useful to get omxvp8dec with meson too:
2019 meson . buildtmp -D with_omx_target=tizonia
2020 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2022 2017-12-04 17:11:04 +0000 Julien Isorce <jisorce@oblong.com>
2024 * config/tizonia/gstomx.conf.in:
2025 config: add OMX.Aratelia.audio_decoder.aac to Tizonia config
2026 Useful mostly for testing/debugging purpose as this is a software
2027 based decoder (libfaad) for which GStreamer provides a direct
2029 https://bugzilla.gnome.org/show_bug.cgi?id=791482
2031 2017-11-29 14:18:41 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2033 * omx/gstomxvideodec.c:
2034 omxvideodec: retrieve OMX_IndexParamVideoPortFormat before setting it
2035 The usual pattern when setting OMX params is to first get the struct
2036 param, override the values we want to set and then set the updated
2038 We were not doing this with OMX_IndexParamVideoPortFormat and so were
2039 resetting some fields such as OMX_VIDEO_PARAM_PORTFORMATTYPE.xFramerate
2040 https://bugzilla.gnome.org/show_bug.cgi?id=790979
2042 2017-05-21 17:34:51 +0100 Julien Isorce <jisorce@oblong.com>
2044 * omx/gstomxaacenc.c:
2045 omxaacenc: also set 'profile' if mpegversion is 4
2046 Like done by gst_codec_utils_aac_caps_set_level_and_profile
2047 which is called by avenc_aac, ffaac and voaacenc.
2048 https://bugzilla.gnome.org/show_bug.cgi?id=735208
2050 2017-10-24 12:19:50 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2053 omx: wait for flush complete and buffers being released when flushing
2054 As stated in the existing comment, when flusing we should wait for OMX
2055 to send the flush command complete event AND all ports being released.
2056 We were stopping as soon as one of those condition was met.
2057 Fix a race between FillThisBufferDone/EmptyBufferDone and the flush
2058 EventCmdComplete messages. The OMX implementation is supposed to release
2059 its buffers before posting the EventCmdComplete event but the ordering
2060 isn't guaranteed as the FillThisBufferDone/EmptyBufferDone and
2061 EventHandler callbacks can be called from different threads (cf 2.7
2062 'Thread Safety' in the spec).
2063 https://bugzilla.gnome.org/show_bug.cgi?id=789475
2065 2017-10-24 11:45:20 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2068 gst_omx_port_set_flushing: simplify waiting loop
2069 No semantic change so far, I just made the 'while' end condition easier
2070 to understand as a first step before changing it.
2071 - move error/time out checks inside the loop to make it clearer on what
2072 we are actually waiting for.
2073 - group port->buffers checks together with parenthesis as they are part
2074 of the same conceptual check: waiting for all buffers to be released.
2075 https://bugzilla.gnome.org/show_bug.cgi?id=789475
2077 2017-11-27 20:17:17 +1100 Matthew Waters <matthew@centricular.com>
2080 Automatic update of common submodule
2081 From 3f4aa96 to e8c7a71
2083 2017-11-23 15:03:48 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2085 * omx/gstomxh264enc.c:
2086 * omx/gstomxh264utils.c:
2087 zynqultrascaleplus: add support for extra AVC levels
2088 The Zynqultrascaleplus has support for extra AVC levels not defined in
2089 the OMX spec as a customer extension.
2090 https://bugzilla.gnome.org/show_bug.cgi?id=790758
2092 2017-10-16 14:47:07 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2096 * config/meson.build:
2099 * tests/Makefile.am:
2100 * tests/check/.gitignore:
2101 * tests/check/Makefile.am:
2102 * tests/check/generic/.gitignore:
2103 * tests/check/generic/states.c:
2104 * tests/check/meson.build:
2105 * tests/meson.build:
2107 Most of the boilerplate and the states test has been copied from
2109 https://bugzilla.gnome.org/show_bug.cgi?id=789094
2111 2017-10-17 13:07:05 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2114 * tools/meson.build:
2115 meson: add tools support
2116 Looks like the tools directory was left out during the initial port to
2118 https://bugzilla.gnome.org/show_bug.cgi?id=789090
2120 2017-10-16 14:24:50 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2123 omx: fix build on rpi
2124 The nTimeStamp field is a OMX_TICKS struct on the rpi so use the proper
2126 Fix build on the build which has been broken by
2127 b3173144b7c1b12c9e1b7571f78659be45d813f6
2128 https://bugzilla.gnome.org/show_bug.cgi?id=789052
2130 2017-10-17 12:11:04 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2134 check if Allegro headers are present when building zynqultrascaleplus
2135 The Zynq UltraScale+ uses a custom version of OMX implementing several
2136 3rd party extensions. Make sure those are present when building this
2138 https://bugzilla.gnome.org/show_bug.cgi?id=788064
2140 2017-10-16 12:42:44 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2142 * omx/gstomxvideodec.c:
2143 omxvideodec: remove redundant debug message
2144 We have already a debug message right after.
2145 https://bugzilla.gnome.org/show_bug.cgi?id=789058
2147 2017-10-16 13:26:38 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2149 * omx/gstomxh265enc.c:
2150 * omx/gstomxh265utils.c:
2151 omxh265: fix enum casting when using Allegro HEVC extensions
2152 Allegro's HEVC implementation defines a superset of the profiles and
2153 enums from the Android implementation.
2154 Properly cast to fix -Wenum-conversion warnings from clang.
2155 https://bugzilla.gnome.org/show_bug.cgi?id=789057
2157 2017-10-16 13:08:12 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2159 * omx/gstomxh265enc.c:
2160 * omx/gstomxvp8dec.c:
2161 properly cast extension enums
2162 OMX's allow 3rds party to define extensions using their own enums
2163 (like OMX_VIDEO_CODINGEXTTYPE) and to be used as the general
2164 ones (like OMX_VIDEO_CODINGTYPE).
2165 Properly cast those to fix -Wenum-conversion warnings from some
2166 compilers such as clang.
2167 https://bugzilla.gnome.org/show_bug.cgi?id=789057
2169 2017-10-09 13:12:35 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2172 omx: also reset nTimeStamp when re-using buffers
2173 Some OMX implementations may check if the timestamp of the output buffers
2174 they receive is actually not set.
2175 https://bugzilla.gnome.org/show_bug.cgi?id=788711
2177 2017-10-04 17:11:55 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2180 omx: factor out gst_omx_buffer_reset()
2181 https://bugzilla.gnome.org/show_bug.cgi?id=788711
2183 2017-10-09 17:27:22 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2187 * omx/gstomxvideodec.c:
2188 * omx/gstomxvideoenc.c:
2189 add gst_omx_buffer_flags_to_string()
2190 Make debug logs more readable so users don't have to manually figure out
2191 the meaning of flags.
2192 https://bugzilla.gnome.org/show_bug.cgi?id=788767
2194 2017-09-27 19:47:29 +0530 Ponnam Srinivas <p.srinivas@samsung.com>
2196 * omx/gstomxh263enc.c:
2197 h263enc: fix caps leak in error code path
2198 https://bugzilla.gnome.org/show_bug.cgi?id=788245
2200 2017-09-21 15:21:36 +0530 Ponnam Srinivas <p.srinivas@samsung.com>
2202 * omx/gstomxh264enc.c:
2203 omxh264enc: fix caps leak
2204 https://bugzilla.gnome.org/show_bug.cgi?id=787711
2206 2017-09-21 11:36:46 +0530 Ponnam Srinivas <p.srinivas@samsung.com>
2208 * omx/gstomxh265enc.c:
2209 omxh265enc: fix caps leak
2210 https://bugzilla.gnome.org/show_bug.cgi?id=787714
2212 2017-09-13 15:32:51 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2214 * omx/gstomxvideodec.c:
2215 omxvideodec: log info about frame before releasing it
2216 gst_video_decoder_release_frame() takes ownership of the frame and will
2217 destroy it. So we should no longer use it after calling it.
2218 https://bugzilla.gnome.org/show_bug.cgi?id=787628
2220 2017-08-20 20:19:33 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2223 configure: Show tizonia target in help
2224 https://bugzilla.gnome.org/show_bug.cgi?id=786544
2226 2017-07-12 14:35:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2228 * config/zynqultrascaleplus/gstomx.conf:
2231 * omx/gstomxh265dec.c:
2232 * omx/gstomxh265dec.h:
2234 omxh265dec: add H265 decoder
2235 Add HEVC decoder for the zynqultrascaleplus platform.
2236 I used the H264 decoder code as a template.
2237 https://bugzilla.gnome.org/show_bug.cgi?id=785434
2239 2017-07-12 11:01:15 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2241 * config/zynqultrascaleplus/gstomx.conf:
2246 * omx/gstomxh265enc.c:
2247 * omx/gstomxh265enc.h:
2248 * omx/gstomxh265utils.c:
2249 * omx/gstomxh265utils.h:
2251 omxh265enc: add H265 encoder
2252 The OMX spec doesn't support HEVC but the OMX stack of the
2253 zynqultrascaleplus adds it as a custom extension.
2254 It uses the same API as the one of Android's OMX stack.
2255 I used the H264 encoder code as a template.
2256 https://bugzilla.gnome.org/show_bug.cgi?id=785434
2258 2017-08-28 13:56:22 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2260 * omx/gstomxvideoenc.c:
2261 omxvideoenc: use caps from query in propose_allocation
2262 Prevent crash by not deferencing a NULL pointer if self->input_state
2263 isn't defined when propose_allocation() is called.
2264 https://bugzilla.gnome.org/show_bug.cgi?id=786442
2266 2017-09-04 09:34:03 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2269 omx: display states as string if changing failed
2270 Improve the error message by displaying the states in their string
2271 representation rather than their numerical value.
2272 https://bugzilla.gnome.org/show_bug.cgi?id=787235
2274 2017-08-22 10:22:45 +0100 Julien Isorce <jisorce@oblong.com>
2276 * omx/gstomxvideodec.c:
2277 omxvideodec: EGLDisplay is not indirectly defined by gstgl headers inclusion
2278 Just use gpointer as done in GstGL to not include
2279 EGL/egl.h just for EGLDisplay.
2280 https://bugzilla.gnome.org/show_bug.cgi?id=784779
2282 2017-07-14 16:34:04 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2284 * config/tizonia/gstomx.conf.in:
2285 config: expose OMX.mesa h264 decoder and encoder in Tizonia config
2286 https://bugzilla.gnome.org/show_bug.cgi?id=783976
2288 2017-08-11 07:48:37 -0700 Julien Isorce <jisorce@oblong.com>
2290 * omx/gstomxvideodec.c:
2291 omxvideodec: remove wrong SettingsChanged ack
2292 Partially revert 1b7d0b8:
2293 omxvideodec: handle IL 1.2 behavior for OMX_SetParameter
2294 It turned out it was a problem in the decoder which was
2295 not updating some local variables upon SetParameter.
2296 https://bugzilla.gnome.org/show_bug.cgi?id=783976
2298 2017-07-20 09:43:19 +0100 Julien Isorce <jisorce@oblong.com>
2300 * omx/gstomxaudiodec.c:
2301 * omx/gstomxaudioenc.c:
2302 * omx/gstomxvideodec.c:
2303 * omx/gstomxvideoenc.c:
2304 omx{audio,video}{dec,enc}: sequentially disable ports because buffers are not shared
2305 For the history, the parallel disable port has been introduced by:
2306 "00be69f omxvideodec: Disable output port when setting a new format"
2307 and then replicated to videoenc, audiodec and audioenc.
2308 This is only required to do 'parallel' if buffers are shared between ports.
2309 But for decoders and encoders the input and output buffer are of different
2310 nature by definition (bitstream vs images). So they cannot be shared.
2311 Also starting from IL 1.2.0 it is written in the spec that the parallel
2312 disable is not allowed and will return an error. Except when buffers are
2314 Again here we know in advance that they are not shared so let's always
2315 do a sequential disable.
2316 Tested on Desktop, rpi and zynqultrascaleplus.
2317 https://bugzilla.gnome.org/show_bug.cgi?id=786348
2319 2017-08-17 12:26:05 +0100 Tim-Philipp Müller <tim@centricular.com>
2322 Automatic update of common submodule
2323 From 48a5d85 to 3f4aa96
2325 2017-08-10 12:16:53 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2327 * omx/gstomxvideodec.c:
2328 omxvideodec: use the decoder API to set latency
2329 https://bugzilla.gnome.org/show_bug.cgi?id=785125
2331 2017-07-06 14:19:19 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2333 * omx/gstomxvideodec.c:
2334 * omx/gstomxvideoenc.c:
2335 omxvideoenc/dec: declare latency on zynqultrascaleplus
2336 The OMX specification doesn't provide any API to expose the latency
2337 introduced by encoders and decoders. We implemented this as a custom
2338 extension as declaring the latency is needed for live pipelines like
2340 https://bugzilla.gnome.org/show_bug.cgi?id=785125
2342 2017-08-07 13:16:01 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2344 * omx/gstomxvideoenc.c:
2345 omxvideoenc: adjust stride and slice height from input
2346 Use the stride and slice height information from the first buffer meta
2347 data to adjust the settings of the input port.
2348 This will ensure that the OMX input buffers match the GStreamer ones
2349 and so will save us from having to copy line-by-line each one.
2350 This is also the first step to allow the OMX encoder to receive dmabuf.
2351 Tested on rpi and zynqultrascaleplus.
2352 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2354 2017-08-07 11:45:29 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2356 * omx/gstomxvideoenc.c:
2357 omxvideoenc: delay buffer configuration until component is enabled
2358 No significant change for now. Just delay the input port configuration
2359 of the buffer size related fields (stride, slice height, buffer size)
2360 until the component is activated.
2361 This will allow us to use the actual stride/height of the first input
2362 and so avoid the buffer copying code path in most cases.
2363 Tested on rpi and zynqultrascaleplus.
2364 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2366 2017-07-24 13:52:35 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2368 * omx/gstomxvideodec.c:
2369 * omx/gstomxvideoenc.c:
2370 omxvideodec/enc: delay allocation after the allocation query
2371 Allocating OMX components buffers in set_format() is too early.
2372 Doing it when receiving the first buffers will allow the element to use
2373 the information from the allocation query and/or the first incoming
2374 buffer to pick to best allocation mode.
2375 Tested on raspberry pi with dynamic resolution changes on decoder and
2377 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2379 2017-07-25 14:27:45 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2381 * omx/gstomxvideoenc.c:
2382 omxvideoenc: start src thread in handle_frame()
2383 Makes the code simpler as we no longer need to restart the thread in
2384 gst_omx_video_enc_flush() and It's more symetric which the omxvideodec
2386 I'm also going to move the enabling of the OMX component in
2387 handle_frame() and the src pad thread needs to be started after it.
2388 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2390 2017-07-25 14:07:30 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2392 * omx/gstomxvideodec.c:
2393 omxvideodec: earlier return if downstream_flow_ret is not OK
2394 There is no point to (re)start the src thread if, for example, we are
2396 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2398 2017-07-24 12:31:37 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2400 * omx/gstomxvideodec.c:
2401 * omx/gstomxvideodec.h:
2402 omxvideodec: factor out enable and disable code
2403 No semantic change, just factor out the code enabling and disabling the
2404 component to their own functions.
2405 Makes the code easier to read as the set_format() method was already
2406 pretty big. Will also allow us to easily change the enabling logic.
2407 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2409 2017-07-24 12:31:37 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2411 * omx/gstomxvideoenc.c:
2412 * omx/gstomxvideoenc.h:
2413 omxvideoenc: factor out enable and disable code
2414 No semantic change, just factor out the code enabling and disabling the
2415 component to their own functions.
2416 Makes the code easier to read as the set_format() method was already
2417 pretty big. Will also allow us to easily change the enabling logic.
2418 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2420 2017-07-27 12:12:01 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2423 omx: also reset nFilledLen before calling OMX_FillThisBuffer()
2424 The spec states that the buffer passed to OMX_FillThisBuffer() needs to be
2425 empty. Some implementation may check it actually is by checking its
2426 nFilledLen field, so best to reset it as well.
2427 https://bugzilla.gnome.org/show_bug.cgi?id=785623
2429 2017-07-17 21:06:47 +0100 Julien Isorce <jisorce@oblong.com>
2431 * omx/gstomxvideodec.c:
2432 * omx/gstomxvideodec.h:
2433 omxvideodec: make generic the OMX_UseEGLImage code path
2434 Will be easier to maintain and to make enhancements.
2435 Tested with Tizonia on Desktop.
2436 Also tested with Bellagio to make sure it does not crash when
2437 calling OMX_UseEGLImage and indeed it returns NotImplemented.
2438 Then gst-omx fallback to OMX_UseBuffer if it can and so on.
2439 Also tested on rpi to make sure there is no regression.
2440 https://bugzilla.gnome.org/show_bug.cgi?id=784365
2442 2017-07-21 11:52:00 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
2444 * omx/gstomxvideodec.c:
2445 omxvideodec: Fix segment seek
2446 On segment seek, unlike EOS, we drain, but we cannot expect a flush
2447 later to reset the decoder state. As a side effect, the decoder would
2448 remain in EOS state and ignore any new incoming buffers.
2449 To fix this, we call _flush() inside the _drain() function, and
2450 _finish() becomes what _drain() was before. This way, for _finish() (the
2451 eos case) we only drain, for _drain() triggered by segment seek or new
2452 caps, we also reset the decoder state so it's ready to accept buffers.
2453 https://bugzilla.gnome.org/show_bug.cgi?id=785237
2455 2017-07-10 15:00:58 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2457 * omx/gstomxvideoenc.c:
2458 omxvideoenc: ensure enough buffers are allocated in the pool
2459 Handle allocation query and ensure enough buffers are allocated in
2460 the negotiated pool. This help preventing buffer starvation in the pipeline.
2461 https://bugzilla.gnome.org/show_bug.cgi?id=785122
2463 2017-07-04 12:16:39 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2468 * omx/gstomxbufferpool.c:
2469 * omx/gstomxbufferpool.h:
2470 * omx/gstomxvideodec.c:
2471 * omx/gstomxvideodec.h:
2473 omxvideodec: add dmabuf support for output
2474 The zynqultrascaleplus OMX implementation has a custom extension
2475 allowing decoders to output dmabuf and so avoid buffers copy between OMX
2477 Make use of this extension when built on the zynqultrascaleplus. The
2478 buffer pool code should be re-usable for other platforms as well.
2479 https://bugzilla.gnome.org/show_bug.cgi?id=784847
2481 2017-06-20 00:13:33 +0100 Julien Isorce <jisorce@oblong.com>
2483 * config/tizonia/gstomx.conf.in:
2484 config: add OMX.Aratelia.video_decoder.vp8 to Tizonia config
2485 Useful mostly for testing/debugging purpose as this is a software
2486 based encoder (libvpxdec) for which GStreamer provides a direct
2488 https://bugzilla.gnome.org/show_bug.cgi?id=783976
2490 2017-06-19 23:56:02 +0100 Julien Isorce <jisorce@oblong.com>
2492 * omx/gstomxvideodec.c:
2493 omxvideodec: handle IL 1.2 behavior for OMX_SetParameter
2494 It triggers SettingsChanged on the other port and it is up to
2495 the client to decide if it should lead to a port reconfiguration.
2496 Settings are propagated to the other port for fields they have
2497 in common. But this event is only triggered on the other port
2498 if it actually change a setting.
2499 https://bugzilla.gnome.org/show_bug.cgi?id=783976
2501 2017-07-18 23:41:17 +0100 Julien Isorce <jisorce@oblong.com>
2503 * config/tizonia/gstomx.conf.in:
2504 config: set rank to 0 for Tizonia's mp3 decoder
2505 Should have been 0 from the initial commit
2506 eed49b4231a063639f90279c8044404c2149902a
2508 2017-07-17 21:03:55 +0100 Julien Isorce <jisorce@oblong.com>
2510 * omx/gstomxvideodec.c:
2511 omxvideodec: fix file permissions
2512 Introduced by ebc9b4903cbdac2793c24b05a1bb7acc3b67fae5
2514 2017-06-29 23:17:26 +0100 Julien Isorce <jisorce@oblong.com>
2516 * omx/gstomxvideodec.c:
2517 omxvideodec: fix buffer leak when eglimage setup fails
2518 Can happen if gst_buffer_pool_acquire_buffer succeeds but
2519 gst_buffer_n_memory (buffer) is not exactly 1.
2520 In theory this should not happen because the decoder requests
2521 EGLImage(RGBA) but better to fix any leak on corner cases.
2522 https://bugzilla.gnome.org/show_bug.cgi?id=784365
2524 2017-07-17 18:36:36 +0530 Satya Prakash Gupta <sp.gupta@samsung.com>
2527 omx: Possible Memory leak in gst_caps_from_string
2528 https://bugzilla.gnome.org/show_bug.cgi?id=784978
2530 2017-07-17 15:48:44 +0530 Satya Prakash Gupta <sp.gupta@samsung.com>
2532 * omx/gstomxvideoenc.c:
2533 omxvideoenc: Fix deadlock in error case when draining
2534 https://bugzilla.gnome.org/show_bug.cgi?id=784972
2536 2017-07-17 13:44:54 +0530 Satya Prakash Gupta <sp.gupta@samsung.com>
2538 * omx/gstomxaudioenc.c:
2539 omxaudioenc: Fix deadlock in error case when draining
2540 https://bugzilla.gnome.org/show_bug.cgi?id=784967
2542 2017-06-02 12:36:30 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2547 build: include OMX_IndexExt and OMX_ComponentExt if present
2548 These files may be used by OMX implementation to define custom extensions.
2549 Include them if present as we are already doing with OMX_VideoExt.h
2550 https://bugzilla.gnome.org/show_bug.cgi?id=784847
2552 2017-07-13 16:40:26 +1000 Jan Schmidt <jan@centricular.com>
2554 * omx/gstomxh264enc.c:
2555 omxh264enc: Re-add periodicty-idr property for backward compat
2556 Retain backwards compatibility by adding a duplicate
2557 property for periodicty-idr
2558 https://bugzilla.gnome.org/show_bug.cgi?id=784370
2560 2017-06-30 15:15:06 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2562 * omx/gstomxh264enc.c:
2563 omxh264enc: fix typo in "periodicty-idr" property name
2564 Also fix the 'nick' of the property.
2565 https://bugzilla.gnome.org/show_bug.cgi?id=784370
2567 2017-06-29 22:48:47 +0100 Julien Isorce <jisorce@oblong.com>
2569 * omx/gstomxvideodec.c:
2570 * omx/gstomxvideodec.h:
2571 omxvideodec: use OMX_UseBuffer
2572 For example this allows the omx decoder to directly fill the
2573 pixmaps coming from the video sink.
2574 It only avoids a buffer copy when the decoder uses a pool provided
2575 by a downstream element. So let's restrict this usage to situations
2576 where the decoder decides to use a downstream buffer pool.
2577 Tested with Tizonia/OMX.Aratelia.video_decoder.vp8
2578 and with Bellagio/OMX.mesa.video_decoder.avc.
2579 If it fails to setup buffers with OMX_UseBuffer the decoders
2580 fallbacks to usual OMX_AllocateBuffer.
2581 Also it allows to test on desktop the GstOMXBufferPool->other_pool
2582 management which was previously only used in the OMX_UseEGLImage
2584 https://bugzilla.gnome.org/show_bug.cgi?id=784069
2586 2017-07-12 10:29:16 +0100 Julien Isorce <jisorce@oblong.com>
2589 omx: do not always print an error if OMX_{UseBuffer,EGLImage} fails
2590 Let the caller decide to print an error. Because it can be part of
2591 a normal trial path.
2592 https://bugzilla.gnome.org/show_bug.cgi?id=784069
2594 2017-07-12 16:00:53 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2597 meson: add gstomxmp3enc
2598 Commit 02d493e85921596f7cac7ef4af02fde500e9a5d8 didn't add
2599 gstomxmp3enc.c to meson.
2600 https://bugzilla.gnome.org/show_bug.cgi?id=784848
2602 2017-05-23 10:32:58 +0100 Julien Isorce <jisorce@oblong.com>
2604 * config/tizonia/gstomx.conf.in:
2605 config: add OMX.Aratelia.audio_encoder.mp3 to Tizonia config
2606 Useful mostly for testing/debugging purpose as this is a software
2607 based encoder (libmp3lame) for which GStreamer provides a direct
2609 https://bugzilla.gnome.org/show_bug.cgi?id=782988
2611 2017-05-23 10:32:06 +0100 Julien Isorce <jisorce@oblong.com>
2615 * omx/gstomxmp3enc.c:
2616 * omx/gstomxmp3enc.h:
2617 omx: add gstomxmp3enc
2618 Initial support and only tested with the software based
2619 encoder OMX.Aratelia.audio_encoder.mp3 from Tizonia which
2620 internally uses libmp3lame.
2621 https://bugzilla.gnome.org/show_bug.cgi?id=782988
2623 2017-03-28 16:27:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2625 * config/zynqultrascaleplus/gstomx.conf:
2628 * omx/gstomxh264dec.c:
2629 h264dec: add hack to pass profile and level to OMX
2630 This information can be useful to zynqultrascaleplus decoders. They may
2631 use this information to reduce startup latency by configuring itself
2632 before receiving the first frames.
2633 We also have a custom OMX extension allowing the decoder to report the
2634 latency. The profile/level information helps it reporting a more
2635 accurate latency earlier.
2636 https://bugzilla.gnome.org/show_bug.cgi?id=783114
2638 2017-07-03 13:17:11 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2641 * omx/gstomxh264enc.c:
2642 * omx/gstomxh264utils.c:
2643 * omx/gstomxh264utils.h:
2645 omxh264enc: move profile and level parsing functions to their own files
2646 Will allow to re-use them in the decoder element.
2647 https://bugzilla.gnome.org/show_bug.cgi?id=783114
2649 2017-07-04 03:15:00 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2651 * config/meson.build:
2652 * config/tizonia/meson.build:
2654 * meson_options.txt:
2655 meson: Add tizonia option
2656 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2658 2017-04-29 02:56:59 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2661 * config/tizonia/Makefile.am:
2662 * config/tizonia/gstomx.conf.in:
2663 * config/tizonia/meson.build:
2665 config: add omxmp3dec config for tizonia
2666 GST_OMX_CONFIG_DIR=$HOME/gst/master/gst-omx/config/tizonia/ \
2667 gst-launch-1.0 filesrc location=mpthreetest.mp3 ! id3demux ! \
2668 mpegaudioparse ! omxmp3dec ! audioconvert ! pulsesink
2669 v2: [Nicolas] Use template to create gstomx.conf using pkg-config
2670 v3: [Nicolas] Ignore only config/tizonia/gstomx.conf
2671 v4: [Nicolas] Add "/" for single occurence
2672 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2674 2017-05-07 20:09:54 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2677 omx: always ignore OMX_ErrorPortUnpopulated
2678 It is safe to ignore it always. Tizonia notifies this error to pass
2679 some khronos conformance tests. Problem is that gst-omx saves this
2680 error in comp->last_error and then gst_omx_port_set_enabled early
2681 error out which fails the pipeline.
2682 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2684 2017-04-29 02:53:26 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2688 omx: guard some omx enums with IL version
2689 Some enums that existed in 1.1.2 just do not exit in 1.2.0
2690 See https://www.khronos.org/registry/OpenMAX-IL/specs/OpenMAX_IL_1_2_0_Specification_redline.pdf
2691 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2693 2017-04-29 01:56:01 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2696 configure.ac: add tizonia target for --with-omx-target flag.
2697 This will check for tizilheaders.pc which adds path to omx-il
2698 headers its cflags. Can be installed all together with the 1.2 headers
2699 with package tizilheaders if not building from sources:
2700 https://github.com/tizonia/tizonia-openmax-il
2701 It is also adviced to remove libomxil-bellagio-dev package because
2702 it installs headers /usr/include directly, ex: /usr/include/OMX_Video.h.
2703 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2705 2017-07-05 10:47:41 +0100 Julien Isorce <jisorce@oblong.com>
2707 * omx/gstomxaudioenc.c:
2708 omxaudioenc: update local port_def after reopening the component
2709 gst_omx_audio_enc_open will only update GstOMXAudioEnc->port->port_def.
2710 Note that the component is reopen only if the flag
2711 GST_OMX_HACK_NO_COMPONENT_RECONFIGURE is set.
2712 https://bugzilla.gnome.org/show_bug.cgi?id=782418
2714 2017-07-05 10:48:52 +0100 Julien Isorce <jisorce@oblong.com>
2716 * omx/gstomxvideoenc.c:
2717 omxvideoenc: update local port_def after reopening the component
2718 gst_omx_video_enc_open will only update GstOMXVideoEnc->port->port_def.
2719 Note that the component is reopen only if the flag
2720 GST_OMX_HACK_NO_COMPONENT_RECONFIGURE is set.
2721 https://bugzilla.gnome.org/show_bug.cgi?id=782418
2723 2017-05-10 12:38:39 +0900 Sejun Park <sejun79.park@samsung.com>
2725 * omx/gstomxvideodec.c:
2726 omxvideodec: update local port_def after reopening the component
2727 gst_omx_video_dec_open will only update GstOMXVideoDec->port->port_def.
2728 Note that the component is reopen only if the flag
2729 GST_OMX_HACK_NO_COMPONENT_RECONFIGURE is set.
2730 https://bugzilla.gnome.org/show_bug.cgi?id=782418
2732 2017-07-03 16:33:06 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2734 * omx/gstomxvideodec.c:
2735 omxvideodec: increase the minimum number of allocated buffers
2736 Ensure that enough buffers are allocated by adding up component's own
2737 minimal plus the number of buffers requested by downstream.
2738 This should prevent buffers starvation problem if downstream elements
2739 are holding some of the buffers they required.
2740 Also simplify the check on the maximum on buffers. What we actually care
2741 about is to make sure the pool can hold the minimum of required buffers.
2742 https://bugzilla.gnome.org/show_bug.cgi?id=784479
2744 2017-07-03 10:54:50 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2746 * omx/gstomxh264enc.c:
2747 omxh264enc: raise a warning if AVCIntraPeriod is not supported
2748 Some platforms may not implement OMX_IndexConfigVideoAVCIntraPeriod and
2749 use OMX_IndexParamVideoAvc instead to configure the GOP pattern.
2750 So raise a warning instead of an error if this API is not implemented.
2751 https://bugzilla.gnome.org/show_bug.cgi?id=784379
2753 2017-06-29 14:16:19 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2755 * omx/gstomxh264enc.c:
2756 * omx/gstomxh264enc.h:
2757 omxh264enc: add 'b-frames' property
2758 Add a property to control the number of B-frames produced by the
2759 encoder using the OMX_VIDEO_PARAM_AVCTYPE OMX API.
2760 https://bugzilla.gnome.org/show_bug.cgi?id=784379
2762 2017-06-30 14:18:35 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2764 * omx/gstomxh264enc.c:
2765 omxh264enc: fix typo in 'set_avc_intra_period'
2766 https://bugzilla.gnome.org/show_bug.cgi?id=784379
2768 2017-05-22 11:23:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2770 * config/Makefile.am:
2771 * config/meson.build:
2772 * config/zynqultrascaleplus/Makefile.am:
2773 * config/zynqultrascaleplus/gstomx.conf:
2774 * config/zynqultrascaleplus/meson.build:
2777 * meson_options.txt:
2778 add 'zynqultrascaleplus' as OMX target
2779 Adding support for the 'Zynq UltraScale+' as a new OMX target.
2780 See https://www.xilinx.com/products/silicon-devices/soc/zynq-ultrascale-mpsoc.html
2781 for details about the platform.
2782 https://bugzilla.gnome.org/show_bug.cgi?id=783097
2784 2017-05-21 15:23:09 +0100 Julien Isorce <jisorce@oblong.com>
2786 * config/bellagio/gstomx.conf:
2787 config: add OMX.mesa.video_decoder.{avc,mpeg2} for Bellagio config
2788 Install libomxil-bellagio0 and make sure mesa has been built with
2789 --enable-omx. Check there is /usr/lib/libomxil-bellagio0/libomx_mesa.so
2790 then run omxregister-bellagio to regenerate $XDG_DATA_HOME/.omxregister
2791 Then omxh264dec and omxmpeg2dec should load.
2792 https://bugzilla.gnome.org/show_bug.cgi?id=782926
2794 2017-05-18 13:50:56 +0100 Julien Isorce <jisorce@oblong.com>
2797 configure.ac: move omx features check after target selection
2798 Does not change anything, except this will be useful for future commits.
2799 Indeed some targets provide a .pc file where to look for the omx headers.
2800 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2802 2017-06-29 16:48:07 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2804 * omx/gstomxh264dec.c:
2805 omxh264dec: remove 'parsed=true' from sink pad
2806 The decoder only requires to receive one frame per buffer which is
2807 already enforced with 'alignment=au'. There is no need to require to
2808 have a parser upstream.
2809 Allow to run "encode ! decode" pipeline without having a parser.
2810 https://bugzilla.gnome.org/show_bug.cgi?id=784344
2812 2017-06-16 13:28:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2814 * omx/gstomxh264enc.c:
2815 omxh264enc: set profile/level using OMX_VIDEO_PARAM_AVCTYPE as well
2816 The OMX specification defines two API to set the AVC profile and level:
2817 using OMX_VIDEO_PARAM_PROFILELEVELTYPE and OMX_VIDEO_PARAM_AVCTYPE.
2818 We were already supporting the former but not the latter. We are now
2819 setting both so implementation don't have to rely on a specific one.
2820 https://bugzilla.gnome.org/show_bug.cgi?id=783862
2822 2017-06-16 13:19:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2824 * omx/gstomxh264enc.c:
2825 omxh264enc: factor out update_param_profile_level()
2826 https://bugzilla.gnome.org/show_bug.cgi?id=783862
2828 2017-06-16 12:53:15 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2830 * omx/gstomxh264enc.c:
2831 omxh264enc: factor out string to profile/level enum conversion
2832 https://bugzilla.gnome.org/show_bug.cgi?id=783862
2834 2017-06-28 15:06:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2836 * omx/gstomxh264enc.c:
2837 omxh264enc: use OMX_IndexConfigBrcmVideoIntraPeriod on pi
2838 The OMX_VIDEO_CONFIG_AVCINTRAPERIOD.nPFrames setting isn't of any use on
2839 the raspbery pi. Instead it uses a custom extension to define the I
2841 https://bugzilla.gnome.org/show_bug.cgi?id=783829
2843 2017-06-28 15:03:52 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2845 * omx/gstomxh264enc.c:
2846 omxh264enc: factor out set_avc_intra_perdiod()
2847 https://bugzilla.gnome.org/show_bug.cgi?id=783829
2849 2017-06-02 12:48:57 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2852 meson: define HAVE_VIDEO_EXT if OMX_VideoExt.h is present
2853 Meson build wasn't defining the HAVE_VIDEO_EXT like configure.ac does.
2854 https://bugzilla.gnome.org/show_bug.cgi?id=783346
2856 2017-06-11 12:32:01 +0000 Graham Leggett <minfrin@sharp.fm>
2858 * omx/gstomxvideoenc.c:
2859 omxvideoenc: Improve debug output when setting codec state due to new codec_data fails
2860 https://bugzilla.gnome.org/show_bug.cgi?id=783657
2862 2017-05-20 14:49:20 +0100 Julien Isorce <jisorce@oblong.com>
2865 omx: allow 0 feature
2866 Previously the omx plugin was blacklisted if GST_OMX_CONFIG_DIR
2867 points to an invalid path or if the gstomx.conf contains 0 valid
2869 Problem is that once the plugin is blacklisted, a rescan is not
2870 triggered upon changes of the env var or the gstomx.conf file
2871 despite being setup with gst_plugin_add_dependency.
2872 This also makes it more consistent with other plugins that auto
2873 generate features. For example gst-{ffmeg,libav}, gstreamer-vaapi,
2875 To clarify the diff, the plugin_init func will return TRUE even if
2876 g_key_file_get_groups returns 0 element and even if
2877 g_key_file_load_from_dirs fails.
2878 https://bugzilla.gnome.org/show_bug.cgi?id=782867
2880 2017-04-26 22:52:17 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2882 * config/bellagio/gstomx.conf:
2883 config: add OMX.st.audio_decoder.mp3.mad for Bellagio config
2884 MP3 Software decoder (libmad based) but useful for testing
2885 and to compare with other targets.
2886 GST_OMX_CONFIG_DIR=$HOME/gst/master/gst-omx/config/bellagio/ \
2887 gst-launch-1.0 filesrc location=mpthreetest.mp3 ! id3demux ! \
2888 mpegaudioparse ! omxmp3dec ! audioconvert ! pulsesink
2889 Didn't add 'local' in core-name path compared to other components
2890 in that same gstomx.conf file because OMX.st.audio_decoder.mp3.mad
2891 comes with the Ubuntu package 'libomxil-bellagio0-components-mad'.
2892 All other components listed in this gstomx.conf for Bellagio, are
2893 not provided by any Ubuntu packages. It could explain the 'local',
2894 i.e. requiring to build them from source.
2895 dpkg -L libomxil-bellagio0
2896 /usr/lib/libomxil-bellagio.so.0
2897 https://bugzilla.gnome.org/show_bug.cgi?id=781786
2898 Signed-off-by: Gurkirpal Singh <gurkirpal204@gmail.com>
2899 Signed-off-by: Julien Isorce <jisorce@oblong.com>
2901 2017-05-16 14:39:04 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
2904 Remove plugin specific static build option
2905 Static and dynamic plugins now have the same interface. The standard
2906 --enable-static/--enable-shared toggle are sufficient.
2908 2017-05-10 12:10:10 +0900 Sejun Park <sejun79.park@samsung.com>
2910 * omx/gstomxvideodec.c:
2911 omxvideodec: Removed unreachable code
2912 https://bugzilla.gnome.org/show_bug.cgi?id=782416
2914 2017-05-09 16:26:44 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2917 meson: add dep on GModule
2918 libgstomx uses the GModule API and so needs it in its dependencies list.
2919 https://bugzilla.gnome.org/show_bug.cgi?id=782387
2921 2017-05-09 13:27:28 +0000 Tim-Philipp Müller <tim@centricular.com>
2924 meson: fix config.h generation
2925 "No such input file config.h.meson", but it's not needed anyway.
2926 https://bugzilla.gnome.org/show_bug.cgi?id=782382
2928 2017-05-04 18:59:33 +0300 Sebastian Dröge <sebastian@centricular.com>
2934 === release 1.12.0 ===
2936 2017-05-04 15:48:56 +0300 Sebastian Dröge <sebastian@centricular.com>
2946 === release 1.11.91 ===
2948 2017-04-27 17:53:50 +0300 Sebastian Dröge <sebastian@centricular.com>
2958 2017-04-17 17:02:48 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2960 * omx/gstomxvideoenc.c:
2961 videoenc: use GST_ROUND_UP_N() macro
2962 Makes the code much easier to read and understand.
2963 https://bugzilla.gnome.org/show_bug.cgi?id=781409
2965 2017-04-24 20:30:21 +0100 Tim-Philipp Müller <tim@centricular.com>
2968 Automatic update of common submodule
2969 From 60aeef6 to 48a5d85
2971 2017-04-10 23:51:00 +0100 Tim-Philipp Müller <tim@centricular.com>
2975 Automatic update of common submodule
2976 From 39ac2f5 to 60aeef6
2978 === release 1.11.90 ===
2980 2017-04-07 16:36:45 +0300 Sebastian Dröge <sebastian@centricular.com>
2990 2017-04-07 14:27:23 +0300 Sebastian Dröge <sebastian@centricular.com>
2992 * omx/gstomxvideoenc.c:
2993 omxvideoenc: Fix compiler warning
2994 gstomxvideoenc.c: In function ‘gst_omx_video_enc_fill_buffer’:
2995 CC libgstomx_la-gstomxaacdec.lo
2996 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=]
2997 GST_LOG_OBJECT (self, "Matched strides - direct copy %u bytes",
2999 outbuf->omx_buf->nFilledLen);
3002 2017-03-22 17:18:09 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
3005 meson: fix logic to set HAVE_THEORA
3006 https://bugzilla.gnome.org/show_bug.cgi?id=780392
3008 2017-03-14 03:02:06 +1100 Jan Schmidt <thaytan@noraisin.net>
3010 * omx/gstomxvideoenc.c:
3011 omxvideoenc: Add an unimplemented mapping for RGBA formats
3012 Add some pixel formats mappings for 2 RGBA formats. Not yet
3013 implemented in the buffer input code though, so no effect for now.
3015 2017-03-14 03:00:49 +1100 Jan Schmidt <thaytan@noraisin.net>
3019 * omx/gstomxvideoenc.c:
3020 omxvideoenc: Add GST_OMX_HACK_HEIGHT_MULTIPLE_16 for Rpi
3021 The Raspberry Pi encoder produces corrupt output unless
3022 the input height is a multiple of 16. Add a hack that adds
3023 zero padding when needed.
3025 2017-03-14 02:42:15 +1100 Jan Schmidt <thaytan@noraisin.net>
3027 * omx/gstomxvideoenc.c:
3028 omxvideoenc: Add a mapping for OMX_COLOR_FormatYUV420PackedSemiPlanar
3031 2017-03-14 02:40:24 +1100 Jan Schmidt <thaytan@noraisin.net>
3033 * omx/gstomxvideoenc.c:
3034 omxvideoenc: Filter out unimplemented formats
3035 Don't announce pixel formats in the caps if they've not been
3038 2017-03-14 02:34:36 +1100 Jan Schmidt <thaytan@noraisin.net>
3040 * omx/gstomxvideodec.c:
3041 omxvideodec: demote ERROR message
3042 There's no need to warn about failing to negotiate EGL output
3043 - that can be perfectly normal.
3045 2017-02-24 16:00:29 +0200 Sebastian Dröge <sebastian@centricular.com>
3048 meson: Update version
3050 2017-02-24 15:38:17 +0200 Sebastian Dröge <sebastian@centricular.com>
3055 === release 1.11.2 ===
3057 2017-02-24 15:10:17 +0200 Sebastian Dröge <sebastian@centricular.com>
3066 2017-02-15 18:22:53 +0000 Tim-Philipp Müller <tim@centricular.com>
3069 meson: dist meson build files
3070 Ship meson build files in tarballs, so people who use tarballs
3071 in their builds can start playing with meson already.
3073 2017-01-13 16:23:12 +0000 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
3075 * omx/gstomxaacenc.c:
3076 omxaacenc: let encoder know about incoming rate/channels
3077 https://bugzilla.gnome.org/show_bug.cgi?id=777223
3079 2017-01-18 02:43:44 +1100 Matthew Waters <matthew@centricular.com>
3081 * config/bellagio/meson.build:
3082 * config/meson.build:
3083 * config/rpi/meson.build:
3084 * examples/egl/meson.build:
3085 * examples/meson.build:
3086 * hooks/pre-commit.hook:
3088 * meson_options.txt:
3090 build: add meson build definition
3091 Currently only been tested on the RPi within gst-build.
3093 2017-01-18 15:21:35 +1100 Matthew Waters <matthew@centricular.com>
3095 * examples/egl/testegl.c:
3096 examples/testegl: update for libgstgl changes
3098 2017-01-12 16:33:09 +0200 Sebastian Dröge <sebastian@centricular.com>
3103 === release 1.11.1 ===
3105 2017-01-12 16:26:55 +0200 Sebastian Dröge <sebastian@centricular.com>
3114 2017-01-10 15:29:08 +0000 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
3116 * omx/gstomxaudioenc.c:
3117 omxaudioenc: set base class format instead of just source pad caps
3119 2016-12-18 19:46:55 +0000 Graham Leggett <minfrin@sharp.fm>
3121 * omx/gstomxaudiodec.c:
3122 * omx/gstomxvideodec.c:
3123 omx*dec: Flush before we stop the srcpad loop
3124 Flushing could otherwise hang if output port queue of pending buffers was empty
3125 https://bugzilla.gnome.org/show_bug.cgi?id=774654
3127 2016-12-14 13:29:08 -0800 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
3130 Fix broken build due to syntax error
3131 Problem was introduced by 8716c23e2b0553db2982eb84c437f493c974385e
3133 2016-12-12 11:12:48 +0000 Graham Leggett <minfrin@sharp.fm>
3136 Prevent early EOS by resetting eos flag once GST_OMX_ACQUIRE_BUFFER_EOS is triggered
3137 https://bugzilla.gnome.org/show_bug.cgi?id=774600
3139 2016-12-12 11:09:15 +0000 Graham Leggett <minfrin@sharp.fm>
3142 Add clear debug logging on all the paths out of gst_omx_port_acquire_buffer()
3143 https://bugzilla.gnome.org/show_bug.cgi?id=774600
3145 2016-12-01 18:23:50 +0100 George Kiagiadakis <george.kiagiadakis@collabora.com>
3147 * config/rpi/gstomx.conf:
3150 Add a signals-premature-eos hack for egl_render
3151 egl_render seems to have a bug and signals EOS before it has finished
3152 pushing out all data; this hack simply makes acquire_buffer() wait
3153 a bit more before signalling EOS, in case egl_render decides to spit
3155 https://bugzilla.gnome.org/show_bug.cgi?id=741856
3157 2016-12-11 19:52:37 +0000 Graham Leggett <minfrin@sharp.fm>
3159 * omx/gstomxvideo.c:
3160 Add support for OMX_COLOR_FormatYUV420PackedSemiPlanar and OMX_COLOR_Format24bitBGR888
3161 https://bugzilla.gnome.org/show_bug.cgi?id=775959
3163 2016-12-03 08:20:46 +0100 Edward Hervey <bilboed@bilboed.com>
3166 Automatic update of common submodule
3167 From ac2f647 to 39ac2f5
3169 2016-11-26 11:27:58 +0000 Tim-Philipp Müller <tim@centricular.com>
3172 common: use https protocol for common submodule
3173 https://bugzilla.gnome.org/show_bug.cgi?id=775110
3175 2016-11-25 23:56:06 +0200 Sebastian Dröge <sebastian@centricular.com>
3178 omx: Fix compiler warning with latest clang
3179 gstomx.c:1376:42: error: implicit conversion from enumeration type 'GstOMXAcquireBufferReturn' to different enumeration type 'OMX_ERRORTYPE'
3180 (aka 'enum OMX_ERRORTYPE') [-Werror,-Wenum-conversion]
3181 g_return_val_if_fail (!port->tunneled, GST_OMX_ACQUIRE_BUFFER_ERROR);
3182 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3183 https://bugzilla.gnome.org/show_bug.cgi?id=775112
3185 2016-11-17 19:56:35 +1100 Matthew Waters <matthew@centricular.com>
3187 * omx/gstomxvideodec.c:
3188 videodecoder: remove use of EGLImage orientation
3189 New code should use GstVideoTransformationMeta
3190 (The defaults do the right thing here though).
3192 === release 1.11.0 ===
3194 2016-11-01 18:53:25 +0200 Sebastian Dröge <sebastian@centricular.com>
3199 === release 1.10.0 ===
3201 2016-11-01 18:20:48 +0200 Sebastian Dröge <sebastian@centricular.com>
3210 === release 1.9.90 ===
3212 2016-09-30 13:04:51 +0300 Sebastian Dröge <sebastian@centricular.com>
3222 2016-09-14 11:33:13 +0200 Sebastian Dröge <sebastian@centricular.com>
3225 configure: Depend on gstreamer 1.9.2.1
3227 2016-09-12 14:09:46 +0200 Sebastian Dröge <sebastian@centricular.com>
3231 omx: Also search for gstomx.conf in the autoconf --sysconfdir
3232 https://bugzilla.gnome.org/show_bug.cgi?id=770743
3234 2016-09-10 20:52:10 +1000 Jan Schmidt <jan@centricular.com>
3238 Automatic update of common submodule
3239 From b18d820 to f980fd9
3241 2016-09-10 09:58:16 +1000 Jan Schmidt <jan@centricular.com>
3245 Automatic update of common submodule
3246 From ac2f647 to b18d820
3248 2016-09-01 12:36:09 +0300 Sebastian Dröge <sebastian@centricular.com>
3253 === release 1.9.2 ===
3255 2016-09-01 12:35:58 +0300 Sebastian Dröge <sebastian@centricular.com>
3265 2016-07-11 21:15:48 +0200 Stefan Sauer <ensonic@users.sf.net>
3268 Automatic update of common submodule
3269 From ac2f647 to f49c55e
3271 2016-07-06 13:51:24 +0300 Sebastian Dröge <sebastian@centricular.com>
3276 === release 1.9.1 ===
3278 2016-07-06 13:48:45 +0300 Sebastian Dröge <sebastian@centricular.com>
3288 2016-06-29 16:37:43 +0900 Kazunori Kobayashi <kkobayas@igel.co.jp>
3290 * omx/gstomxvideodec.c:
3291 omxvideodec: Use GST_VIDEO_FRAME_PLANE_STRIDE() to get output buffer's stride
3292 GST_VIDEO_FRAME_PLANE_STRIDE() should be used to get the actual buffer stride,
3293 as reported in the buffers's GstVideoMeta, when copying data to that buffer.
3294 https://bugzilla.gnome.org/show_bug.cgi?id=768173
3296 2016-06-21 11:48:40 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
3299 Automatic update of common submodule
3300 From ac2f647 to f363b32
3302 2016-06-21 11:43:13 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
3304 * omx/gstomxaudioenc.c:
3305 omxaudioenc: implement GstPreset interface
3306 To allow user to use GstPreset to quickly save and load a set of
3308 https://bugzilla.gnome.org/show_bug.cgi?id=767907
3310 2016-06-21 11:41:15 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
3312 * omx/gstomxvideoenc.c:
3313 omxvideoenc: implement GstPreset interface
3314 To allow user to use GstPreset to quickly save and load a set of
3316 https://bugzilla.gnome.org/show_bug.cgi?id=767907
3318 2016-06-17 12:06:48 +0300 Sebastian Dröge <sebastian@centricular.com>
3322 * omx/gstomxaudiodec.c:
3323 * omx/gstomxaudioenc.c:
3324 * omx/gstomxvideo.c:
3325 * omx/gstomxvideodec.c:
3326 * omx/gstomxvideoenc.c:
3327 omx: #define OMX_SKIP64BIT on the RPi as required by their API
3328 Also add generic support for OMX_SKIP64BIT to gst-omx, in case other
3329 implementations also #define that for whatever reason.
3330 https://bugzilla.gnome.org/show_bug.cgi?id=766475
3332 2016-06-17 10:59:45 +0300 Sebastian Dröge <sebastian@centricular.com>
3334 * omx/gstomxvideodec.c:
3335 omxvideodec: Implement ::drain() virtual method
3336 https://bugzilla.gnome.org/show_bug.cgi?id=767641
3338 2016-06-04 19:31:45 +0100 Tim-Philipp Müller <tim@centricular.com>
3341 configure: remove AG_GST_PARSE_SUBSYSTEM_DISABLES
3342 This would check which subsystems are disabled in core by grepping
3343 gstconfig.h. Only problem is: gstconfig.h has moved into libdir now
3344 so we've been checking a non-existent file for a while now. The
3345 macro would just sets GST_DISABLE_* for use in configure.ac and
3346 Makefile.am, but we don't use that anywhere so just get rid of it
3347 (the one place where we use GST_DISABLE_GST_DEBUG is in a .c file
3348 which gets the define from the gstconfig.h include).
3349 https://bugzilla.gnome.org/show_bug.cgi?id=750056
3351 2016-01-20 03:10:38 +0900 Gwang Yoon Hwang <yoon@igalia.com>
3353 * examples/egl/testegl.c:
3354 * omx/gstomxvideodec.c:
3355 omxvideodec : Use gstglmemoryegl for the RPi
3356 Modified to use gstglmemoryegl to avoid texture creation/copy operations
3358 [Matthew Waters]: gst-indent the sources and port testegl to GstGLMemoryEGL
3359 https://bugzilla.gnome.org/show_bug.cgi?id=760918
3361 2016-04-14 10:04:32 +0100 Julien Isorce <j.isorce@samsung.com>
3364 Automatic update of common submodule
3365 From 6f2d209 to ac2f647
3367 2016-02-26 12:42:41 +0200 Sebastian Dröge <sebastian@centricular.com>
3370 Automatic update of common submodule
3371 From b64f03f to 6f2d209
3373 2016-02-17 20:51:03 +1100 Matthew Waters <matthew@centricular.com>
3375 * examples/egl/testegl.c:
3376 examples: update egl example for gstgl API changes
3377 https://bugzilla.gnome.org/show_bug.cgi?id=762053
3378 https://bugzilla.gnome.org/show_bug.cgi?id=753917
3380 2016-02-05 18:11:06 -0300 Thiago Santos <thiagoss@osg.samsung.com>
3384 Automatic update of common submodule
3385 From 86e4663 to b64f03f
3387 2015-12-21 00:43:49 +0100 Koop Mast <kwm@rainbow-runner.nl>
3390 configure: Make -Bsymbolic check work with clang.
3391 Update the -Bsymbolic check with the version glib has. This version
3393 https://bugzilla.gnome.org/show_bug.cgi?id=759713
3395 2015-12-07 09:11:32 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
3399 Automatic update of common submodule
3400 From b319909 to 86e4663
3402 2015-11-18 13:00:28 +0000 Enrique Ocaña González <eocanha@igalia.com>
3405 Remember the last_error after a failed set state call to avoid blocking the next get state call
3406 gst_omx_video_dec_flush() blocks forever in
3407 http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomxvideodec.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n2110
3408 when the previous call to gst_omx_component_set_state() fails in
3409 http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomx.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n827.
3410 To mitigate that, I set "last_error" to true, so the code in
3411 http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomx.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n862
3412 exits early and doesn't block.
3413 https://bugzilla.gnome.org/show_bug.cgi?id=758274
3415 2015-11-18 12:59:59 +0000 Enrique Ocaña González <eocanha@igalia.com>
3417 * omx/gstomxaudiodec.c:
3418 * omx/gstomxaudioenc.c:
3419 * omx/gstomxvideodec.c:
3420 * omx/gstomxvideoenc.c:
3421 Properly handle drain requests while flushing
3422 Without this commit the decoder streaming thread stops without ever attending
3423 the drain request, leaving the decoder input thread waiting forever.
3424 https://bugzilla.gnome.org/show_bug.cgi?id=758274
3426 2015-11-10 10:42:35 +0100 Nicolas Huet <nicolas.huet@parrot.com>
3429 omx: fix hacks leak on class init
3431 2015-10-21 14:37:13 +0100 Tim-Philipp Müller <tim@centricular.com>
3434 Automatic update of common submodule
3435 From b99800a to b319909
3437 2015-10-21 14:28:41 +0300 Sebastian Dröge <sebastian@centricular.com>
3440 Automatic update of common submodule
3441 From 9aed1d7 to b99800a
3443 2015-09-01 16:08:11 -0300 Thiago Santos <thiagoss@osg.samsung.com>
3445 * omx/gstomxaacdec.c:
3446 omxaacdec: Do not accept unknown layouts
3447 It was defaulting to RAW when an unknown layout was received but
3448 the caps template would actually forbid that on the caps query
3449 or accept-caps anyway.
3451 2015-09-01 08:59:54 -0300 Thiago Santos <thiagoss@osg.samsung.com>
3453 * omx/gstomxaudiodec.c:
3454 omxaudiodec: use default pad accept-caps handling
3455 Instead of the audiodecoder one. The OMX audioo decoders have their
3456 valid input in the template pad, so just check against that to
3457 avoid doing a query downstream.
3459 2015-08-28 12:57:33 -0300 Thiago Santos <thiagoss@osg.samsung.com>
3461 * omx/gstomxvideodec.c:
3462 omxvideodec: use default pad accept-caps handling
3463 Instead of the videodecoder one. The OMX video decoders have their
3464 valid input in the template pad, so just check against that to
3465 avoid doing a query downstream.
3467 2015-08-22 15:54:55 +0000 Graham Leggett <minfrin@sharp.fm>
3469 * omx/gstomxvideoenc.c:
3470 omxvideoenc: Add keyframe support for the Rpi, using OMX_IndexConfigBrcmVideoRequestIFrame
3471 https://bugzilla.gnome.org/show_bug.cgi?id=753085
3473 2015-08-20 17:20:50 +0900 Vineeth TM <vineeth.tm@samsung.com>
3475 * examples/egl/testegl.c:
3476 gst-omx: Fix memory leaks when context parse fails
3477 When g_option_context_parse fails, context and error variables are not getting free'd
3478 which results in memory leaks. Free'ing the same.
3479 And replacing g_error_free with g_clear_error, which checks if the error being passed
3480 is not NULL and sets the variable to NULL on free'ing.
3481 https://bugzilla.gnome.org/show_bug.cgi?id=753865
3483 2015-08-16 14:53:42 +0200 Philippe Normand <philn@igalia.com>
3485 * omx/gstomxh264dec.c:
3486 omxh264dec: implement is_format_change
3487 The omxvideodecoder class only checks some of the caps parameters but if
3488 other fields change such as h264 profile and/or level it wouldn't trigger a
3490 https://bugzilla.gnome.org/show_bug.cgi?id=752376
3492 2015-07-03 00:26:48 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
3494 * omx/gstomxvideodec.c:
3495 omxvideodec: unref allocator after getting it from allocation query
3496 Otherwise a reference will be leaked for each allocator. It only happens
3497 when target platform is Raspberry Pi and when we have GL support.
3498 https://bugzilla.gnome.org/show_bug.cgi?id=751867
3500 2015-07-03 21:59:54 +0200 Stefan Sauer <ensonic@users.sf.net>
3503 Automatic update of common submodule
3504 From f74b2df to 9aed1d7
3506 2015-06-16 17:50:14 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
3509 Automatic update of common submodule
3510 From 6015d26 to f74b2df
3512 2015-06-09 11:30:49 +0200 Edward Hervey <bilboed@bilboed.com>
3515 Automatic update of common submodule
3516 From d9a3353 to 6015d26
3518 2015-06-08 23:08:28 +0200 Stefan Sauer <ensonic@users.sf.net>
3521 Automatic update of common submodule
3522 From d37af32 to d9a3353
3524 2015-06-07 23:07:22 +0200 Stefan Sauer <ensonic@users.sf.net>
3527 Automatic update of common submodule
3528 From 21ba2e5 to d37af32
3530 2015-06-07 17:32:25 +0200 Stefan Sauer <ensonic@users.sf.net>
3533 Automatic update of common submodule
3534 From c408583 to 21ba2e5
3536 2015-06-07 17:16:43 +0200 Stefan Sauer <ensonic@users.sf.net>
3540 Automatic update of common submodule
3541 From c8fb372 to c408583
3543 2015-05-19 18:21:40 +0300 Sebastian Dröge <sebastian@centricular.com>
3545 * omx/gstomxaudiodec.c:
3546 * omx/gstomxaudiodec.h:
3547 omxaudiodec: Add an output adapter for chunking the output into codec frames
3548 Otherwise the base class will be confused.
3549 See https://bugzilla.gnome.org/show_bug.cgi?id=685730
3551 2015-04-26 18:24:13 +0100 Tim-Philipp Müller <tim@centricular.com>
3555 Remove obsolete Android build cruft
3556 This is not needed any longer.
3558 2015-04-22 10:40:22 +0200 Sebastian Dröge <sebastian@centricular.com>
3562 autotools automatically generate this, and when using different versions
3563 for autogen.sh there will always be changes to a file tracked by git.
3565 2015-04-08 15:57:59 +0100 Tim-Philipp Müller <tim@centricular.com>
3571 Add m4 directory so aclocal doesn't complain in autogen.sh
3572 Might come in handy, and these warnings seem to be
3573 fatal in some environments.
3574 You may need to git clean -x -d -f your tree before
3575 git pulling/merging.
3577 2015-04-07 22:25:57 +0100 Tim-Philipp Müller <tim@centricular.com>
3581 Update autogen.sh to latest version
3583 2015-04-03 18:58:17 +0100 Tim-Philipp Müller <tim@centricular.com>
3586 Automatic update of common submodule
3587 From bc76a8b to c8fb372
3589 2015-03-06 12:12:49 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3591 * omx/gstomxaacdec.c:
3592 omxaudiodec: add comment explaining duplicate code path
3594 2015-03-06 12:09:06 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3596 * omx/gstomxaacdec.c:
3597 Revert "omxaudiodec: remove duplicate code path"
3598 This reverts commit a8d26ff27a8b43f589424a59294f9057641b2a46.
3600 2015-03-06 12:03:56 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3603 omx: handle both errors in the two steps of update_port_definition
3604 Also consider potential errors in the _get_parameter() in the return of the
3605 update_port_definition function.
3608 2015-03-06 10:57:53 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3610 * omx/gstomxaudioenc.c:
3611 omxaudioenc: impossible if statement
3612 ret is set to GST_STATE_CHANGE_SUCCESS and never touched, so it is impossible
3613 for it to be anything else at the if check. Remove the if check.
3616 2015-03-06 10:54:43 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3618 * omx/gstomxaudiodec.c:
3619 omxaudiodec: impossible if statement
3620 ret is set to GST_STATE_CHANGE_SUCCESS and never touched, so it is impossible
3621 for it to be anything else at the if check. Remove it.
3624 2015-03-06 10:50:30 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3626 * omx/gstomxaacdec.c:
3627 omxaudiodec: remove duplicate code path
3629 2014-12-19 11:19:55 +0200 George Kiagiadakis <george.kiagiadakis@collabora.com>
3632 omx: call handle_messages() only once in acquire_buffer() to avoid potential deadlock
3633 There is one rare case where calling handle_messages() more than once can cause a deadlock
3634 in the video decoder element:
3635 - sink pad thread starts the src pad task (gst_omx_video_dec_loop())
3636 - _video_dec_loop() calls gst_omx_port_acquire_buffer() on dec_out_port
3637 - blocks in gst_omx_component_wait_message() releasing comp->lock and comp->messages_lock
3638 (initially, there are no buffers configured on that port, so it waits for OMX_EventPortSettingsChanged)
3639 - the sink pad thread pushes a buffer to the decoder with gst_omx_port_release_buffer()
3640 - _release_buffer() grabs comp->lock and sends the buffer to OMX, which consumes it immediately
3641 - EmptyBufferDone gets called at this point, which signals _wait_message() to unblock
3642 - the message from EmptyBufferDone is processed in gst_omx_component_handle_messages()
3643 called from gst_omx_port_release_buffer()
3644 - gst_omx_port_release_buffer releases comp->lock
3645 - the src pad thread now gets to run, grabbing comp->lock while it exits from _wait_message()
3646 - _acquire_buffer() calls the _handle_messages() on the next line after _wait_message(),
3647 which does nothing (no pending messages)
3648 - then it goes to "retry:" and calls _handle_messages() again, which also does nothing
3649 (still no pending messages)
3650 - scheduler switches to a videocore thread that calls EventHandler, informing us about the
3651 OMX_EventPortSettingsChanged event that just arrived
3652 - EventHandler graps comp->messages_lock, but not comp->lock, so it can run in parallel at
3653 this point just fine.
3654 - scheduler switches back to the src pad thread (which is in the middle of _acquire_buffer())
3655 - the next _handle_messages() which is right before if (g_queue_is_empty (&port->pending_buffers))
3656 processes the OMX_EventPortSettingsChanged
3657 - the buffer queue is still empty, so that thread blocks again in _wait_message()
3658 - the sink pad thread tries to acquire the next input port buffer
3659 - _acquire_buffer() also blocks this thread in:
3660 if (comp->pending_reconfigure_outports) { ... _wait_message() ... }
3661 - DEADLOCK. gstreamer is waiting for omx to do something, omx waits for gstreamer to do something.
3662 By removing those extra _handle_messages() calls, we can ensure that all the checks of
3663 _acquire_buffer() will re-run. In the above case, after the scheduler switches back to
3664 the middle of _acquire_buffer(), the code will enter _wait_message(), which will see that
3665 there are pending messages and will return immediately, going back to "retry:" and
3666 re-doing all the checks properly.
3667 https://bugzilla.gnome.org/show_bug.cgi?id=741854
3669 2015-02-26 09:27:44 +0900 Wonchul Lee <chul0812@gmail.com>
3672 omx: cleanup code a bit to remove else statement
3673 https://bugzilla.gnome.org/show_bug.cgi?id=745191
3675 2015-01-12 16:13:35 +0100 Stefan Sauer <ensonic@users.sf.net>
3678 Automatic update of common submodule
3679 From f2c6b95 to bc76a8b
3681 2014-12-18 10:56:15 +0100 Sebastian Dröge <sebastian@centricular.com>
3684 Automatic update of common submodule
3685 From ef1ffdc to f2c6b95
3687 2014-11-27 17:12:42 +0100 Edward Hervey <bilboed@bilboed.com>
3690 Automatic update of common submodule
3691 From 7bb2bce to ef1ffdc
3693 2014-11-13 09:55:02 +0900 Jun Ji <jun.ji@lge.com>
3697 * omx/gstomxamrdec.c:
3698 * omx/gstomxamrdec.h:
3700 https://bugzilla.gnome.org/show_bug.cgi?id=739333
3702 2014-10-27 18:00:50 +0100 Sebastian Dröge <sebastian@centricular.com>
3705 Automatic update of common submodule
3706 From 84d06cd to 7bb2bce
3708 2014-10-21 13:03:44 +0100 Tim-Philipp Müller <tim@centricular.com>
3711 Automatic update of common submodule
3712 From a8c8939 to 84d06cd
3714 2014-10-21 13:00:10 +0200 Stefan Sauer <ensonic@users.sf.net>
3717 Automatic update of common submodule
3718 From 1f5d3c3 to a8c8939
3720 2014-09-30 10:47:20 +0300 Sebastian Dröge <sebastian@centricular.com>
3722 * omx/gstomxaudiodec.c:
3723 omxaudiodec: Clean up code a bit to get rid of useless NULL checks
3725 2014-09-30 10:50:07 +0900 junji <jun.ji@lge.com>
3727 * omx/gstomxaudiodec.c:
3728 omxaudiodec: Unmap input buffers after usage
3729 https://bugzilla.gnome.org/show_bug.cgi?id=736314
3731 2014-08-31 20:30:13 +0000 Michal Lazo <michal.lazo@mdragon.org>
3733 * omx/gstomxvideoenc.c:
3734 omxvideoenc: Setup aspect ratio on RPi
3735 Needs firmware from yesterday or newer to work with all possible
3736 aspect ratios. Before that it only supported a fixed list.
3737 https://bugzilla.gnome.org/show_bug.cgi?id=732533
3739 2014-08-28 10:44:31 +0300 Sebastian Dröge <sebastian@centricular.com>
3741 * omx/gstomxaudioenc.c:
3742 omxaudioenc: Implement the hack flag GST_OMX_HACK_NO_COMPONENT_RECONFIGURE
3744 2014-08-28 10:43:22 +0300 Sebastian Dröge <sebastian@centricular.com>
3746 * omx/gstomxaudioenc.c:
3747 omxaudioenc: Use the base class' open/close vfuncs instead of calling them ourselves
3749 2014-08-26 22:13:53 -0500 Peng Liu <pengliu.mail@gmail.com>
3751 * config/rpi/gstomx.conf:
3752 * omx/gstomxvideoenc.c:
3753 omxvideoenc: Implement the hack flag GST_OMX_HACK_NO_COMPONENT_RECONFIGURE
3754 Fix a video encoder stall problem on RPi when changing the aspect ratio.
3755 https://bugzilla.gnome.org/show_bug.cgi?id=732533
3757 2014-08-14 17:36:11 +0300 Sebastian Dröge <sebastian@centricular.com>
3759 * omx/gstomxaudiodec.c:
3760 * omx/gstomxaudiodec.h:
3761 * omx/gstomxaudioenc.c:
3762 * omx/gstomxaudioenc.h:
3763 * omx/gstomxvideodec.c:
3764 * omx/gstomxvideodec.h:
3765 * omx/gstomxvideoenc.c:
3766 * omx/gstomxvideoenc.h:
3767 omx: Let base classes handle EOS
3768 https://bugzilla.gnome.org//show_bug.cgi?id=734774
3770 2014-08-14 17:33:07 +0300 Sebastian Dröge <sebastian@centricular.com>
3772 * omx/gstomxaudiodec.c:
3773 omxaudiodec: Fix flushing logic and make it more similar to the video decoder
3775 === release 1.2.0 ===
3777 2014-07-23 11:28:12 +0200 Sebastian Dröge <sebastian@centricular.com>
3787 2014-07-22 09:23:00 +0200 Sebastian Dröge <sebastian@centricular.com>
3789 * config/bellagio/gstomx.conf:
3790 * config/rpi/gstomx.conf:
3791 config: Update ranks to PRIMARY+1 to have higher preference than avdec_*
3792 See https://bugzilla.gnome.org/show_bug.cgi?id=732161
3794 2014-07-20 17:46:30 +0200 Sebastian Dröge <sebastian@centricular.com>
3796 * omx/gstomxaudiosink.c:
3797 omxaudiosink: Set port to not flushing in prepare() and keep it at flushing in unprepare()
3798 https://bugzilla.gnome.org/show_bug.cgi?id=733168
3800 2014-07-13 22:15:18 +0200 Sebastian Dröge <sebastian@centricular.com>
3802 * omx/gstomxaacdec.c:
3803 * omx/gstomxaudiodec.c:
3804 * omx/gstomxaudiodec.h:
3805 * omx/gstomxmp3dec.c:
3806 omxaudiodec: Implement setting of fallback channel positions
3808 2014-07-13 18:22:39 +0200 Sebastian Dröge <sebastian@centricular.com>
3812 * omx/gstomxaacdec.c:
3813 * omx/gstomxaacdec.h:
3814 * omx/gstomxmp3dec.c:
3815 omx: Add AAC audio decoder
3817 2014-07-02 09:22:28 +0200 Sebastian Dröge <sebastian@centricular.com>
3819 * omx/gstomxaudiodec.c:
3820 omxaudiodec: Get PCM parameters from the out port, not the in port
3822 2014-05-15 13:24:39 +0200 Sebastian Dröge <sebastian@centricular.com>
3824 * omx/gstomxaudiodec.c:
3825 omxaudiodec: Implement hack for not disabling the output port after set_format until the output format is known
3826 Needed on some OMX implementations, e.g. the one from Atmel. It does
3827 not send the settings-changed event on the output port if it is
3830 2014-05-10 23:12:54 +0200 Sebastian Dröge <sebastian@centricular.com>
3834 * omx/gstomxaudiodec.c:
3835 * omx/gstomxaudiodec.h:
3836 * omx/gstomxmp3dec.c:
3837 * omx/gstomxmp3dec.h:
3838 omx: Add audio decoder base class and a subclass for MP3
3840 2014-07-01 09:38:01 +0200 Sebastian Dröge <sebastian@centricular.com>
3844 omx: Link to gmodule-2.0-no-export for being able to use the g_module_*() API
3845 https://bugzilla.gnome.org/show_bug.cgi?id=732518
3847 2014-06-30 15:00:54 +0200 Sebastian Dröge <sebastian@centricular.com>
3849 * examples/egl/testegl.c:
3850 examples: #define GST_USE_UNSTABLE_API for libgstgl
3852 2014-06-29 19:10:19 +0200 Sebastian Dröge <sebastian@centricular.com>
3854 * omx/gstomxh264enc.c:
3855 * omx/gstomxh264enc.h:
3856 omxh264enc: Properly accumulate headers and push before the next frame
3857 Fixes output of encoding on RPi, where each header buffer (SPS and PPS)
3858 is in a separate OMX buffer.
3859 https://bugzilla.gnome.org/show_bug.cgi?id=726669
3861 2014-06-29 19:04:54 +0200 Sebastian Dröge <sebastian@centricular.com>
3863 * omx/gstomxvideoenc.c:
3864 omxvideoenc: Implement flush() instead of the deprecated reset()
3866 2014-06-25 17:14:18 +0200 Sebastian Dröge <sebastian@centricular.com>
3868 * config/rpi/gstomx.conf:
3869 rpi: It's 44100Hz, not 41400Hz
3871 2014-06-25 11:12:51 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
3874 configure.ac: require gstgl >= 1.3.3
3876 2014-04-25 13:25:05 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
3880 example: enable testegl
3881 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
3883 2014-06-25 10:19:54 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
3885 * examples/egl/testegl.c:
3886 testegl: do matrix mutlplication in the shader
3887 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
3889 2014-06-25 09:36:38 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
3891 * examples/egl/testegl.c:
3892 testegl: add a comment for the parse command
3893 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
3895 2014-04-25 17:32:16 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
3897 * examples/egl/Makefile.am:
3898 * examples/egl/cube_texture_and_coords.h:
3899 * examples/egl/testegl.c:
3900 testegl: convert code from GLESv1 to GLESv2
3901 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
3903 2014-04-25 13:21:59 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
3905 * examples/egl/Makefile.am:
3906 * examples/egl/testegl.c:
3907 testegl: port to gstgl API
3908 - append a glfilter just before fakesink
3909 So that we get gltexture or eglimages
3910 - propagate our EGLDisplay to the pipeline
3911 see GST_QUERY_CONTEXT
3912 - share our EGLContext with the iternal gl context
3913 of the pipeline, see GST_QUERY_ALLOCATION
3914 - use GstVideoGLTextureUploadMeta to upload
3915 the incoming gltexture or eglimage to our gl texture
3916 TODO: convert from GLESv1 to GLESv2
3917 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
3919 2014-06-24 14:52:58 +0200 Sebastian Dröge <sebastian@centricular.com>
3921 * omx/gstomxbufferpool.c:
3922 * omx/gstomxbufferpool.h:
3923 * omx/gstomxvideodec.c:
3924 omxbufferpool: Copy buffers if the stride does not match and we can't use video meta
3925 https://bugzilla.gnome.org/show_bug.cgi?id=731672
3927 2014-06-24 14:52:43 +0200 Sebastian Dröge <sebastian@centricular.com>
3931 * omx/gstomxvp8dec.h:
3932 omx: Only include OMX_VideoExt.h conditionally
3933 It does not exist on the RPi for example.
3935 2014-06-24 13:59:44 +0200 Sebastian Dröge <sebastian@centricular.com>
3938 configure.ac: Require GStreamer core/base >= 1.2.2
3939 Needed at least for gst_video_decoder_release_frame().
3941 2014-06-24 13:02:13 +0200 Sebastian Dröge <sebastian@centricular.com>
3943 * omx/gstomxbufferpool.c:
3944 omxbufferpool: Fix format string compiler warning
3946 2014-06-22 21:11:45 +0000 Michal Lazo <xlazom00@gmail.com>
3948 * omx/gstomxbufferpool.c:
3949 omxbufferpool: Initialize debug category
3951 2014-06-24 12:42:22 +0200 Sebastian Dröge <sebastian@centricular.com>
3953 * omx/gstomxbufferpool.c:
3954 omxbufferpool: Properly convert OMX alignment to GStreamer alignment
3955 GStreamer uses a bitmask for the alignment while OMX uses the
3956 alignment itself. Let's convert.
3957 https://bugzilla.gnome.org/show_bug.cgi?id=710564
3959 2014-06-24 11:11:28 +0200 Sebastian Dröge <sebastian@centricular.com>
3961 * omx/gstomxh264enc.c:
3962 omxh264enc: Don't let baseclass finish frames for SPS/PPS buffers
3963 Otherwise we a) send them twice, and b) finish a frame for something
3964 that does not even include a frame.
3965 https://bugzilla.gnome.org/show_bug.cgi?id=726669
3967 2014-06-24 10:22:37 +0200 Sebastian Dröge <sebastian@centricular.com>
3969 * omx/gstomxvideo.h:
3970 omxvideo: Include the separate headers too for compatibility with 1.0.x
3972 2014-03-24 16:09:40 +0800 Zhao, Halley <halley.zhao@intel.com>
3975 * omx/gstomxvp8dec.h:
3976 omxvp8dec: use VP8 definition from OMX_VideoExt.h
3977 https://bugzilla.gnome.org/show_bug.cgi?id=726957
3979 2014-03-24 15:33:26 +0800 Zhao, Halley <halley.zhao@intel.com>
3982 configure: add --with-omx-header-path option for external omx headers
3983 https://bugzilla.gnome.org/show_bug.cgi?id=726957
3985 2014-06-18 23:04:33 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
3987 * omx/gstomxvideodec.c:
3988 omxvideodec: fix a query leak
3989 Also add a debug message if query fails.
3990 https://bugzilla.gnome.org/show_bug.cgi?id=731898
3992 2014-05-30 15:29:15 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
3994 * omx/gstomxvideodec.c:
3995 omxvideodec: release frames with old PTS to avoid memory issue
3996 Interlaced stream could make the decoder use two input frames to produce
3997 one output frame causing the gstvideodecoder frame list to grow.
3998 Assuming the video decoder output frame in display order rather than in
3999 decoding order, this commit add a way to release frames with PTS less
4000 than current output frame.
4001 https://bugzilla.gnome.org/show_bug.cgi?id=730995
4003 2013-06-27 21:59:29 +0900 Kazunori Kobayashi <kkobayas@igel.co.jp>
4006 omx: Fix a missing g_free() in error path
4007 This fixes a memory leak with g_strdup() when an error occurs.
4008 https://bugzilla.gnome.org/show_bug.cgi?id=731141
4010 2014-06-02 15:34:09 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4012 * omx/gstomxvideodec.c:
4013 omxvideodec: add missing stream unlock in error path
4015 2014-05-31 15:12:05 +0200 Sebastian Dröge <sebastian@centricular.com>
4018 omx: Don't handle disabling/enabling ports exactly like flushing
4019 Otherwise we might abort a flush operation in another thread when
4020 enabling/disabling ports, leading to deadlocks sometimes.
4021 https://bugzilla.gnome.org/show_bug.cgi?id=730989
4023 2014-05-26 11:02:10 +0200 Sebastian Dröge <sebastian@centricular.com>
4025 * omx/gstomxvideodec.c:
4026 omxvideodec: Don't leak buffer pool config in error cases
4029 2014-05-21 10:53:43 +0200 Sebastian Dröge <sebastian@centricular.com>
4032 Automatic update of common submodule
4033 From 211fa5f to 1f5d3c3
4035 2014-05-19 09:10:07 +0200 Sebastian Dröge <sebastian@centricular.com>
4037 * omx/gstomxvideoenc.c:
4038 omxvideoenc: Don't forget to unref codec state
4041 2014-05-19 09:08:33 +0200 Sebastian Dröge <sebastian@centricular.com>
4043 * omx/gstomxvideodec.c:
4044 omxvideodec: Make output buffer pointer always initialized
4047 2014-05-19 09:06:42 +0200 Sebastian Dröge <sebastian@centricular.com>
4049 * omx/gstomxvideodec.c:
4050 omxvideodec: Check return value of gst_buffer_map()
4053 2014-05-19 09:04:09 +0200 Sebastian Dröge <sebastian@centricular.com>
4055 * omx/gstomxvideodec.c:
4056 omxvideodec: Check return value of gst_omx_port_set_enabled() for errors
4059 2014-05-19 09:01:46 +0200 Sebastian Dröge <sebastian@centricular.com>
4061 * omx/gstomxvideodec.c:
4062 omxvideodec: Check return values of buffer pool config parsing functions
4065 2014-05-19 08:48:50 +0200 Sebastian Dröge <sebastian@centricular.com>
4068 omx: Remove dead code, buf can never be NULL here as we just check for that the line above
4071 2014-05-19 08:47:36 +0200 Sebastian Dröge <sebastian@centricular.com>
4074 omx: Fix comparisons in gst_omx_state_to_string() case to actually make sense
4077 2014-05-19 08:45:10 +0200 Sebastian Dröge <sebastian@centricular.com>
4080 omx: Make sure to compare the error codes as unsigned integers so that comparisons >2**31 actually work
4083 2014-05-19 08:40:23 +0200 Sebastian Dröge <sebastian@centricular.com>
4086 omx: Fix comparisons in gst_omx_command_to_string() default cause to actually work
4089 2014-05-15 13:22:56 +0200 Sebastian Dröge <sebastian@centricular.com>
4091 * omx/gstomxaudioenc.c:
4092 omxaudioenc: Implement hack for not disabling the output port after set_format until the output format is known
4093 Needed on some OMX implementations, e.g. the one from Atmel. It does
4094 not send the settings-changed event on the output port if it is
4097 2014-05-15 13:21:07 +0200 Sebastian Dröge <sebastian@centricular.com>
4099 * omx/gstomxvideoenc.c:
4100 omxvideoenc: Implement hack for not disabling the output port after set_format until the output format is known
4101 Needed on some OMX implementations, e.g. the one from Atmel. It does
4102 not send the settings-changed event on the output port if it is
4105 2014-05-15 10:58:34 +0200 Sebastian Dröge <sebastian@centricular.com>
4109 * omx/gstomxvideodec.c:
4110 omx: Add a hack for not disabling the output port after set_format until the output format is known
4111 Needed on some OMX implementations, e.g. the one from Atmel. It does
4112 not send the settings-changed event on the output port if it is
4115 2014-05-12 12:33:32 +0200 Josep Torra <n770galaxy@gmail.com>
4117 * omx/gstomxaudiosink.c:
4118 omxaudiosink: implement _delay only in the RaspberryPI
4119 Make code implementation conditionally built for RaspberryPI because
4120 OMX_IndexConfigAudioRenderingLatency seems to be a Broadcom extension.
4121 On other targets the query position might not be accurate without
4122 implementing _delay appropriatelly.
4124 2014-05-12 08:56:15 +0200 Sebastian Dröge <sebastian@centricular.com>
4126 * omx/gstomxaudioenc.c:
4127 omxaudioenc: Correctly scale nTickCount by OMX_TICKS_PER_SECOND
4129 2014-05-10 22:48:23 +0200 Sebastian Dröge <sebastian@centricular.com>
4131 * omx/gstomxaudioenc.c:
4132 omxaudioenc: Drain encoder on NULL buffer and don't drain on flushing
4134 2014-05-10 22:47:56 +0200 Sebastian Dröge <sebastian@centricular.com>
4136 * omx/gstomxvideodec.c:
4137 omxvideodec: Set nTickCount based on the buffer's duration instead of something wrong
4139 2014-05-10 22:47:21 +0200 Sebastian Dröge <sebastian@centricular.com>
4141 * omx/gstomxvideoenc.c:
4142 omxvideoenc: Set nTickCount to the whole duration of the buffer instead of a wrong calculation
4144 2014-05-10 22:46:51 +0200 Sebastian Dröge <sebastian@centricular.com>
4146 * omx/gstomxaudiosink.c:
4147 omxaudiosink: Fix format string compiler warnings
4149 2014-04-04 14:11:58 +0200 Josep Torra <n770galaxy@gmail.com>
4151 * config/rpi/gstomx.conf:
4154 * omx/gstomxanalogaudiosink.c:
4155 * omx/gstomxanalogaudiosink.h:
4156 * omx/gstomxaudiosink.c:
4157 * omx/gstomxaudiosink.h:
4158 * omx/gstomxhdmiaudiosink.c:
4159 * omx/gstomxhdmiaudiosink.h:
4160 omxaudiosink: Implements OpenMAX based audio sinks
4161 Provides omxanalogaudiosink and omxhdmiaudiosink elements on
4163 - omxanalogaudiosink is capable to render raw mono or stereo audio
4164 through the jack output.
4165 - omxhdmiaudiosink is capable to render raw audio up to 8 channels
4166 and transmit ac3/dts(IEC 61937) through the HDMI output.
4167 - sinks provide a clock derived from rendered samples
4168 - sinks support the GstStreamVolume interface by implementing
4169 the volume and mute properties.
4170 https://bugzilla.gnome.org/show_bug.cgi?id=728962
4172 2014-05-03 10:17:35 +0200 Sebastian Dröge <sebastian@centricular.com>
4175 Automatic update of common submodule
4176 From bcb1518 to 211fa5f
4178 2014-04-29 15:16:16 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4180 * omx/gstomxvideodec.c:
4181 omxvideodec: can negotiate caps with memory:EGLImage feature when using EGLImage allocator
4182 Previously when using gst EGLImage allocator the caps was
4183 video/x-raw, format=RGBA instead of
4184 video/x-raw(memory:EGLImage), format=RGBA
4185 Kepp previous behavior in case negotiation fails with caps feature.
4186 It means it will still have a chance to use EGLImage even if the
4187 feature is not in the caps.
4188 https://bugzilla.gnome.org/show_bug.cgi?id=729196
4190 2014-04-23 09:57:48 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4192 * omx/gstomxvp8dec.h:
4193 omxvp8dec: fix typo in GST_TYPE_OMX_VP8_DEC define
4194 https://bugzilla.gnome.org/show_bug.cgi?id=728774
4196 2014-04-16 11:00:55 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4198 * omx/gstomxvideodec.c:
4199 omxvideodec: don't unref caps before logging field from it
4200 https://bugzilla.gnome.org/show_bug.cgi?id=728322
4202 2014-04-15 17:30:13 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4206 example: disable testegl since libgstegl has been removed
4207 As decided in bug #703343
4208 Not compatible with the new libgstgl API.
4209 A portage has been started, attachment 272800.
4210 https://bugzilla.gnome.org/show_bug.cgi?id=703343
4212 2014-04-15 17:11:08 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4214 * omx/gstomxvideodec.c:
4215 omxvideodec: use new libgstgl API since libgstegl has been removed
4216 There is no point to retrieve a ref/unref type
4217 instead of an EGLDisplay directly. It's like for EGLImage.
4218 https://bugzilla.gnome.org/show_bug.cgi?id=703343
4220 2014-04-15 17:06:38 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4223 * examples/Makefile.am:
4225 * omx/gstomxvideodec.c:
4226 configure.ac: check for libgstgl since libgstegl has been removed
4227 https://bugzilla.gnome.org/show_bug.cgi?id=703343
4229 2014-04-09 18:52:16 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4231 * omx/gstomxbufferpool.c:
4232 * omx/gstomxvideodec.c:
4233 omxvideodec: add support of more color format
4234 Add support for ABGR, ARGB, RGB16, BGR16, YUY2, UYVY, YVYU, GRAY8 and
4237 2014-04-09 18:51:57 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4239 * omx/gstomxvideodec.c:
4240 omxvideodec: simplify color format conversion in fill_buffer function
4242 2014-04-09 18:51:41 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4244 * omx/gstomxbufferpool.c:
4245 omxbufferpool: make video stride and offset calculation easier
4246 It will be easier to support more color format.
4248 2014-04-09 18:51:12 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4250 * omx/gstomxvideo.c:
4251 * omx/gstomxvideo.h:
4252 * omx/gstomxvideodec.c:
4253 omx: add an helper to convert OMX color format to GStreamer color format
4255 2014-03-10 17:43:50 +0100 Josep Torra <n770galaxy@gmail.com>
4257 * examples/egl/testegl.c:
4258 * omx/gstomxvideodec.c:
4259 omxvideodec: Implement pipeline draining to support adaptive scenarios
4260 When draining due a format change also drain
4261 the pipeline to reclaim back all buffers.
4262 https://bugzilla.gnome.org/show_bug.cgi?id=726107
4264 2014-03-27 13:57:32 +0100 Josep Torra <n770galaxy@gmail.com>
4266 * examples/egl/testegl.c:
4267 examples: fix several memory leaks in the testegl example
4268 Ensure to call to image_data_free in order to release GPU resources.
4269 Also ensure to destroy EGLImage and GLTexture from proper
4271 https://bugzilla.gnome.org/show_bug.cgi?id=726107
4273 2014-03-25 17:16:31 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
4275 * examples/egl/testegl.c:
4276 examples: keep a ref on the buffer instead of the memory
4278 https://bugzilla.gnome.org/show_bug.cgi?id=726107
4280 2014-03-07 20:08:05 +0100 Josep Torra <n770galaxy@gmail.com>
4282 * omx/gstomxvideodec.c:
4283 omxvideodec: fixes race condition during seeks
4284 Acording 6.1.3 Seek Event Sequence in the OpenMAX IL 1.1.2 spec
4285 document in order to flush the component it needs to be in
4287 https://bugzilla.gnome.org/show_bug.cgi?id=726038
4289 2014-01-29 18:31:26 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
4291 * omx/gstomxvideodec.c:
4292 omxvideodec: use flush because reset is deprecated
4293 https://bugzilla.gnome.org/show_bug.cgi?id=726038
4295 2014-01-27 17:03:50 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
4297 * omx/gstomxvideodec.c:
4298 omxvideodec: populate the most downstream output port on reset
4299 Make seeking work when using egl_render component
4300 https://bugzilla.gnome.org/show_bug.cgi?id=726038
4302 2014-03-24 17:49:59 +0100 Josep Torra <n770galaxy@gmail.com>
4304 * omx/gstomxbufferpool.c:
4305 omxbufferpool: return buffers to the pool instead of freeing them
4306 We have to return the buffers back to the pool in when stopping to
4307 not mess with the GstBufferPool accounting.
4308 The OMX buffers will be freed when those won't be in charge of the
4309 pool in the chained up call to 'stop'.
4310 Fixes segfaults on finalize and pool not being properly deactivated.
4311 https://bugzilla.gnome.org/show_bug.cgi?id=726337
4313 2014-03-19 12:12:49 +0100 Christian König <christian.koenig@amd.com>
4315 * omx/gstomxvideodec.c:
4316 omxvideodec: add missing unlock in the error path
4317 Signed-off-by: Christian König <christian.koenig@amd.com>
4318 https://bugzilla.gnome.org/show_bug.cgi?id=726958
4320 2014-03-18 23:36:59 +0100 Michal Lazo <xlazom00@gmail.com>
4322 * omx/gstomxh264enc.c:
4323 * omx/gstomxh264enc.h:
4326 2014-03-17 09:57:11 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
4328 * omx/gstomxbufferpool.c:
4329 omxbufferpool: fix memory leak if used on output port
4330 When using GstOMXBufferPool on an output port, it internally uses
4331 a GPtrArray to manage the GstBuffers instead of the default queue
4332 from the GstBufferPool base class.
4333 In this case GstBufferPool::default_free_buffer is not called when
4334 the pool is stopped. Because the queue is empty. So explicitely
4335 call gst_omx_buffer_pool_free_buffer on each buffer contained in
4337 https://bugzilla.gnome.org/show_bug.cgi?id=726337
4339 2014-03-16 17:32:05 +0100 Sebastian Dröge <sebastian@centricular.com>
4341 * omx/gstomxh264enc.c:
4342 omxh264enc: Fix compiler warnings
4344 2014-03-16 17:19:08 +0100 Michal Lazo <xlazom00@gmail.com>
4346 * omx/gstomxh264enc.c:
4347 * omx/gstomxh264enc.h:
4348 omxh264enc: IDR interval, SPS and PPS headers for rpi
4349 https://bugzilla.gnome.org/show_bug.cgi?id=720031
4351 2014-03-13 14:26:58 +0100 Christian König <christian.koenig@amd.com>
4355 * omx/gstomxvideo.c:
4356 omxvideo: fix debug category initialisation
4357 https://bugzilla.gnome.org/show_bug.cgi?id=726024
4359 2014-03-13 19:04:47 +0100 Christian König <christian.koenig@amd.com>
4361 * omx/gstomxbufferpool.h:
4362 omxbufferpool: add proper type definitions
4363 https://bugzilla.gnome.org/show_bug.cgi?id=726325
4365 2014-03-02 10:30:04 +0100 Christian König <christian.koenig@amd.com>
4368 omx: consolidate message waiting code
4369 Add a wait_message helper function and remove all those duplicated code.
4370 https://bugzilla.gnome.org/show_bug.cgi?id=725493
4372 2014-03-12 12:48:12 +0100 Sebastian Dröge <sebastian@centricular.com>
4374 * omx/gstomxvideo.c:
4375 omx: Copy old copyright notice into the new file
4377 2014-03-12 12:47:34 +0100 Sebastian Dröge <sebastian@centricular.com>
4379 * omx/gstomxvideo.c:
4380 * omx/gstomxvideo.h:
4381 * omx/gstomxvideodec.c:
4382 * omx/gstomxvideoenc.c:
4383 omx: Rename function from _4_ to _for_ for clarity
4385 2014-03-03 16:15:24 +0100 Christian König <christian.koenig@amd.com>
4388 * omx/gstomxvideo.c:
4389 * omx/gstomxvideo.h:
4390 * omx/gstomxvideodec.c:
4391 * omx/gstomxvideoenc.c:
4392 omxvideo: start sharing more code between video decoder and encoder
4393 Identical functionality spread of two different components.
4394 We can't use a common base class because of different inheritance,
4395 but let's try to share the code anyway.
4396 https://bugzilla.gnome.org/show_bug.cgi?id=726024
4398 2014-03-12 12:43:49 +0100 Sebastian Dröge <sebastian@centricular.com>
4400 * examples/egl/Makefile.am:
4401 examples: Only build RPi EGL example if RPi was chosen as target
4403 2014-03-12 12:42:23 +0100 Sebastian Dröge <sebastian@centricular.com>
4405 * omx/gstomxbufferpool.h:
4406 omxbufferpool: Fix header include guard
4408 2014-03-05 11:41:02 +0100 Christian König <christian.koenig@amd.com>
4411 * omx/gstomxbufferpool.c:
4412 * omx/gstomxbufferpool.h:
4413 * omx/gstomxvideodec.c:
4414 omxvideodec: separate the buffer pool from the decoder
4415 https://bugzilla.gnome.org/show_bug.cgi?id=726025
4417 2014-03-04 17:41:20 +0100 Christian König <christian.koenig@amd.com>
4421 * omx/gstomxvideodec.c:
4422 omx: simplify tunnel functions
4423 Specifying the component is error prone and unnecessary.
4424 https://bugzilla.gnome.org/show_bug.cgi?id=726021
4426 2014-03-07 17:12:24 +0100 Christian König <christian.koenig@amd.com>
4428 * omx/gstomxvideodec.c:
4429 omxvideodec: fix memory leak in gst_omx_video_dec_allocate_output_buffers
4430 https://bugzilla.gnome.org/show_bug.cgi?id=725907
4432 2014-03-07 13:18:49 +0100 Christian König <christian.koenig@amd.com>
4434 * omx/gstomxvideodec.c:
4435 omxvideodec: fix memory leak gst_omx_video_dec_negotiate
4436 https://bugzilla.gnome.org/show_bug.cgi?id=725907
4438 2014-03-05 18:54:05 +0100 Christian König <christian.koenig@amd.com>
4440 * omx/gstomxvideoenc.c:
4441 omxvideoenc: fix a memory leak in gst_omx_video_enc_getcaps
4442 https://bugzilla.gnome.org/show_bug.cgi?id=725826
4444 2014-03-05 17:43:33 +0100 Josep Torra <n770galaxy@gmail.com>
4447 Makefile.am: build examples
4448 There's no reason to not build the examples now that are ported to 1.x.
4450 2014-03-05 17:25:09 +0100 Josep Torra <n770galaxy@gmail.com>
4452 * examples/egl/testegl.c:
4453 examples: avoid a clashing name with the recently added GstEGLImagePool
4454 Fixes build with current master.
4456 2013-09-05 03:41:10 -0600 Christian König <christian.koenig@amd.com>
4458 * omx/gstomxvideoenc.c:
4459 omxvideoenc: simplify _find_nearest_frame
4460 Just the same as we did with the decoder. Also give the
4461 function a gst_omx_video_enc prefix to distinct it from
4462 the decoder function.
4463 https://bugzilla.gnome.org/show_bug.cgi?id=724236
4465 2013-09-05 02:23:39 -0600 Christian König <christian.koenig@amd.com>
4467 * omx/gstomxvideodec.c:
4468 omxvideodec: simplify _find_nearest_frame
4469 No need to make it more complicated and error prone than
4470 necessary. Also give the function a gst_omx_video_dec prefix
4471 to distinct it from the encoder function.
4472 https://bugzilla.gnome.org/show_bug.cgi?id=724236
4474 2013-09-05 02:05:52 -0600 Christian König <christian.koenig@amd.com>
4476 * omx/gstomxvideodec.c:
4477 omxvideodec: remove dead code
4478 This code doesn't seems to be used for quite a while,
4479 remove it before it starts to rot.
4480 https://bugzilla.gnome.org/show_bug.cgi?id=724236
4482 2014-03-01 22:28:24 +0100 Christian König <christian.koenig@amd.com>
4485 omx: fix two serious message handling bugs
4486 Waiting for the next message if we already got one
4487 is nonsense and can lead to lockups.
4488 https://bugzilla.gnome.org/show_bug.cgi?id=725468
4490 2014-03-01 18:49:41 +0100 Christian König <christian.koenig@amd.com>
4492 * omx/gstomxvideoenc.c:
4493 omxvideoenc: fix startup race condition
4494 The reset function shouldn't start the src pad
4495 loop if it wasn't started before.
4496 Signed-off-by: Christian König <christian.koenig@amd.com>
4498 2014-03-01 18:48:17 +0100 Christian König <christian.koenig@amd.com>
4500 * omx/gstomxvideodec.c:
4501 omxvideodec: fix startup race condition
4502 The reset function shouldn't start the src pad
4503 loop if it wasn't started before.
4504 Signed-off-by: Christian König <christian.koenig@amd.com>
4506 2014-02-28 09:36:13 +0100 Sebastian Dröge <sebastian@centricular.com>
4509 Automatic update of common submodule
4510 From fe1672e to bcb1518
4512 2014-02-26 22:15:00 +0100 Stefan Sauer <ensonic@users.sf.net>
4515 Automatic update of common submodule
4516 From 1a07da9 to fe1672e
4518 2014-01-30 10:45:18 +0100 Edward Hervey <bilboed@bilboed.com>
4521 Automatic update of common submodule
4522 From d48bed3 to 1a07da9
4524 2014-01-25 17:44:14 +0100 Sebastian Dröge <sebastian@centricular.com>
4526 * omx/gstomxaudioenc.c:
4527 * omx/gstomxvideodec.c:
4528 * omx/gstomxvideoenc.c:
4529 omx: Don't handle FLUSHING and NOT_LINKED as errors
4530 Also don't stop the task on NOT_LINKED. We're not a demuxer.
4532 2013-12-22 22:35:31 +0000 Tim-Philipp Müller <tim@centricular.com>
4535 Automatic update of common submodule
4536 From dbedaa0 to d48bed3
4538 2013-11-05 11:22:02 +0000 Tim-Philipp Müller <tim@centricular.com>
4541 Automatic update of common submodule
4542 From 865aa20 to dbedaa0
4544 2013-09-28 13:32:37 +0200 Josep Torra <n770galaxy@gmail.com>
4546 * examples/egl/testegl.c:
4547 examples: simplify the thread synchronization code
4548 Make everithing more simple and fix the races conditions remaining in
4549 the previous approaches.
4551 2013-09-25 19:17:17 +0200 Sebastian Dröge <slomo@circular-chaos.org>
4553 * config/rpi/gstomx.conf:
4554 rpi: The WMV/VC1 decoder can only do WMV9 and VC1, no older versions
4556 2013-09-24 18:34:42 +0100 Tim-Philipp Müller <tim@centricular.net>
4559 Automatic update of common submodule
4560 From 6b03ba7 to 865aa20
4562 2013-09-24 18:48:24 +0200 Josep Torra <n770galaxy@gmail.com>
4564 * examples/egl/testegl.c:
4565 examples: fix another race condition
4566 Fix a race condition that caused randome deadlocks on EOS.
4568 2013-09-20 17:19:53 +0200 Josep Torra <n770galaxy@gmail.com>
4570 * config/rpi/gstomx.conf:
4571 rpi: fix a copy paste error in the config file
4573 2013-09-20 17:09:52 +0200 Josep Torra <n770galaxy@gmail.com>
4575 * examples/egl/testegl.c:
4576 examples: fix a race condition when seeking
4577 Fixes a race condition that caused pipeline deadlock during seeks.
4579 2013-09-20 10:38:12 +0200 Josep Torra <n770galaxy@gmail.com>
4581 * examples/egl/testegl.c:
4582 examples: display QoS statistics
4584 2013-09-20 09:34:37 +0200 Josep Torra <n770galaxy@gmail.com>
4586 * examples/egl/testegl.c:
4587 examples: use dedicated thread for rendering the scene
4588 Produces smother animation and prevents dropping frames due busy
4591 2013-09-20 08:25:21 +0200 Josep Torra <n770galaxy@gmail.com>
4593 * examples/egl/testegl.c:
4594 examples: don't force an specific audio sink
4595 Let playbin2 choose the audiosink available in the system.
4597 2013-09-20 08:19:48 +0200 Josep Torra <n770galaxy@gmail.com>
4599 * examples/egl/Makefile.am:
4600 examples: drop remnants of initial appsink attempt
4602 2013-09-20 16:18:18 +0200 Edward Hervey <edward@collabora.com>
4605 Automatic update of common submodule
4606 From b613661 to 6b03ba7
4608 2013-09-19 18:45:36 +0100 Tim-Philipp Müller <tim@centricular.net>
4611 Automatic update of common submodule
4612 From 74a6857 to b613661
4614 2013-09-19 17:38:30 +0100 Tim-Philipp Müller <tim@centricular.net>
4617 Automatic update of common submodule
4618 From 01a7a46 to 74a6857
4620 2013-08-20 16:00:07 +0100 Tim-Philipp Müller <tim@centricular.net>
4623 * omx/gstomxvideodec.c:
4624 omx: don't use the 'z' modifier to print size_t
4625 gcc will warn in some cases even if the size of the type
4626 is exactly that of size_t on the platform.
4627 https://bugzilla.gnome.org/show_bug.cgi?id=699008
4629 2013-07-01 15:48:47 +0200 Roman Arutyunyan <arutyunyan.roman@gmail.com>
4631 * omx/gstomxvideoenc.c:
4632 gstomxvideoenc: Set bitrate in setcaps
4633 Otherwise it gets lost whenever we configure new caps
4634 https://bugzilla.gnome.org/show_bug.cgi?id=698049
4636 2013-06-30 18:17:05 +0700 Ilya Smelykh <ilya@videoexpertsgroup.com>
4638 * examples/egl/testegl.c:
4639 examples: enable audio in testegl example
4641 2013-06-12 09:38:22 +0200 Sebastian Dröge <slomo@circular-chaos.org>
4644 configure: Allow build without gstreamer-egl
4646 2013-06-07 12:39:18 +0700 Ilya Smelykh <ilya@videoexpertsgroup.com>
4648 * examples/egl/Makefile.am:
4649 * examples/egl/testegl.c:
4650 examples: testegl example port to 1.x
4651 https://bugzilla.gnome.org/show_bug.cgi?id=701706
4653 2013-06-05 15:17:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4656 Automatic update of common submodule
4657 From 098c0d7 to 01a7a46
4659 2013-05-20 12:06:34 +0200 Josep Torra <n770galaxy@gmail.com>
4661 * omx/gstomxaudioenc.c:
4662 * omx/gstomxvideodec.c:
4663 * omx/gstomxvideoenc.c:
4664 omx: Take lock on EOS to update the flow return value
4665 Fixes "GThread-ERROR **: file gthread-posix.c: line 171
4666 (g_mutex_free_posix_impl): error 'Device or resource busy' during
4667 'pthread_mutex_destroy ((pthread_mutex_t *) mutex)'" in _finalize.
4669 2013-05-15 10:54:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4672 Automatic update of common submodule
4673 From 5edcd85 to 098c0d7
4675 2013-04-11 17:35:19 +0200 Josep Torra <n770galaxy@gmail.com>
4679 * examples/Makefile.am:
4680 * examples/egl/Makefile.am:
4681 * examples/egl/cube_texture_and_coords.h:
4682 * examples/egl/testegl.c:
4683 examples: add an example aplication based OpenGL ES + EGL
4684 Application that shows how to integrate playbin with an OpenGL ES
4685 scene through EGL. Renders a video on the surfaces of an animated cube.
4686 The code is not ported to 1.x so it's not built by default.
4688 2013-05-10 12:25:07 +0200 Josep Torra <n770galaxy@gmail.com>
4690 * omx/gstomxvideodec.c:
4691 omxvideodec: Redesign video size change reconfiguration code
4692 Ensure stop the decoder before clossing the tunnel.
4694 2013-05-06 16:25:27 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4697 Makefile.am: Add -I common/m4
4698 This allows autoreconf to work correctly and automatic regeneration
4699 of autotools files if something changed.
4701 2013-05-06 19:03:59 +0530 jitendra <jvarshney20@gmail.com>
4705 * omx/gstomxaudioenc.c:
4706 * omx/gstomxvideodec.c:
4707 * omx/gstomxvideoenc.c:
4708 omx: Add pads based on element type
4709 This allows to later add sources and sink that only have a srcpad
4711 https://bugzilla.gnome.org/show_bug.cgi?id=699754
4713 2013-04-27 02:50:25 +0200 Carlos Rafael Giani <dv@pseudoterminal.org>
4716 omx: fixed type error in printf call
4718 https://bugzilla.gnome.org/show_bug.cgi?id=699008
4720 2013-04-08 17:26:16 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4724 * omx/gstomxvideodec.c:
4725 Check for gstreamer-egl
4726 And don't use if not available.
4727 https://bugzilla.gnome.org/show_bug.cgi?id=697574
4729 2013-04-23 09:53:18 +0100 Tim-Philipp Müller <tim@centricular.net>
4732 configure: error out if no OMX target has been set explicitly with --with-omx-target=x
4733 Avoids people building for e.g. the Raspberry Pi and then wondering
4734 why things don't work as expected (since structs are packed differently
4737 2013-04-22 23:55:03 +0100 Tim-Philipp Müller <tim@centricular.net>
4740 Automatic update of common submodule
4741 From 3cb3d3c to 5edcd85
4743 2013-04-18 22:07:28 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4746 * omx/gstomxaudioenc.c:
4747 * omx/gstomxh263enc.c:
4748 * omx/gstomxh264enc.c:
4749 * omx/gstomxmpeg4videoenc.c:
4750 * omx/gstomxvideodec.c:
4751 * omx/gstomxvideoenc.c:
4752 omx: more printf format fixes
4753 Fix printf formats again, so that gst-omx compiles warning-
4754 free on the Raspberry Pi as well. Unfortunately OMX_UINT32
4755 maybe be typedefed to uint32_t or unsigned long, which
4756 doesn't work well with our debugging printf format strings,
4757 so just use %u for those and cast to guint.
4759 2013-04-18 16:40:06 +0200 Josep Torra <n770galaxy@gmail.com>
4762 omx: fixes unused variable 'comp' when GStreamer is built without debug
4764 2013-04-18 16:03:56 +0200 Josep Torra <n770galaxy@gmail.com>
4766 * omx/gstomxvideodec.c:
4767 omxvideodec: don't use 'self->dec_out_port' anymore and use just 'port'
4768 Fixes some criticals.
4770 2013-04-18 15:21:32 +0200 Josep Torra <n770galaxy@gmail.com>
4772 * omx/gstomxvideodec.c:
4773 omxvideodec: fixes 'port' may be used uninitialized in this function
4775 2013-04-18 12:03:31 +0200 Josep Torra <n770galaxy@gmail.com>
4777 * omx/gstomxvideodec.c:
4778 omxvideodec: silence warnings building for RPI related to 'vcos_*'
4780 2013-04-18 11:19:52 +0200 Josep Torra <n770galaxy@gmail.com>
4782 * omx/gstomxvideodec.c:
4783 omxvideodec: Use new type from libgstvideo
4785 2013-04-16 14:50:49 +0530 jitendra <jvarshney20@gmail.com>
4787 * omx/gstomxaudioenc.c:
4788 * omx/gstomxvideodec.c:
4789 * omx/gstomxvideoenc.c:
4790 omx: Disable output port before transition to idle state
4791 https://bugzilla.gnome.org/show_bug.cgi?id=698109
4793 2012-10-24 12:19:41 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4796 gst: Add better support for static plugins
4798 2013-04-14 17:57:34 +0100 Tim-Philipp Müller <tim@centricular.net>
4801 Automatic update of common submodule
4802 From aed87ae to 3cb3d3c
4804 2013-04-12 17:58:30 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4807 configure: add --disable-fatal-warnings for disabling -Werror
4809 2013-04-09 21:02:09 +0200 Stefan Sauer <ensonic@users.sf.net>
4812 Automatic update of common submodule
4813 From 04c7a1e to aed87ae
4815 2013-04-08 17:02:32 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4818 * omx/gstomxaudioenc.c:
4819 * omx/gstomxh263enc.c:
4820 * omx/gstomxh264enc.c:
4821 * omx/gstomxmpeg4videoenc.c:
4822 * omx/gstomxvideodec.c:
4823 * omx/gstomxvideoenc.c:
4824 omx: fix printf formats in debug messages
4825 OMX_U32 is typedefed to an unsigned long,
4826 OMX_TICKS to a 64-bit integer.
4828 2013-04-08 16:52:19 +0200 Josep Torra <n770galaxy@gmail.com>
4830 * omx/gstomxvideodec.c:
4831 omxvideodec: use the correct printf format in a debug message
4833 2013-04-08 16:31:33 +0200 Josep Torra <n770galaxy@gmail.com>
4835 * omx/gstomxvideodec.c:
4836 omxvideodec: use the correct OMX_IndexParam value
4837 Fixes playback is not smooth in the EGL path.
4839 2013-04-05 13:45:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4841 * omx/gstomxvideodec.c:
4842 omxvideodec: Don't use API that is not in master yet
4843 It's not really needed here yet, will be needed in future versions
4845 2013-02-25 11:55:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4851 * omx/gstomxvideodec.c:
4852 * omx/gstomxvideodec.h:
4853 omxvideodec: Add support for egl_render on RPi
4855 2013-03-22 19:26:54 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4860 2013-03-22 19:23:14 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4862 * omx/gstomxh263enc.c:
4863 * omx/gstomxh264enc.c:
4864 * omx/gstomxmpeg4videoenc.c:
4865 omx: fix compiler warnings when compiling with -DG_DISABLE_ASSERT
4866 As we do for releases. Fixes 'variable may be used uninitialized'
4869 === release 1.0.0 ===
4871 2013-03-22 17:16:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4882 2013-03-19 16:40:09 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4884 * omx/gstomxtheoradec.h:
4885 * omx/gstomxvp8dec.h:
4886 omx: fix typo in copyright headers
4888 2013-03-19 13:46:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4890 * config/rpi/gstomx.conf:
4891 rpi: Fix commit that added the VC1 decoder
4893 2013-03-19 13:27:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4895 * config/rpi/gstomx.conf:
4896 * omx/gstomxh263dec.c:
4897 * omx/gstomxh264dec.c:
4898 * omx/gstomxmjpegdec.c:
4899 * omx/gstomxmpeg2videodec.c:
4900 * omx/gstomxmpeg4videodec.c:
4901 * omx/gstomxtheoradec.c:
4902 * omx/gstomxvideodec.c:
4903 * omx/gstomxvp8dec.c:
4904 * omx/gstomxwmvdec.c:
4905 omx: Add more constraints to the default sink template caps
4907 2013-03-19 13:10:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4909 * config/rpi/gstomx.conf:
4910 rpi: Add VC1/WMV3 decoder
4911 WMV2 and WMV1 (aka WMV 1-8) are not supported by RPi.
4913 2013-03-19 12:59:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4915 * config/rpi/gstomx.conf:
4916 rpi: Add MJPEG decoder
4918 2013-03-19 12:56:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4920 * config/rpi/gstomx.conf:
4921 rpi: Add VP8 decoder
4923 2013-03-19 12:55:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4925 * omx/gstomxvideodec.c:
4926 omxvideodec: Set ENDOFFRAME flag for the end of frames
4928 2013-03-19 12:28:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4930 * config/rpi/gstomx.conf:
4931 rpi: Add Theora decoder to the config
4933 2013-03-19 09:36:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4938 * omx/gstomxtheoradec.c:
4939 * omx/gstomxtheoradec.h:
4940 omx: Add Theora decoder
4942 2013-03-18 16:43:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4945 omx: Remove additional comma
4947 2013-03-18 16:34:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4949 * config/rpi/gstomx.conf:
4952 * omx/gstomxmpeg2dec.h:
4953 * omx/gstomxmpeg2videodec.c:
4954 * omx/gstomxmpeg2videodec.h:
4955 omx: Rename MPEG2 decoder for consistency everywhere
4957 2013-03-18 16:30:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4961 * omx/gstomxmjpegdec.c:
4962 * omx/gstomxmjpegdec.h:
4963 omx: Add MJPEG decoder support
4965 2013-03-18 16:06:54 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4970 * omx/gstomxvp8dec.c:
4971 * omx/gstomxvp8dec.h:
4972 omx: Add VP8 decoder support
4974 2013-03-18 15:44:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4976 * config/rpi/gstomx.conf:
4977 rpi: Add h263 decoder and rename MPEG2 decoder for consistency
4979 2013-03-16 13:20:27 +0000 Tim-Philipp Müller <tim@centricular.net>
4981 * omx/gstomxmpeg2dec.c:
4982 omxmpeg2dec: mpeg-2 decoder should be able to handle mpeg-1 too
4983 https://bugzilla.gnome.org/show_bug.cgi?id=695879
4985 2013-03-16 10:13:06 +0100 Josep Torra <n770galaxy@gmail.com>
4988 omx: minor stylistic change for consistency with other similar code
4990 2013-03-16 10:00:24 +0100 Josep Torra <n770galaxy@gmail.com>
4992 * omx/gstomxaudioenc.c:
4993 * omx/gstomxvideodec.c:
4994 * omx/gstomxvideoenc.c:
4995 omx: Clarify that loop task is also paused in EOS
4997 2013-03-16 09:59:01 +0100 Josep Torra <n770galaxy@gmail.com>
4999 * omx/gstomxvideoenc.c:
5000 omxvideoenec: Don't forget propagate flow return value upstream
5002 2013-03-15 13:16:39 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5005 omx: improve debug logging some more
5007 2013-03-15 14:09:45 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5009 * omx/gstomxvideodec.c:
5010 omxvideodec: Make sure that the first frame we pass to OpenMAX is a sync frame
5012 2013-03-15 11:46:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5014 * omx/gstomxaudioenc.c:
5015 * omx/gstomxvideodec.c:
5016 * omx/gstomxvideoenc.c:
5017 omx: Stop output port task after draining
5019 2013-03-15 10:58:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5022 omx: Reset EOS flag in more places
5024 2013-03-15 10:38:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5026 * omx/gstomxvideodec.c:
5027 omxvideodec: Deallocate output buffers with the right function
5029 2013-03-15 01:06:05 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5033 omx: log commands as strings
5034 Makes logs easier to read.
5036 2013-03-15 00:47:47 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5040 omx: log states as strings
5042 2013-03-15 00:28:02 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5046 omx: log component name in debug messages
5047 Useful when we have more different components
5048 active at the same time.
5050 2013-03-15 09:51:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5052 * omx/gstomxvideodec.c:
5053 omxvideodec: Don't interpolate timestamps
5054 We will get exactly one frame per input buffer and assigning
5055 timestamps between frames if more than one OMX buffer is required
5056 per frame easily confuses timestamp tracking in OMX.
5058 2013-03-15 09:32:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5060 * omx/gstomxvideodec.c:
5061 omxvideodec: Give the codec_data the timestamp of the first frame and no duration
5063 2013-03-14 17:31:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5065 * config/rpi/gstomx.conf:
5066 omx: The MPEG4 encoder is not available on RPi and probably never will
5068 2013-03-14 17:26:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5071 omx: Reset some more buffer fields as required
5073 2013-03-14 17:01:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5075 * config/rpi/gstomx.conf:
5077 omx: The hack to disable usage of EOS buffers is not necessary anymore on RPi
5079 2013-03-14 17:00:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5082 omx: Reset the flags for output ports when releasing a buffer, not for input ports
5084 2013-03-14 15:03:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5086 * omx/gstomxh263enc.c:
5087 * omx/gstomxh264enc.c:
5088 * omx/gstomxmpeg4videoenc.c:
5089 omx: Only unref caps after usage of its fields
5091 2013-03-14 14:51:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5093 * omx/gstomxvideodec.c:
5094 omxvideodec: Simplify bufferpool implementation
5096 2013-03-13 13:23:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5098 * omx/gstomxvideodec.c:
5099 omxvideodec: Improve min/max buffer counts handling
5101 2013-03-14 12:49:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5105 * omx/gstomxaudioenc.c:
5106 * omx/gstomxvideodec.c:
5107 * omx/gstomxvideoenc.c:
5108 omx: Handle the OMX_EventBufferFlag to detect EOS too
5110 2013-03-13 10:29:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5114 omx: Mark OpenMAX buffers as EGLImage if they contain one
5115 Needs special handling in some places, e.g. because nFilledLen
5118 2013-03-13 10:21:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5120 * omx/gstomxvideoenc.c:
5121 omxvideoenc: Properly check the nVersion field
5123 2013-03-13 09:34:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5125 * omx/gstomxvideoenc.c:
5126 omxvideoenc: RPi returns garbage for OMX_IndexParamVideoBitrate, work around that
5128 2013-03-12 20:02:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5130 * omx/gstomxvideodec.c:
5131 omxvideodec: Make sure to always get the right buffer
5133 2013-03-12 19:35:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5135 * omx/gstomxvideodec.c:
5136 omxvideodec: Make sure the buffer is released to the pool if it's not the one we wanted
5138 2013-03-12 19:17:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5140 * omx/gstomxvideodec.c:
5141 omxvideodec: Drop too late frames instead of finishing them
5143 2013-03-12 19:16:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5145 * omx/gstomxvideodec.c:
5146 omx: Release buffers to the correct port
5148 2013-03-13 09:37:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5151 omx: Always load the OpenMAX IL cores with G_MODULE_BIND_LOCAL
5153 2013-03-12 18:20:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5156 omx: Lazy-load symbols of libbcm_host.so
5157 It exports eglIntOpenMAXILDoneMarker(), which is also
5158 exported by libopenmaxil.so... but we need the version
5159 from libopenmaxil.so as the other one is just a stub.
5161 2013-03-11 13:59:15 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5163 * omx/gstomxaacenc.c:
5164 * omx/gstomxh263enc.c:
5165 * omx/gstomxmpeg4videoenc.c:
5166 omx: Don't set profile/level in other encoders if downstream caps don't specify any
5168 2013-03-11 13:49:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5170 * omx/gstomxh264enc.c:
5171 omxh264enc: If caps specify no profile/level use the component's defaults
5173 2013-03-11 13:45:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5175 * omx/gstomxvideoenc.c:
5176 omxvideoenc: Always allocate output buffers from the loop function
5178 2013-03-11 13:12:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5180 * omx/gstomxh264enc.c:
5181 omxh264enc: The h264 encoders are supposed to output byte-stream/au
5183 2013-03-11 11:47:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5185 * omx/gstomxvideoenc.c:
5186 omxvideoenc: Wait until the Executing state is reached before passing buffers to the component
5188 2013-03-11 10:39:25 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5190 * omx/gstomxvideodec.c:
5191 omxvideodec: Don't provide buffers to downstream
5192 This only works reliable if we have a way to tell downstream to
5193 release all our buffers for reconfiguration.
5195 2013-03-11 10:29:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5197 * omx/gstomxaudioenc.c:
5198 omxaudioenc: Disable output port when setting a new format
5200 2013-03-11 10:29:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5202 * omx/gstomxvideoenc.c:
5203 omxvideoenc: Disable output port when setting a new format
5205 2013-03-11 10:22:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5207 * omx/gstomxvideodec.c:
5208 omxvideodec: Disable output port when setting a new format
5209 Based on a patch by Josep Torra <n770galaxy@gmail.com>
5211 2013-03-11 10:04:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5213 * omx/gstomxaudioenc.c:
5214 * omx/gstomxvideodec.c:
5215 * omx/gstomxvideoenc.c:
5216 omx: Catch errors when releasing buffers to a port and handle them
5218 2013-03-10 12:09:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5220 * omx/gstomxvideoenc.c:
5221 omxvideoenc: Use the correct video codec state when filling an input buffer
5223 2013-03-10 12:05:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5225 * omx/gstomxvideoenc.c:
5226 omxvideoenc: Store correct input state
5228 2013-03-10 11:27:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5230 * omx/gstomxvideoenc.c:
5231 omxvideoenc: Allocate output buffers as early as possible
5233 2013-03-10 11:01:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5236 omx: Log unknown events
5238 2013-03-09 14:14:40 +0100 Josep Torra <n770galaxy@gmail.com>
5240 * omx/gstomxaudioenc.c:
5241 * omx/gstomxvideodec.c:
5242 * omx/gstomxvideoenc.c:
5243 omx: Fix deadlock in encoders and add explainatory comments.
5245 2013-03-09 13:27:08 +0100 Josep Torra <n770galaxy@gmail.com>
5247 * omx/gstomxvideodec.c:
5248 omxvideodec: fix printf format identifier
5250 2013-03-09 13:07:59 +0100 Josep Torra <n770galaxy@gmail.com>
5252 * omx/gstomxvideodec.c:
5253 omx: Minor changes on debuging info
5255 2013-03-09 13:00:33 +0100 Josep Torra <n770galaxy@gmail.com>
5257 * omx/gstomxvideodec.c:
5258 omxvideodec: avoid a deadlock
5260 2013-03-08 15:56:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5262 * omx/gstomxvideodec.c:
5263 omxvideodec: Don't forget to populate output port
5265 2013-03-08 15:11:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5267 * omx/gstomxaudioenc.c:
5268 * omx/gstomxvideodec.c:
5269 * omx/gstomxvideoenc.c:
5270 omx: Flush and stop srcpad when configuring new caps
5272 2013-03-07 17:40:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5274 * config/rpi/gstomx.conf:
5276 Revert "omx: use no-component-reconfigure hack on the Raspberry PI"
5277 This reverts commit e123b2089f69a413241f30a2428ea6edd8f231e7.
5278 It's not required anymore after the fix from the last commit.
5280 2013-03-07 17:38:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5282 * omx/gstomxvideodec.c:
5283 omxvideodec: Only negotiate a color format with downstream on the initial caps
5285 2013-03-07 17:29:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5287 * omx/gstomxvideodec.c:
5288 omxvideodec: Make sure the output port is disabled while we allocate buffers
5290 2013-03-07 17:27:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5293 omx: Also wait for disabled output ports to be reconfigured
5295 2013-03-07 14:10:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5297 * omx/gstomxvideodec.c:
5298 * omx/gstomxvideodec.h:
5299 omxvideodec: Add buffer pool for sharing OpenMAX memory with downstream
5301 2013-03-07 11:11:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5305 * omx/gstomxaudioenc.c:
5306 * omx/gstomxvideodec.c:
5307 * omx/gstomxvideoenc.c:
5308 omx: Add timeout to the flush operation and move buffer populating to a separate function
5310 2013-03-06 17:33:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5312 * config/rpi/gstomx.conf:
5315 omx: Remove min buffer count hack for RPi again
5316 It's not necessary anymore
5318 2013-03-06 17:05:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5322 * omx/gstomxaudioenc.c:
5323 * omx/gstomxvideodec.c:
5324 * omx/gstomxvideoenc.c:
5325 omx: Do number of buffers configuration explicitely
5327 2013-03-07 11:24:54 +0100 Josep Torra <n770galaxy@gmail.com>
5329 * omx/gstomxvideodec.c:
5330 omxvideodec: fixes reconfiguration
5331 Avoid having fixed fields from previous caps on reconfiguration.
5333 2013-03-07 11:02:39 +0100 Josep Torra <n770galaxy@gmail.com>
5335 * config/rpi/gstomx.conf:
5337 omx: use no-component-reconfigure hack on the Raspberry PI
5339 2013-03-07 00:03:28 +0000 Tim-Philipp Müller <tim@centricular.net>
5342 Automatic update of common submodule
5343 From 2de221c to 04c7a1e
5345 2013-03-01 15:32:47 +0100 Josep Torra <n770galaxy@gmail.com>
5347 * omx/gstomxvideoenc.h:
5348 omxvideoenc: drop unused data member
5350 2013-03-01 12:23:54 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5352 * omx/gstomxh263enc.c:
5353 * omx/gstomxh264enc.c:
5354 * omx/gstomxmpeg4videoenc.c:
5355 omxvideoenc: And set it actually on the right port
5357 2013-03-01 12:18:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5359 * omx/gstomxh263enc.c:
5360 * omx/gstomxh264enc.c:
5361 * omx/gstomxmpeg4videoenc.c:
5362 omxvideoenc: Set the coding type in the subclasses to the specific codec
5364 2013-03-01 11:49:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5366 * omx/gstomxvideoenc.c:
5367 omxvideoenc: gst_omx_port_update_port_definition() returns a OMX_ERRORTYPE, not a gboolean
5369 2013-03-01 11:44:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5371 * omx/gstomxvideodec.c:
5372 * omx/gstomxvideoenc.c:
5373 omxvideo{dec,enc}: Don't use the input state if it wasn't set yet
5375 2013-03-01 11:25:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5377 * omx/gstomxaudioenc.c:
5378 omxaudioenc: Only enable the output port after we know the output format
5380 2013-03-01 11:24:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5382 * omx/gstomxvideoenc.c:
5383 omxvideoenc: Only enable the output port after we know the output format
5385 2013-02-28 17:02:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5387 * omx/gstomxvideodec.c:
5388 omxvideodec: Only enable the output port after we know the output format
5390 2013-03-01 11:18:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5394 omx: Handle errors more gracefully
5396 2013-02-28 15:48:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5400 * omx/gstomxaudioenc.c:
5401 * omx/gstomxh263dec.c:
5402 * omx/gstomxh264dec.c:
5403 * omx/gstomxmpeg2dec.c:
5404 * omx/gstomxmpeg4videodec.c:
5405 * omx/gstomxvideodec.c:
5406 * omx/gstomxwmvdec.c:
5407 omx: Return the OMX_ERRORTYPE from gst_omx_port_update_port_definition
5409 2013-02-28 15:37:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5412 omx: Return port definition update errors
5414 2013-02-28 13:57:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5416 * config/rpi/gstomx.conf:
5419 omx: Add hack for RPi for the minimum number of buffers required for a port
5420 The value in the port definition is invalid and the initial actual
5421 buffer count should be used.
5423 2013-02-28 13:26:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5426 omx: Always tell the component about the right number of buffers that we're going to allocate
5428 2013-02-28 13:07:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5431 omx: Invert assertion to let it express what was intended
5433 2013-02-28 11:19:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5437 * omx/gstomxaudioenc.c:
5438 * omx/gstomxvideodec.c:
5439 * omx/gstomxvideoenc.c:
5440 omx: Add API for allocating a specific number of buffers and using EGLImages or buffers allocated elsewhere
5442 2013-02-27 16:55:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5444 * omx/gstomxaudioenc.c:
5445 * omx/gstomxvideodec.c:
5446 * omx/gstomxvideoenc.c:
5447 omx: Refactor code flow a bit if output port settings have changed
5449 2013-02-27 15:49:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5453 * omx/gstomxaudioenc.c:
5454 * omx/gstomxvideodec.c:
5455 * omx/gstomxvideoenc.c:
5456 omx: Clean up port settings change handling
5458 2013-02-27 11:30:14 +0100 Josep Torra <n770galaxy@gmail.com>
5460 * omx/gstomxvideodec.c:
5461 omxvideodec: initialize param structure before using it
5463 2013-02-27 10:21:39 +0100 Josep Torra <n770galaxy@gmail.com>
5465 * omx/gstomxvideoenc.c:
5466 omxvideoenc: prevent a NULL pointer access
5468 2013-02-26 17:25:49 +0100 Josep Torra <n770galaxy@gmail.com>
5470 * omx/gstomxvideodec.c:
5471 omxvideodec: prevent a NULL pointer access
5473 2013-02-25 13:11:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5476 omx: Fix deadlock during reconfiguration
5478 2013-02-25 12:38:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5481 * omx/gstomxaudioenc.c:
5482 * omx/gstomxvideodec.c:
5483 * omx/gstomxvideoenc.c:
5484 omx: Auto-detect the port indizes if possible
5486 2013-02-25 11:42:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5488 * omx/gstomxvideodec.c:
5489 * omx/gstomxvideoenc.c:
5490 omx: Refactor querying of component supported caps into its own function
5492 2013-02-25 10:41:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5496 * omx/gstomxaudioenc.c:
5497 * omx/gstomxvideodec.c:
5498 * omx/gstomxvideoenc.c:
5499 omx: Refactor waiting for buffers to be released by the component to a separate function
5501 2013-01-11 17:44:13 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5505 omx: Add methods to set up and close a tunnel between components
5507 2013-02-25 09:15:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5509 * omx/gstomxaacenc.c:
5510 * omx/gstomxaudioenc.c:
5511 * omx/gstomxaudioenc.h:
5512 omxaudioenc: Rename component variable
5514 2013-02-25 09:15:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5516 * omx/gstomxh263enc.c:
5517 * omx/gstomxh264enc.c:
5518 * omx/gstomxmpeg4videoenc.c:
5519 * omx/gstomxvideoenc.c:
5520 * omx/gstomxvideoenc.h:
5521 omxvideoenc: Rename component variable
5523 2013-02-25 09:12:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5525 * omx/gstomxvideodec.c:
5526 * omx/gstomxvideodec.h:
5527 omxvideodec: Rename component variable
5529 2013-02-22 16:27:33 +0100 Josep Torra <n770galaxy@gmail.com>
5531 * omx/gstomxvideoenc.c:
5532 omxvideoenc: remove duplicated line
5534 2013-02-22 10:42:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5537 Retry loading libbcm_host.so without an absolute path if that failed
5539 2013-02-21 20:32:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5541 * config/bellagio/Makefile.am:
5542 Add missing file from last commit
5544 2013-02-21 11:01:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5546 * config/Makefile.am:
5547 * config/bellagio/gstomx.conf:
5550 Add OpenMAX IL target for Bellagio
5551 Not tested since a very long time though.
5553 2013-02-21 10:59:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5557 Allow using external OpenMAX IL headers
5559 2013-02-21 10:14:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5564 2013-02-21 10:13:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5566 * config/Makefile.am:
5567 * config/rpi/Makefile.am:
5568 * config/rpi/gstomx.conf:
5570 Install the RPI config when the RPI target is selected
5572 2013-02-21 10:08:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5575 Set default hacks for the RPI target and always initialize bcm_host
5577 2013-02-21 10:05:37 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5580 Add configure parameter for setting the OpenMAX IL target
5582 2013-02-12 11:55:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5585 omx: Add FIXME for the future
5587 2013-02-12 11:49:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5591 * omx/gstomxaudioenc.c:
5592 * omx/gstomxaudioenc.h:
5593 * omx/gstomxvideodec.c:
5594 * omx/gstomxvideodec.h:
5595 * omx/gstomxvideoenc.c:
5596 * omx/gstomxvideoenc.h:
5597 omx: Some minor refactoring and cleanup
5599 2013-02-12 11:45:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5602 omx: Don't access the port's buffers array if it wasn't allocated yet
5604 2013-02-12 11:44:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5607 omx: Mark an array as const
5609 2013-02-12 11:41:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5613 * omx/gstomxaudioenc.c:
5614 * omx/gstomxvideodec.c:
5615 * omx/gstomxvideoenc.c:
5616 omx: Split enabling/disabling of port into sending the command and waiting for it
5617 This allows to do anything necessary after sending the command to actually let it finish
5619 2013-02-12 11:37:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5622 omx: Flushing is also allowed in Paused state
5624 2013-02-12 11:28:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5626 * omx/gstomxvideoenc.c:
5627 omxvideoenc: Set stride, slice height and buffer size
5629 2013-02-12 11:09:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5631 * config/raspberry-pi.conf:
5632 config: Add h264 and mpeg2 encoders to the raspberry pi config
5633 Not completely working yet though.
5635 2013-02-12 11:03:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5637 * omx/gstomxvideoenc.c:
5638 omxvideoenc: Properly negotiate OMX color format with the component
5640 2013-02-12 10:53:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5642 * omx/gstomxvideoenc.c:
5643 omxvideoenc: Implement getcaps() vfunc
5645 2013-01-29 21:32:53 +0000 Tim-Philipp Müller <tim@centricular.net>
5648 configure: use 1.0 gstconfig.h to detect disabled subsystems
5649 Update unused configure check for GStreamer core subsystem
5650 features from 0.10 to 1.0.
5652 2013-01-28 20:44:41 +0100 Stefan Sauer <ensonic@users.sf.net>
5655 Automatic update of common submodule
5656 From a942293 to 2de221c
5658 2013-01-24 14:02:36 +0100 Julian Scheel <julian@jusst.de>
5660 * config/raspberry-pi.conf:
5663 * omx/gstomxmpeg2dec.c:
5664 * omx/gstomxmpeg2dec.h:
5665 omx: add mpeg2 video decoder
5666 This adds a decoder class for mpeg2, as well as an extended
5667 configuration for raspberry pi.
5668 https://bugzilla.gnome.org/show_bug.cgi?id=692446
5669 Signed-off-by: Julian Scheel <julian@jusst.de>
5671 2013-01-18 16:47:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5674 omx: Minimize the time when the messages lock is held
5675 Fixes a deadlock if any OMX functions are called when the
5676 messages are handled.
5677 Thanks to Nicolas Dufresne for noticing.
5679 2013-01-18 15:28:20 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5682 omx: improve debug message when we can't find the config file
5683 Mention where we looked for the config file.
5685 2013-01-18 12:34:38 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5688 build: fix autogen.sh with automake 1.13
5689 AM_CONFIG_HEADER -> AC_CONFIG_HEADERS
5691 2013-01-17 18:07:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5694 * omx/gstomxaudioenc.h:
5695 * omx/gstomxvideodec.h:
5696 * omx/gstomxvideoenc.h:
5697 omx: Fix includes to properly work with the 1.0 releases
5699 2013-01-15 15:08:28 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5702 Automatic update of common submodule
5703 From a72faea to a942293
5705 2013-01-15 14:34:45 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5708 omx: Update port definition when changing some port setting
5710 2013-01-14 11:41:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5714 omx: Rename from libgstopenmax.so to ligstomx.so for consistency
5716 2013-01-11 15:32:22 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
5719 omx: Add a method to send message
5721 2013-01-11 15:44:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5725 omx: Atomic ops are not required anymore for the reconfiguration
5727 2013-01-11 12:52:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5729 * omx/gstomxaudioenc.c:
5730 * omx/gstomxvideodec.c:
5731 * omx/gstomxvideoenc.c:
5732 omx: Fix some memory leaks and suboptimal locking
5734 2013-01-11 12:34:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5736 * omx/gstomxvideoenc.c:
5737 omxvideoenc: Don't forget to unmap frame in error cases
5739 2013-01-11 12:29:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5741 * omx/gstomxvideoenc.c:
5742 omxvideoenc: Fix copying of the video frames to the OMX buffers
5744 2013-01-11 12:24:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5746 * omx/gstomxvideodec.c:
5747 omxvideodec: Fix copying of the video frames from the OMX buffers
5749 2013-01-10 14:44:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5754 * omx/gstomxaudioenc.c:
5755 * omx/gstomxrecmutex.c:
5756 * omx/gstomxrecmutex.h:
5757 omx: Implement new approach for locking that should solve all deadlocks on RPi
5758 No mutex is locked while calling any OpenMAX functions anymore
5759 and everything from the OpenMAX callbacks is inserted into a message
5760 queue and handled from outside the callbacks.
5761 Also there's only a single mutex and condition variable per component
5762 now for handling anything from OpenMAX callbacks and a single mutex
5763 for keeping our component/port state sane.
5765 2012-12-20 19:30:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5767 * omx/gstomxvideodec.c:
5768 omxvideodec: Set the OMX buffer nFilledLength field properly
5770 2012-12-20 18:48:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5772 * omx/gstomxrecmutex.c:
5773 * omx/gstomxrecmutex.h:
5774 omxrecmutex: Fix another race condition when two threads are trying to lock for recursion at the same time
5776 2012-12-20 18:16:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5778 * omx/gstomxrecmutex.c:
5779 * omx/gstomxrecmutex.h:
5780 omxrecmutex: Fix yet another race condition that resulted in deadlocks
5782 2012-12-20 17:46:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5785 * omx/gstomxrecmutex.c:
5786 * omx/gstomxrecmutex.h:
5787 omx: Fix another race condition in the recursive mutex
5788 Between lock() and begin_recursion() it was possible for another thread to
5789 try to do a recursive_lock(). This would block because the mutex was already
5790 locked(), but not ready for recursive locking yet. unlock() would never
5791 happen in the original thread because it was waiting for the other thread
5793 Happened on the Raspberry Pi.
5795 2012-12-20 14:45:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5797 * omx/gstomxrecmutex.c:
5798 * omx/gstomxrecmutex.h:
5799 omxrecmutex: Fix a small race condition when unlocking a non-recursive lock
5801 2012-12-20 12:30:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5803 * omx/gstomxaudioenc.c:
5804 * omx/gstomxvideodec.c:
5805 * omx/gstomxvideoenc.c:
5806 omx: Fix ununsed variable compiler warning
5808 2012-12-20 12:27:47 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5810 * omx/gstomxaudioenc.c:
5811 * omx/gstomxvideodec.c:
5812 * omx/gstomxvideoenc.c:
5813 omx: No need to start the srcpad task in ::start() already
5814 It will be started properly after the caps are set.
5816 2012-12-20 12:23:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5818 * omx/gstomxvideodec.c:
5819 omxvideodec: OMX_ErrorNoMore is no error and just means we ended iteration
5821 2012-12-20 12:20:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5823 * omx/gstomxaudioenc.c:
5824 * omx/gstomxvideodec.c:
5825 * omx/gstomxvideoenc.c:
5826 omx: Improve debug output
5828 2012-12-20 12:02:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5830 * omx/gstomxvideodec.c:
5831 omxvideodec: Don't forget to free a GList
5833 2012-12-20 11:56:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5835 * omx/gstomxvideodec.c:
5836 omxvideodec: Map OMX_COLOR_FormatYUV420PackedPlanar to I420 too
5837 This is used on the Raspberry Pi.
5839 2012-12-20 11:55:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5841 * omx/gstomxvideodec.c:
5842 omxvideodec: During negotiation of the output format make sure we use the correct OpenMAX format
5844 2012-12-20 11:42:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5846 * omx/gstomxvideodec.c:
5847 omxvideodec: If negotiation fails this could also mean that the component can't do it at this point yet
5849 2012-12-20 11:40:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5851 * omx/gstomxvideodec.c:
5852 omxvideodec: Improve format negotiation a bit
5853 Don't leak caps and make sure to fixate caps.
5855 2012-12-19 13:05:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5858 omx: Also initialize nStep field of the OMX structures
5860 2012-12-19 13:03:37 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5863 omx: Initialize struct version with the OMX version we compiled with
5865 2012-12-19 12:44:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5867 * omx/gstomxvideodec.c:
5868 omxvideodec: Extract data from the input buffer, not the codec data
5870 2012-12-19 12:19:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5873 * tools/listcomponents.c:
5874 omx: Use has_suffix() instead of has_prefix() for the Broadcom hack
5876 2012-12-19 12:08:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5880 * tools/Makefile.am:
5881 * tools/listcomponents.c:
5882 tools: Add tool to list all components and their roles
5884 2012-12-19 11:31:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5887 omx: Add hack to load and initialize libbcm_host.so
5888 Needed on the Raspberry Pi. Patch based on a patch by
5889 George Kiagiadakis <george.kiagiadakis@collabora.com>
5891 2012-12-19 11:22:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5895 configure: Add configure option to pack OpenMAX structures
5896 This is required to set to 4 for the Raspberry Pi for example.
5898 2012-12-19 11:07:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5901 configure: Require GStreamer 1.0.0
5903 2012-04-20 17:13:52 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
5906 omx: Initialize structures to version 1.1.2
5908 2012-12-19 09:51:22 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5911 * config/Makefile.am:
5912 * config/raspberry-pi.conf:
5914 config: Add raspberry-pi configuration in a different directory
5916 2012-05-20 20:11:59 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
5918 * omx/gstomx-raspberry.conf:
5919 raspberry: Add a gstomx.conf for the Raspberry Pi
5921 2012-12-12 17:45:39 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5924 * omx/gstomxvideoenc.h:
5925 omx: Fix some compilation errors caused by circular includes
5927 2012-11-19 11:29:44 +0000 Tim-Philipp Müller <tim@centricular.net>
5930 Automatic update of common submodule
5931 From 6bb6951 to a72faea
5933 2012-11-12 15:14:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5935 * omx/gstomxvideodec.c:
5936 * omx/gstomxvideoenc.c:
5937 omx: Fix refcount problem with frames being dropped because of decoder bugs
5939 2012-11-12 11:29:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5943 * omx/gstomxaudioenc.c:
5944 * omx/gstomxaudioenc.h:
5945 * omx/gstomxrecmutex.c:
5946 * omx/gstomxrecmutex.h:
5947 * omx/gstomxvideodec.c:
5948 * omx/gstomxvideodec.h:
5949 * omx/gstomxvideoenc.c:
5950 * omx/gstomxvideoenc.h:
5951 omx: Update to new GLib thread API
5953 2012-10-22 14:34:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5955 * omx/gstomxvideodec.c:
5956 * omx/gstomxvideoenc.c:
5957 omx: Use open/close vfuncs
5959 2012-10-22 14:28:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5961 * omx/gstomxvideodec.c:
5962 * omx/gstomxvideoenc.c:
5963 omx: Handle video meta correctly
5965 2012-06-20 13:11:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5968 * omx/gstbasevideocodec.c:
5969 * omx/gstbasevideocodec.h:
5970 * omx/gstbasevideodecoder.c:
5971 * omx/gstbasevideodecoder.h:
5972 * omx/gstbasevideoencoder.c:
5973 * omx/gstbasevideoencoder.h:
5974 * omx/gstbasevideoutils.c:
5975 * omx/gstbasevideoutils.h:
5976 * omx/gstomxh263dec.c:
5977 * omx/gstomxh263enc.c:
5978 * omx/gstomxh264dec.c:
5979 * omx/gstomxh264enc.c:
5980 * omx/gstomxmpeg4videodec.c:
5981 * omx/gstomxmpeg4videoenc.c:
5982 * omx/gstomxvideodec.c:
5983 * omx/gstomxvideodec.h:
5984 * omx/gstomxvideoenc.c:
5985 * omx/gstomxvideoenc.h:
5986 * omx/gstomxwmvdec.c:
5987 omx: Port to video base classes from -base
5989 2012-10-17 17:57:43 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5991 * omx/gstomxaacenc.c:
5992 * omx/gstomxh263dec.c:
5993 * omx/gstomxh263enc.c:
5994 * omx/gstomxh264dec.c:
5995 * omx/gstomxh264enc.c:
5996 * omx/gstomxmpeg4videodec.c:
5997 * omx/gstomxmpeg4videoenc.c:
5998 * omx/gstomxwmvdec.c:
5999 omx: gst_element_class_set_details_simple() -> set_static_metadata()
6001 2012-10-06 15:01:11 +0100 Tim-Philipp Müller <tim@centricular.net>
6004 Automatic update of common submodule
6005 From 6c0b52c to 6bb6951
6007 2012-09-22 16:10:38 +0100 Tim-Philipp Müller <tim@centricular.net>
6010 Automatic update of common submodule
6011 From 4f962f7 to 6c0b52c
6013 2012-06-21 20:22:13 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
6016 omx: fix debug statement
6018 2012-06-21 20:21:03 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
6021 omx: use recursive_lock inside set_last_error(), since this function may be called from an event handler
6023 2012-08-22 13:31:59 +0200 Stefan Sauer <ensonic@users.sf.net>
6026 Automatic update of common submodule
6027 From 668acee to 4f962f7
6029 2012-08-05 16:42:43 +0100 Tim-Philipp Müller <tim@centricular.net>
6032 Automatic update of common submodule
6033 From 94ccf4c to 668acee
6035 2012-08-03 19:32:13 +0100 Tim-Philipp Müller <tim@centricular.net>
6038 omx: fix plugin name for new GST_PLUGIN_DEFINE API
6040 2012-07-23 08:47:32 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6043 Automatic update of common submodule
6044 From 98e386f to 94ccf4c
6046 2012-07-10 09:57:09 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6048 * omx/gstbasevideodecoder.c:
6049 omx: Update for allocation query API changes
6051 2012-06-20 11:09:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6053 * omx/gstomxaudioenc.c:
6054 * omx/gstomxvideodec.c:
6055 * omx/gstomxvideoenc.c:
6056 omx: Fix compilation after gst_pad_start_task() API changes
6058 2012-06-08 15:06:35 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
6061 Automatic update of common submodule
6062 From 03a0e57 to 98e386f
6064 2012-06-06 18:20:18 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
6067 Automatic update of common submodule
6068 From 1fab359 to 03a0e57
6070 2012-06-01 10:30:27 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
6073 Automatic update of common submodule
6074 From f1b5a96 to 1fab359
6076 2012-05-31 13:10:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6079 Automatic update of common submodule
6080 From 92b7266 to f1b5a96
6082 2012-05-30 12:47:59 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6085 Automatic update of common submodule
6086 From ec1c4a8 to 92b7266
6088 2012-05-30 11:26:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6091 Automatic update of common submodule
6092 From 3429ba6 to ec1c4a8
6094 2012-05-13 15:58:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6097 Automatic update of common submodule
6098 From dc70203 to 3429ba6
6100 2012-05-08 16:13:32 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
6103 omx: Fix spelling mistake found by lintian: s/Seperate/Separate/
6105 2012-04-30 23:58:43 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
6110 * omx/gstomxaudioenc.c:
6111 * omx/gstomxrecmutex.c:
6112 * omx/gstomxrecmutex.h:
6113 * omx/gstomxvideodec.c:
6114 * omx/gstomxvideoenc.c:
6115 Implement a new custom recursive mutex type and fix locking in callbacks so that in-context calls are allowed.
6116 According to the OMX specification, implementations are allowed to call
6117 callbacks in the context of their function calls. However, our callbacks
6118 take locks and this causes deadlocks if the unerlying OMX implementation
6119 uses this kind of in-context calls.
6120 A solution to the problem would be a recursive mutex. However, a normal
6121 recursive mutex does not fix the problem because it is not guaranteed
6122 that the callbacks are called from the same thread. What we see in Broadcom's
6123 implementation for example is:
6125 - OMX_Foo waits on a condition
6126 - A callback is executed in a different thread
6127 - When the callback returns, its calling function
6128 signals the condition that OMX_Foo waits on
6129 - OMX_Foo wakes up and returns
6130 The solution I came up with here is to take a second lock inside the callback,
6131 but only if recursion is expected to happen. Therefore, all calls to OMX
6132 functions are guarded by calls to gst_omx_rec_mutex_begin_recursion() / _end_recursion(),
6133 which effectively tells the mutex that at this point we want to allow calls
6134 to _recursive_lock() to succeed, although we are still holding the master lock.
6136 2012-04-20 14:51:34 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
6140 omx: Add hack to disable setting roles to components.
6144 2012-04-30 23:20:24 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
6147 * omx/gstomxvideodec.c:
6148 omxvideodec: Implement no-empty-eos-buffer hack, as in omxvideoenc.
6150 omx/gstomxvideodec.c
6152 2012-04-30 23:19:55 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
6154 * omx/gstomxvideodec.c:
6155 omxvideodec: Fix coding style in the drain-may-not-return hack code
6157 2012-04-25 19:03:48 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
6160 omx: Fix trivial debug print bug
6162 2012-04-25 19:01:32 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
6166 * omx/gstomxvideodec.c:
6167 omxvideodec: Add hack for Ducati components not returning from drain
6168 This happens on the Galaxy Nexus, and causes the pipeline to hang waiting
6169 endlessly for a drain. The hack replaces the wait with a wait + 500ms timeout.
6171 2012-04-25 16:35:40 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
6174 omx: Fix deadlock between ending a flush and the event handler
6175 gst_omx_port_set_flushing() calls OMX_FillThisBuffer at the end of a flush
6176 without releasing the port lock, and this can cause a deadlock with the
6177 EventHandler. This patches fixes this by dropping the lock for the duration of
6178 the fill buffer call.
6180 2012-04-24 15:41:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6182 * omx/gstbasevideodecoder.c:
6183 * omx/gstbasevideoencoder.c:
6184 omx: Update video encoder/decoder base classes from gst-plugins-bad
6186 2012-04-16 09:16:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6189 configure: Modernize autotools setup a bit
6190 Also we now only create tar.bz2 and tar.xz tarballs.
6192 2012-04-16 09:12:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6195 Automatic update of common submodule
6197 2012-04-16 08:34:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6199 * omx/gstomxaudioenc.c:
6200 omxaudioenc: Use gst_buffer_extract() to copy the input buffer data to the OpenMAX buffer
6202 2012-04-13 17:16:42 -0400 Alessandro Decina <alessandro.decina@collabora.com>
6205 Fix relative/absolute path glitch
6206 Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
6208 2012-04-12 15:57:32 -0400 Olivier Crête <olivier.crete@collabora.com>
6213 * omx/gstbasevideocodec.c:
6214 * omx/gstbasevideocodec.h:
6215 * omx/gstbasevideodecoder.c:
6216 * omx/gstbasevideodecoder.h:
6217 * omx/gstbasevideoencoder.c:
6218 * omx/gstbasevideoencoder.h:
6221 * omx/gstomxaacenc.c:
6222 * omx/gstomxaudioenc.c:
6223 * omx/gstomxaudioenc.h:
6224 * omx/gstomxh263dec.c:
6225 * omx/gstomxh263enc.c:
6226 * omx/gstomxh264dec.c:
6227 * omx/gstomxh264enc.c:
6228 * omx/gstomxmpeg4videodec.c:
6229 * omx/gstomxmpeg4videoenc.c:
6230 * omx/gstomxvideodec.c:
6231 * omx/gstomxvideodec.h:
6232 * omx/gstomxvideoenc.c:
6233 * omx/gstomxvideoenc.h:
6234 * omx/gstomxwmvdec.c:
6237 2012-01-18 16:53:16 -0300 Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
6241 Enable building with Android's buildsystem
6242 This change adds prelimary buildsystem hooks to
6243 build gst-omx with the Android buildsystem. Like
6244 the rest of GStreamer's Android hooks, the process
6245 relies on the availability of androgenizer. A tool
6246 developed by Collabora to automatically generate
6247 Android.mk files from within the auto* setup.
6248 Androgenizer is currently available at:
6249 http://cgit.collabora.com/git/user/derek/androgenizer.git/
6251 2011-12-13 10:17:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6253 * omx/gstbasevideocodec.c:
6254 basevideocodec: Don't use G_TYPE_REGISTER_BOXED() yet
6255 This would require GLib 2.26.
6257 2011-12-14 10:09:34 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
6259 * omx/gstomxaudioenc.c:
6260 omxaudioenc: Add hack for encoder components that don't allow empty EOS buffers
6262 2011-12-14 10:07:29 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
6264 * omx/gstomxvideoenc.c:
6265 omxvideoenc: Fix deadlock when using the EOS hack
6267 2011-12-12 14:26:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6269 * omx/gstomxvideoenc.c:
6270 omxvideoenc: Remove workaround for basevideocodec bug
6272 2011-12-12 14:26:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6274 * omx/gstomxvideodec.c:
6275 omxvideodec: Remove workaround for basevideocodec bug
6277 2011-12-05 17:57:01 +0000 Matej Knopp <matej.knopp@gmail.com>
6279 * omx/gstbasevideocodec.c:
6280 * omx/gstbasevideocodec.h:
6281 * omx/gstbasevideodecoder.c:
6282 * omx/gstbasevideoencoder.c:
6283 basevideo: Make GstVideoFrame a reference counted boxed object
6284 ...and also clear all existing frames when resetting the decoder or encoder.
6286 2011-12-09 12:17:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6290 * omx/gstomxvideoenc.c:
6291 omx: Add hack for encoder components that don't allow empty EOS buffers
6293 2011-12-09 10:21:47 +0100 Dake Gu <Dake.Gu@palm.com>
6295 * omx/gstomxaacenc.c:
6296 omxaacenc: Generate and set codec_data on the caps for raw AAC
6298 2011-10-31 11:36:06 +0100 Alessandro Decina <alessandro.decina@collabora.co.uk>
6300 * omx/gstbasevideoencoder.c:
6301 basevideoencoder: handle failures in start() and stop()
6303 2011-08-26 10:50:38 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
6305 * omx/gstbasevideoencoder.c:
6306 basevideoenc: do not try to calculate latency from an unknown framerate
6307 It'll divide by zero, and latency is unknown for an unknown framerate.
6308 Fixes an assert in the schroenc test.
6309 https://bugzilla.gnome.org/show_bug.cgi?id=657419
6311 2011-12-08 11:50:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6313 * omx/gstbasevideoencoder.c:
6314 basevideoencoder: Only make the header buffer metadata writable, not the buffer
6316 2011-12-08 10:18:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6318 * omx/gstbasevideoencoder.c:
6319 basevideoencoder: Fix handling of force-keyunit events
6321 2011-12-06 13:28:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6323 * omx/gstomxaudioenc.c:
6324 omxaudioenc: Don't forward EOS events immediately but let all other events be handled by the base class
6325 Previously this logic was inversed, which did not make any sense at all.
6327 2011-12-06 12:47:25 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6329 * omx/gstomxaudioenc.c:
6330 * omx/gstomxaudioenc.h:
6331 omxaudioenc: Use correct timestamp, duration and filled length for the EOS buffers
6333 2011-12-06 12:47:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6335 * omx/gstomxvideodec.c:
6336 * omx/gstomxvideodec.h:
6337 omxvideodec: Use correct timestamp, duration and filled length for the EOS buffers
6339 2011-12-06 12:46:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6341 * omx/gstomxvideoenc.c:
6342 * omx/gstomxvideoenc.h:
6343 omxvideoenc: Use correct timestamp, duration and filled length for the EOS buffers
6345 2011-12-05 13:18:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6348 omx: Improve debugging of buffer handling
6350 2011-12-05 08:12:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6352 * omx/gstomxvideoenc.c:
6353 omxvideoenc: Drop EOS events in ::finish()
6354 The event will be forwarded downstream from the srcpad
6355 loop function after the last buffer was generated by the
6356 component. Forwarding it after ::finish() will use the
6357 sinkpad streaming thread and does not guarantee that
6358 the encoder is completely drained.
6360 2011-12-01 16:20:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6362 * omx/gstomxvideodec.c:
6363 omxvideodec: Properly drop frames due to QoS
6364 Instead of finishing them they should be passed to drop(), which
6365 will then send QoS messages.
6367 2011-11-29 12:21:32 +0100 Jonas Larsson <jonas@hallerud.se>
6369 * omx/gstomxh264enc.c:
6370 omxh264enc: Add support for resending headers after a forced-keyframe
6372 2011-11-29 12:12:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6374 * omx/gstbasevideocodec.h:
6375 * omx/gstbasevideoencoder.c:
6376 basevideoencoder: Pass the all-headers field of the force-key-unit event to the subclass
6378 2011-11-29 12:12:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6380 * omx/gstbasevideoencoder.c:
6381 * omx/gstbasevideoencoder.h:
6382 basevideoencoder: Implement full support for the new force-key-unit event
6383 Including support for the running-time and count fields.
6385 2011-11-29 09:31:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6387 * omx/gstbasevideoencoder.c:
6388 basevideoencoder: Use new force-keyunit event API from gst-plugins-base
6390 2011-11-29 09:18:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6392 * omx/gstbasevideoencoder.c:
6393 * omx/gstbasevideoencoder.h:
6394 basevideoencoder: Adjusting padding is not required for -bad libraries
6396 2011-11-28 19:48:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6398 * omx/gstbasevideoencoder.h:
6399 basevideoencoder: Move some fields to the private part of the instance struct
6401 2011-11-28 19:36:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6403 * omx/gstbasevideoencoder.c:
6404 basevideoencoder: Make headers metadata writable before pushing downstream
6405 The timestamp, duration, etc of the headers has to be changed.
6407 2011-11-28 19:35:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6409 * omx/gstbasevideoencoder.c:
6410 * omx/gstbasevideoencoder.h:
6411 basevideoencoder: Push the downstream force-keyframe event after the next keyframe
6412 Even if the corresponding GstVideoFrame doesn't have the is_sync_point
6415 2011-11-28 19:29:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6417 * omx/gstbasevideoencoder.c:
6418 * omx/gstbasevideoencoder.h:
6419 basevideoencoder: Don't push an upstream force-keyunit event downstream
6421 2011-11-25 11:48:08 +0100 Jonas Larsson <jonas@hallerud.se>
6423 * omx/gstbasevideoencoder.c:
6424 * omx/gstbasevideoencoder.h:
6425 basevideoencoder: Add initial support for the all-headers field of the force-keyframe event
6428 2011-11-25 11:37:39 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
6430 * omx/gstbasevideodecoder.c:
6431 basevideodecoder: some more debug logging
6433 2011-11-23 20:03:32 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
6435 * omx/gstbasevideodecoder.c:
6436 * omx/gstbasevideodecoder.h:
6437 basevideodecoder: add API to drop a frame and post a QoS message on the bus
6438 https://bugzilla.gnome.org/show_bug.cgi?id=640017
6439 API: gst_base_video_decoder_drop_frame()
6441 2011-11-22 23:04:49 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
6443 * omx/gstbasevideodecoder.c:
6444 docs: fix comment in gst_base_video_decoder_get_max_decode_time() docs
6446 2011-11-22 19:57:07 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
6448 * omx/gstbasevideodecoder.c:
6449 basevideodecoder: fix weird event list handling
6450 Get rid of weird code that copies a list manually, taking
6451 ownership of the elements and then frees the old list. Instead,
6452 just take over the old list entirely. (If the intent was to
6453 reverse the list, one could use g_list_reverse() instead).
6454 Then, push events in the list out from last to first (since they
6455 were prepended as they came in) instead of just pushing out the
6456 last in the list and leaking the others.
6458 2011-11-25 11:31:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6462 * omx/gstbaseaudiodecoder.c:
6463 * omx/gstbaseaudiodecoder.h:
6464 * omx/gstbaseaudioencoder.c:
6465 * omx/gstbaseaudioencoder.h:
6466 * omx/gstbaseaudioutils.c:
6467 * omx/gstbaseaudioutils.h:
6468 * omx/gstomxaacenc.c:
6469 * omx/gstomxaudioenc.c:
6470 * omx/gstomxaudioenc.h:
6471 omxaudioenc: Use audio base classes from gst-plugins-base instead of having our own copies
6473 2011-11-18 10:00:31 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6475 * omx/gstomxaudioenc.c:
6476 omxaudioenc: First set ports to flushing before waiting for the srcpad streaming thread to finish
6478 2011-11-18 09:59:43 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6480 * omx/gstomxvideoenc.c:
6481 omxvideoenc: First set ports to flushing before waiting for the srcpad streaming thread to finish
6483 2011-11-18 09:58:58 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6485 * omx/gstomxvideodec.c:
6486 omxvideodec: First set ports to flushing before waiting for the srcpad streaming thread to finish
6488 2011-11-17 14:38:54 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6491 omx: Only disabling of a port is like flushing, enabling is like unflushing
6493 2011-11-17 13:33:35 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6496 omx: Enabling/disabling a port is also like flushing
6497 The component returns all buffers to us and shouldn't get any
6498 new buffers passed anymore.
6500 2011-11-17 11:26:33 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6502 * omx/gstomxaudioenc.c:
6503 omxaudioenc: Signal the drain GCond even if downstream returned an error
6505 2011-11-17 11:26:20 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6507 * omx/gstomxvideoenc.c:
6508 omxvideoenc: Signal the drain GCond even if downstream returned an error
6510 2011-11-17 11:25:52 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6512 * omx/gstomxvideodec.c:
6513 omxvideodec: Signal the drain GCond even if downstream returned an error
6515 2011-11-17 10:34:19 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6517 * omx/gstbasevideoencoder.c:
6518 basevideoencoder: Only call ::reset once in READY->PAUSED
6520 2011-11-17 10:19:35 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6522 * omx/gstomxaudioenc.c:
6523 omxaudioenc: Shutdown component in PAUSED->READY and deallocate buffers
6525 2011-11-17 10:19:30 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6527 * omx/gstomxvideoenc.c:
6528 omxvideoenc: Shutdown component in PAUSED->READY and deallocate buffers
6530 2011-11-17 10:19:10 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6532 * omx/gstomxvideodec.c:
6533 omxvideodec: Shutdown component in PAUSED->READY and deallocate buffers
6535 2011-11-16 12:02:08 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6537 * omx/gstomxvideoenc.c:
6538 omxvideoenc: Set force_keyframe to FALSE after handling it
6539 There's no reason why the base class should forward the event
6540 further downstream if we already handled it and will insert a
6543 2011-11-16 11:21:25 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6545 * omx/gstomxvideodec.c:
6546 omxvideodec: Always push buffers downstream, even if we didn't find a corresponding GstVideoFrame
6548 2011-11-15 09:47:55 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6551 omx: Fix debug level for flushing in wrong state from ERROR to DEBUG
6552 It's not really an error and doesn't matter at all if flush is called
6553 when the component is not running.
6555 2011-11-15 08:40:07 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6557 * omx/gstomxh264enc.c:
6558 omxh264enc: Detect bytestream stream format and don't put SPS/PPS into the caps for this format
6560 2011-11-15 08:28:32 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6562 * omx/gstomxvideoenc.c:
6563 * omx/gstomxvideoenc.h:
6564 omxvideoenc: Add vfunc for handling the output frames
6565 This can be used by subclasses to override the buffer flags
6566 or to handle some frames differently than the default behaviour.
6568 2011-11-14 12:50:26 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6570 * omx/gstomxvideodec.c:
6571 omxvideodec: Don't release buffers twice if dropping because of QoS
6573 2011-11-14 09:13:06 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6576 omx: Add XXX to the nOffset reset hack comment for QCOM
6578 2011-11-10 15:18:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6580 * omx/gstomxaudioenc.c:
6581 omxaudioenc: Make srcpad caps setting threadsafe
6583 2011-11-10 15:17:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6585 * omx/gstomxvideoenc.c:
6586 omxvideoenc: Make srcpad caps setting threadsafe
6588 2011-11-10 15:17:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6590 * omx/gstomxvideodec.c:
6591 omxvideodec: Make srcpad caps setting threadsafe
6593 2011-11-10 15:10:14 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6595 * omx/gstomxaudioenc.c:
6596 omxaudioenc: Make the srcpad task and the sinkpad streaming thread handling threadsafe
6598 2011-11-10 15:03:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6600 * omx/gstomxaudioenc.c:
6601 omxaudioenc: Always flush the ports and make sure no processing is happening in ::flush
6602 This fixes a race condition that happened when seeking
6603 very often in a short period of time.
6605 2011-11-10 15:02:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6607 * omx/gstomxvideoenc.c:
6608 omxvideoenc: Always flush the ports and make sure no processing is happening in ::reset
6609 This fixes a race condition that happened when seeking
6610 very often in a short period of time.
6612 2011-11-10 15:01:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6614 * omx/gstomxvideoenc.c:
6615 omxvideoenc: Fix minor race condition when draining after upstream signalled EOS
6617 2011-11-10 14:56:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6619 * omx/gstomxaudioenc.c:
6620 omxaudioenc: Improve EOS handling
6621 If downstream return UNEXPECTED we should still signal the
6622 drain cond because nothing will trigger this again later.
6624 2011-11-10 14:56:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6626 * omx/gstomxvideoenc.c:
6627 omxvideoenc: Improve EOS handling
6628 If downstream return UNEXPECTED we should still signal the
6629 drain cond because nothing will trigger this again later.
6631 2011-11-10 14:54:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6633 * omx/gstomxaudioenc.c:
6634 omxaudioenc: Improve debugging of EOS and draining
6636 2011-11-10 14:54:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6638 * omx/gstomxvideoenc.c:
6639 omxvideoenc: Improve debugging of EOS and draining
6641 2011-11-10 14:51:06 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6643 * omx/gstomxvideodec.c:
6644 omxvideodec: Log if acquiring buffer for EOS failed
6646 2011-11-10 14:42:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6648 * omx/gstomxvideodec.c:
6649 omxvideodec: The component is not started in READY
6651 2011-11-10 14:39:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6653 * omx/gstomxaudioenc.c:
6654 omxaudioenc: No need to signal the drain cond when going from READY to PAUSED
6655 Also the component is not started in READY
6657 2011-11-10 14:40:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6659 * omx/gstomxvideoenc.c:
6660 omxvideoenc: No need to signal the drain cond when going from READY to PAUSED
6661 Also the component is not started in READY.
6663 2011-11-09 15:46:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6665 * omx/gstomxvideodec.c:
6666 omxvideodec: Always flush the ports and make sure no processing is happening in ::reset
6667 This fixes a race condition that happened when seeking
6668 very often in a short period of time.
6670 2011-11-09 15:45:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6672 * omx/gstomxvideodec.c:
6673 omxvideodec: Fix minor race condition when draining after upstream signalled EOS
6675 2011-11-09 15:44:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6677 * omx/gstomxvideodec.c:
6678 omxvideodec: Improve EOS handling
6679 If downstream return UNEXPECTED we should still signal the
6680 drain cond because nothing will trigger this again later.
6682 2011-11-09 15:43:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6684 * omx/gstomxvideodec.c:
6685 omxvideodec: Improve debugging of EOS and draining
6687 2011-11-09 15:42:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6689 * omx/gstomxvideodec.c:
6690 omxvideodec: The component is not started already when going from READY to PAUSED
6692 2011-11-09 15:42:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6694 * omx/gstomxvideodec.c:
6695 omxvideodec: No need to signal the drain cond when going from READY to PAUSED
6697 2011-11-09 15:41:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6700 omx: Always reset buffer flags for output ports, even in flushing/error state
6702 2011-11-09 09:00:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6704 * omx/gstomxvideodec.c:
6705 omxvideodec: Improve debugging in case of QoS-related frame drops
6707 2011-11-08 12:46:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6709 * omx/gstomxvideoenc.c:
6710 omxvideoenc: Release the video codec stream lock before acquiring an input buffer
6711 Otherwise the srcpad task might block on this lock and
6712 no buffers ever become available again.
6714 2011-11-08 12:45:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6716 * omx/gstomxaudioenc.c:
6717 omxaudioenc: Release the audio encoder stream lock before acquiring an input buffer
6718 Otherwise the srcpad task might block on this lock and
6719 no buffers ever become available again.
6721 2011-11-08 12:42:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6723 * omx/gstomxvideodec.c:
6724 omxvideodec: Release the video codec stream lock before acquiring an input buffer
6725 Otherwise the srcpad task might block on this lock and
6726 no buffers ever become available again.
6728 2011-11-08 11:07:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6730 * omx/gstomxaudioenc.c:
6731 * omx/gstomxaudioenc.h:
6732 omxaudioenc: Don't try to drain the component after EOS
6733 And don't send EOS twice in any case. This most likely
6734 will cause the component to not output it again and
6735 is not necessary anyway.
6737 2011-11-08 11:03:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6739 * omx/gstomxvideoenc.c:
6740 * omx/gstomxvideoenc.h:
6741 omxvideoenc: Don't try to drain the component after EOS
6742 And don't send EOS twice in any case. This most likely
6743 will cause the component to not output it again and
6744 is not necessary anyway.
6746 2011-11-08 10:46:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6748 * omx/gstomxvideodec.c:
6749 * omx/gstomxvideodec.h:
6750 omxvideodec: Don't try to drain the component after EOS
6751 And don't send EOS twice in any case. This most likely
6752 will cause the component to not output it again and
6753 is not necessary anyway.
6755 2011-11-08 09:09:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6757 * omx/gstomxvideodec.c:
6758 omxvideodec: Implement dropping of too late frames via QoS
6760 2011-11-08 08:31:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6762 * omx/gstomxaudioenc.c:
6763 omxaudioenc: Minor code refactoring
6765 2011-11-08 08:31:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6767 * omx/gstomxvideoenc.c:
6768 omxvideoenc: Minor code refactoring
6770 2011-11-08 08:31:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6772 * omx/gstomxvideodec.c:
6773 omxvideodec: Make sure to always release buffers back to OMX
6775 2011-11-08 08:24:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6778 omx: Also properly release buffers when in error state
6780 2011-11-08 08:22:08 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
6783 omx: Properly release buffers during flushing
6784 We can't pass them back to OMX_FillThisBuffer() or OMX_EmptyThisBuffer()
6785 but instead of doing nothing we have to put them back into our queue.
6786 Otherwise the buffer is leaked and we will have too few buffers in
6789 2011-11-07 14:00:47 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6791 * omx/gstomxvideodec.c:
6792 omxvideodec: Free pending frames after draining component
6794 2011-11-07 14:00:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6796 * omx/gstomxvideoenc.c:
6797 omxvideoenc: Free pending frames after draining the component
6799 2011-11-07 11:07:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6801 * omx/gstomxvideoenc.c:
6802 omxvideoenc: Make handling and usage of the base video codec frames threadsafe
6804 2011-11-07 11:05:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6806 * omx/gstomxvideoenc.c:
6807 omxvideoenc: Fix deadlock between srcpad stream lock and ::reset()
6809 2011-11-07 11:04:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6811 * omx/gstomxvideodec.c:
6812 omxvideoenc: Make handling and usage of the base video codec frames threadsafe
6814 2011-11-07 10:58:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6816 * omx/gstomxvideoenc.c:
6817 omxvideoenc: Free all pending frames after draining the component
6819 2011-11-07 10:58:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6821 * omx/gstomxvideodec.c:
6822 omxvideodec: Always free all pending frames when caps changes require reconfiguration
6824 2011-11-04 09:43:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6826 * omx/gstomxaudioenc.c:
6827 omxaudioenc: Only drain the component a single time and only after processing started
6829 2011-11-04 09:43:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6831 * omx/gstomxvideodec.c:
6832 omxvideodec: Only drain the component a single time and only after processing started
6834 2011-11-04 09:43:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6836 * omx/gstomxvideoenc.c:
6837 omxvideoenc: Only drain the component a single time and only after processing started
6839 2011-11-04 09:04:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6842 omx: Reset buffer flags to 0 after it was consumed by the component or the element
6843 Some implementations don't reset the flags and the standard is not
6844 really clear on the expected behaviour. Let's just always reset the
6845 flags as they're not valid at this point anymore.
6847 2011-11-02 13:50:14 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6849 * omx/gstomxvideoenc.c:
6850 * omx/gstomxvideoenc.h:
6851 omxvideoenc: Better handling of encoder parameters
6852 Only set them if necessary and allow to use the component
6855 2011-11-02 13:22:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6857 * omx/gstomxvideoenc.c:
6858 omxvideoenc: Make unsupported bitrate/quantizer settings less fatal
6860 2011-11-02 10:39:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6862 * omx/gstomxvideodec.c:
6863 omxvideodec: If no stride was set for the OMX output port assume GStreamer stride
6864 This is not really correct but there's nothing else we could do.
6866 2011-11-02 10:39:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6868 * omx/gstomxvideoenc.c:
6869 omxvideoenc: If no stride was set for the OMX input port assume GStreamer stride
6870 This is not really correct but there's nothing else we could do.
6872 2011-11-01 16:46:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6874 * omx/gstomxaudioenc.c:
6875 * omx/gstomxaudioenc.h:
6876 omxaudioenc: Implement draining of the component and use it
6877 This makes sure that all buffers are encoded and pushed downstream
6878 before flushing the ports and losing some buffers.
6880 2011-11-01 16:41:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6882 * omx/gstomxvideoenc.c:
6883 * omx/gstomxvideoenc.h:
6884 omxvideoenc: Implement draining of the component and use it
6885 This makes sure that all buffers are encoded and pushed downstream
6886 before flushing the ports and losing some buffers.
6888 2011-11-01 16:08:59 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6890 * omx/gstomxvideodec.c:
6891 * omx/gstomxvideodec.h:
6892 omxvideodec: Implement draining of the component and use it
6893 This makes sure that all buffers are decoded and pushed downstream
6894 before flushing the ports and losing some buffers.
6896 2011-10-20 14:32:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6898 * omx/gstomxvideodec.c:
6899 omxvideodec: Fix deadlock if ::reset is called before finding the corresponding frame of a decoded buffer
6901 2011-11-01 15:10:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6903 * omx/gstomxaudioenc.c:
6904 * omx/gstomxaudioenc.h:
6905 * omx/gstomxvideoenc.h:
6906 omxaudioenc: Forward downstream flow returns to upstream
6908 2011-11-01 15:10:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6910 * omx/gstomxvideoenc.c:
6911 omxvideoenc: Forward downstream flow returns to upstream
6913 2011-11-01 13:58:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6915 * omx/gstomxvideodec.c:
6916 * omx/gstomxvideodec.h:
6917 omxvideodec: Forward downstream flow returns to upstream
6919 2011-10-25 14:23:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6922 omx: Add minimal README file
6924 2011-10-20 15:21:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6926 * omx/gstomxvideodec.c:
6927 omxvideodec: Fix deadlock caused by calling reset while the loop function does something with the base video codec stream lock
6929 2011-10-20 15:20:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6931 * omx/gstomxvideoenc.c:
6932 omxvideoenc: Fix deadlock caused by calling reset while the loop function does something with the base video codec stream lock
6934 2011-10-20 14:30:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6936 * omx/gstomxvideodec.c:
6937 omxvideodec: Move locking at the correct place
6939 2011-10-14 10:27:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6943 omx: Remove QCOM hack to reset nOffset in EmptyBufferDone
6944 This is now done in a generic way that does not require any
6945 hacks because it will work without any side effects on any
6948 2011-10-14 10:26:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6951 omx: Reset nOffset to 0 in EmptyBufferDone if nFilledLen is 0
6952 Some OMX implementations don't reset nOffset when the complete
6953 buffer is emptied but instead only reset nFilledLen. We reset
6954 nOffset to 0 if nFilledLen == 0, which is safe to do because
6955 the offset *must* be 0 if the buffer is not filled at all.
6956 Seen in QCOM's OMX implementation.
6958 2011-10-04 10:56:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6960 * omx/gstomxvideoenc.c:
6961 omxvideoenc: If one parameter/configuration is not supported don't skip the next
6963 2011-10-03 09:12:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6965 * omx/gstomxh264dec.c:
6966 omxh264dec: Require stream-format=byte-stream
6967 Other stream-formats are unlikely to be supported by OMX components.
6969 2011-09-29 10:37:32 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6971 * omx/gstomxvideodec.c:
6972 * omx/gstomxvideodec.h:
6973 omxvideodec: Add API for subclasses to prepare/convert frames
6975 2011-09-27 15:08:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6977 * omx/gstomxaudioenc.c:
6978 omxaudioenc: Switch to Idle first and wait before switching to Loaded and deallocating buffers
6979 Allocating buffers before the Idle state is reached can lead to crashes.
6981 2011-09-27 15:08:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6983 * omx/gstomxvideoenc.c:
6984 omxvideoenc: Switch to Idle first and wait before switching to Loaded and deallocating buffers
6985 Allocating buffers before the Idle state is reached can lead to crashes.
6987 2011-09-27 15:05:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6989 * omx/gstomxvideodec.c:
6990 omxvideodec: Switch to Idle first and wait before switching to Loaded and deallocating buffers
6991 Allocating buffers before the Idle state is reached can lead to crashes.
6993 2011-09-27 14:15:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6997 * omx/gstomxvideodec.c:
6998 omxvideodec: New hack for QCOM to recreate the component instead of reconfiguring it on caps changes
7000 2011-09-27 12:13:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7003 omx: Change a g_assert() into a GST_WARNING_OBJECT()
7005 2011-09-26 13:04:18 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7009 omx: Add hack for Qualcomm's OMX implementation to manually reset nOffset in EmptyBufferDone
7011 2011-09-23 17:02:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7013 * omx/gstomxaudioenc.c:
7014 omxaudioenc: Add a check to prevent a zero-sized OMX buffer
7016 2011-09-23 17:02:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7018 * omx/gstomxvideoenc.c:
7019 omxvideoenc: Add some more checks for correct OMX buffer sizes
7021 2011-09-23 15:53:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7023 * omx/gstomxvideodec.c:
7024 omxvideodec: Add some more checks for OMX buffer sizes
7026 2011-09-14 10:15:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7030 * omx/gstomxaudioenc.c:
7031 * omx/gstomxvideodec.c:
7032 * omx/gstomxvideoenc.c:
7033 omx: Wait until the Executing state is reached before calling OMX_FillThisBuffer()
7034 This correctly works around the QCOM race condition that happens when calling
7035 FTB after setting the new state and before reaching it.
7037 2011-09-02 14:43:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7039 * omx/gstomxvideodec.c:
7040 omxvideodec: Negotiate video format with downstream and what the component claims to support
7042 2011-08-25 19:56:58 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
7044 * omx/gstbasevideoencoder.c:
7045 basevideoencoder: fix element leak
7046 and this concludes an hour of yelling at the bloody test failing,
7047 only to track down the problem not being in the test.
7048 https://bugzilla.gnome.org/show_bug.cgi?id=657368
7050 2011-08-19 09:20:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7052 * omx/gstomxvideoenc.c:
7053 omxvideoenc: Release basevideocodec stream lock while waiting for a buffer
7054 This prevents deadlocks if no empty input buffers are available and
7055 releasing input buffers requires the loop function to handle some
7056 output buffers first.
7058 2011-08-19 09:19:22 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7060 * omx/gstomxvideodec.c:
7061 omxvideodec: Release basevideocodec stream lock while waiting for a buffer
7062 This prevents deadlocks if no empty input buffers are available and
7063 releasing input buffers requires the loop function to handle some
7064 output buffers first.
7066 2011-08-18 10:24:26 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7068 * omx/gstbasevideodecoder.c:
7069 basevideodecoder: Fix deadlock
7071 2011-08-18 10:03:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7073 * omx/gstbaseaudiodecoder.c:
7074 baseaudiodecoder: Don't take the stream lock in the seek handler
7075 This will lead to deadlocks
7077 2011-08-18 10:02:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7079 * omx/gstbasevideocodec.c:
7080 * omx/gstbasevideocodec.h:
7081 * omx/gstbasevideodecoder.c:
7082 * omx/gstbasevideoencoder.c:
7083 basevideo: Fix locking, especially if both pads have different streaming threads
7085 2011-08-18 09:42:02 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7087 * omx/gstbasevideodecoder.c:
7088 * omx/gstbasevideoencoder.c:
7089 basevideo: Don't call g_type_class_peek_parent() in class_init
7090 This is already done by the GObject boilerplate macro
7092 2011-08-18 09:40:46 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7094 * omx/gstbaseaudiodecoder.c:
7095 baseaudiodecoder: Don't call g_type_class_peek_parent() in class_init
7096 This is already done by the boilerplate macro
7098 2011-08-18 09:34:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7100 * omx/gstbaseaudiodecoder.c:
7101 * omx/gstbaseaudiodecoder.h:
7102 baseaudiodecoder: Fix thread safety issues if both pads have different streaming threads
7104 2011-08-18 09:17:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7106 * omx/gstbaseaudiodecoder.c:
7107 baseaudiodecoder: Delay sending of serialized events to finish_frame()
7109 2011-08-17 14:33:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7111 * omx/gstomxaudioenc.c:
7112 omxaudioenc: Always require at least OMX_MIN_PCMPAYLOAD_MSEC per input buffer
7114 2011-08-17 14:28:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7116 * omx/gstbaseaudioencoder.c:
7117 * omx/gstbaseaudioencoder.h:
7118 baseaudioencoder: Add support for requesting a minimum and maximum number of samples per frame
7119 This extends the special case of a fixed number of samples per frame
7120 that was supported before already.
7122 2011-08-17 14:17:18 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7124 * omx/gstomxaudioenc.c:
7125 omxaudioenc: Handle inbuf==NULL properly in ::handle_frame()
7127 2011-08-17 13:04:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7129 * omx/gstomxaacenc.c:
7130 omxaacenc: Implement ::get_num_samples() vfunc
7132 2011-08-17 13:03:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7134 * omx/gstomxaudioenc.c:
7135 * omx/gstomxaudioenc.h:
7136 omxaudioenc: Add vfunc to get the number of samples inside a buffer
7138 2011-08-17 11:34:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7140 * omx/gstomxaudioenc.c:
7141 omxaudioenc: Release baseaudioencoder stream lock while waiting for a buffer in ::handle_frame()
7142 This prevents deadlocks if no empty input buffers are available and
7143 releasing input buffers requires the loop function to handle some
7144 output buffers first.
7146 2011-08-17 11:34:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7148 * omx/gstbaseaudioencoder.c:
7149 * omx/gstbaseaudioencoder.h:
7150 baseaudioencoder: Fix thread safety issues if both pads have different streaming threads
7152 2011-08-17 09:58:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7154 * omx/gstbaseaudioencoder.c:
7155 baseaudioencoder: Taking the OBJECT lock in reset() is not needed
7157 2011-08-16 11:03:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7159 * omx/gstomxaudioenc.c:
7160 omxaudioenc: Remove hack that only applies to the video encoder class
7162 2011-08-16 10:49:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7167 * omx/gstomxaacenc.c:
7168 * omx/gstomxaacenc.h:
7169 omxaacenc: Add initial version of OpenMAX AAC encoder element
7171 2011-08-15 15:10:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7174 * omx/gstomxaudioenc.c:
7175 * omx/gstomxaudioenc.h:
7176 omxaudioenc: Add initial version of audio encoder base class
7178 2011-08-15 14:14:11 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7180 * omx/gstbaseaudioencoder.c:
7181 baseaudioencoder: Delay sending of serialized events to finish_frame()
7183 2011-08-15 13:06:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7186 * omx/gstbaseaudiodecoder.c:
7187 * omx/gstbaseaudiodecoder.h:
7188 * omx/gstbaseaudioencoder.c:
7189 * omx/gstbaseaudioencoder.h:
7190 audio: Integrate audio base classes into the build system and fixup
7192 2011-08-15 12:56:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7194 * omx/gstbaseaudiodecoder.c:
7195 * omx/gstbaseaudiodecoder.h:
7196 * omx/gstbaseaudioencoder.c:
7197 * omx/gstbaseaudioencoder.h:
7198 * omx/gstbaseaudioutils.c:
7199 * omx/gstbaseaudioutils.h:
7200 audio: Add audio decoder/encoder base classes
7201 Taken from http://cgit.collabora.com/git/user/manauw/gst-plugins-bad.git/log/?h=baseaudio
7203 2011-08-12 12:25:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7205 * omx/gstbasevideoencoder.c:
7206 basevideoencoder: Proxy the width/height/framerate/PAR constraints of downstream caps to upstream
7207 This allows to specify constraints on the compressed downstream caps
7208 by muxers or capsfilters, which will then be forwarded to upstream
7209 and allows video converters to fulfill the constraints.
7210 Code based on Mark Nauwelaerts audio encoder base class.
7212 2011-08-12 12:13:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7214 * omx/gstbasevideoencoder.h:
7215 basevideoencoder: Remove old ::getcaps() comment
7217 2011-08-12 12:06:23 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7219 * omx/gstbasevideoencoder.c:
7220 * omx/gstbasevideoencoder.h:
7221 basevideoencoder: Remove ::get_caps() vfunc
7222 Subclasses can set the caps more efficiently and this only
7223 caused additional indirections.
7225 2011-08-10 10:24:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7227 * omx/gstomxh263enc.c:
7228 * omx/gstomxh264enc.c:
7229 * omx/gstomxmpeg4videoenc.c:
7230 * omx/gstomxvideoenc.c:
7231 omxvideoenc: Use "video/x-raw-yuv" as sink template caps instead of strict I420 caps
7233 2011-08-10 10:23:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7235 * omx/gstomxmpeg4videodec.c:
7236 omxmpeg4videodec: Don't require width/height on sink pad caps
7238 2011-08-10 10:11:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7240 * omx/gstomxh263dec.c:
7241 * omx/gstomxh264dec.c:
7242 * omx/gstomxmpeg4videodec.c:
7243 * omx/gstomxvideodec.c:
7244 * omx/gstomxwmvdec.c:
7245 omxvideodec: Use "video/x-raw-yuv" as src template caps instead of strict I420 caps
7247 2011-08-10 09:56:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7249 * omx/gstomxvideoenc.c:
7250 omxvideoenc: Set the state back to StateLoaded even if an error happened
7252 2011-08-10 09:49:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7255 omx: Don't hold any locks while calling OMX_SendCommand()
7256 It might call into one of the callbacks and lead to deadlocks, e.g.
7257 with the Qualcomm OMX implementation.
7259 2011-08-10 09:32:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7264 2011-08-10 09:23:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7267 omx: Reset pending reconfigure output ports when changing the state from Executing to any lower state
7269 2011-08-10 09:08:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7272 omx: Fix crash when setting last error after the ports were freed
7274 2011-08-10 09:03:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7277 omx: Free component structure
7279 2011-08-10 09:02:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7282 omx: Make component destruction safer
7284 2011-08-10 08:53:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7287 omx: Set pAppPrivate of buffers to NULL when deallocating buffers
7288 This prevents usage of freed memory later if the OMX component
7289 has weird behaviour.
7291 2011-08-10 08:52:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7293 * omx/gstomxvideodec.c:
7294 omxvideodec: Set the state back to StateLoaded even if an error happened
7296 2011-08-10 08:51:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7299 omx: Add some assertions to check if the buffer pAppPrivate is still correct
7301 2011-08-08 13:04:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7304 omx: Add parenthesis at correct places in the struct init macro
7306 2011-08-08 12:12:58 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7309 omx: Only prevent setting a higher state if the component is in an error state
7311 2011-08-03 16:02:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7313 * omx/gstbasevideodecoder.c:
7314 basevideodecoder: Use the cached video frame size instead of recalculating it
7316 2011-08-03 15:35:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7319 omx: Improve debugging in param/config getter/setter wrappers
7321 2011-08-03 13:10:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7323 * omx/gstomxvideodec.c:
7324 omxvideodec: Don't abort if the color format is not supported but give a useful error message
7326 2011-08-02 15:14:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7328 * omx/gstomxh263enc.c:
7329 * omx/gstomxh264enc.c:
7330 * omx/gstomxmpeg4videoenc.c:
7331 * omx/gstomxvideoenc.c:
7332 omxvideoenc: Don't fail if setting the bitrate or profile is not supported by the component
7333 Also always set/get the profile, even if there are no peer caps.
7335 2011-08-02 15:14:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7337 * omx/gstbasevideoencoder.c:
7338 basevideoencoder: Make access to the list of frames threadsafe
7340 2011-08-01 13:22:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7344 omx: Add a hacks flag for the Qualcomm 7x30 OMX_FillThisBuffer() race and make it optional
7346 2011-07-29 13:56:59 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7349 omx: Add workaround for QCOM 7x30 race condition
7351 2011-07-29 12:06:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7355 * omx/gstomxh263enc.c:
7356 * omx/gstomxh263enc.h:
7357 omxh263enc: Add H.263 encoder element
7359 2011-07-29 11:26:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7361 * omx/gstomxmpeg4videoenc.c:
7362 omxmpeg4videoenc: Add support for setting profile/level via caps
7364 2011-07-28 14:14:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7366 * omx/gstomxh264enc.c:
7367 omxh264enc: Add support for setting profile/level via caps
7369 2011-07-28 12:58:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7371 * omx/gstomxvideoenc.c:
7372 omxvideoenc: Add support for forcing the next frame to be a keyframe
7374 2011-07-28 11:54:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7376 * omx/gstomxvideoenc.c:
7377 * omx/gstomxvideoenc.h:
7378 omxvideoenc: Add support for setting bitrate/quantization related parameters
7380 2011-07-28 10:23:08 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7384 omx: Add wrapper functions for OMX_[GS]et{Config,Parameter}
7386 2011-07-28 09:54:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7390 omx: Add macro to initialize OpenMAX structures
7392 2011-07-28 09:08:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7394 * omx/gstomxvideoenc.c:
7395 omxvideoenc: Don't output 0-byte buffers
7397 2011-07-25 15:05:08 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7400 omx: Ensure that the pAppPrivate pointer in OMX buffers is set correctly
7402 2011-07-25 13:19:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7404 * omx/gstomxvideodec.c:
7405 * omx/gstomxvideoenc.c:
7406 omxvideo{enc,dec}: Only set/unset flushing state on ports if they were created already
7408 2011-07-25 12:01:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7412 * omx/gstomxwmvdec.c:
7413 * omx/gstomxwmvdec.h:
7414 omxwmvdec: Add WMV video decoder element
7416 2011-07-25 11:44:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7420 * omx/gstomxh263dec.c:
7421 * omx/gstomxh263dec.h:
7422 omxh263dec: Add H.263 decoder element
7424 2011-07-25 11:32:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7428 * omx/gstomxh264enc.c:
7429 * omx/gstomxh264enc.h:
7430 omxh264enc: Add H.264 encoder element
7432 2011-07-25 10:48:58 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7434 * omx/gstomxvideodec.c:
7435 omxvideodec: Try harder to deallocate the buffers after errors happened
7437 2011-07-25 10:47:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7439 * omx/gstomxvideoenc.c:
7440 omxvideoenc: Try harder to deallocate the buffers after errors happened
7442 2011-07-25 10:46:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7445 omx: Deallocate port buffers before freeing the component
7446 They should be deallocated by the caller before reaching the
7447 Loaded state but to be on the safe side we will make sure
7448 they're really deallocated here.
7450 2011-07-21 11:15:14 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7452 * omx/gstomxvideoenc.c:
7453 omxvideoenc: Add initial support for stride conversion
7455 2011-07-21 10:38:26 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7457 * omx/gstomxh264dec.c:
7458 * omx/gstomxmpeg4videodec.c:
7459 * omx/gstomxmpeg4videoenc.c:
7460 omx: Set default roles for the components if none were set from the config file
7462 2011-07-21 10:36:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7465 omx: Failure to set the component role is fatal
7467 2011-07-21 07:53:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7469 * omx/gstomxvideoenc.c:
7470 omxvideoenc: Add support for setting codec_data on the srcpad caps
7472 2011-07-21 07:44:34 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7474 * omx/gstomxvideoenc.c:
7475 omxvideoenc: Free/drop GstVideoFrames that resulted in an empty buffer
7477 2011-07-21 07:44:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7479 * omx/gstbasevideoencoder.c:
7480 basevideoencoder: Allow finishing of frames with no src_buffer to drop/free the GstVideoFrame
7482 2011-07-21 07:31:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7484 * omx/gstomxvideoenc.c:
7485 omxvideoenc: Remove obsolete TODO comment
7487 2011-07-20 11:09:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7491 omx: Use libgstopenmax.so for the plugin filename and openmax for the plugin name
7492 Resolves conflicts with gst-openmax.
7494 2011-07-20 08:34:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7500 * omx/gstomxmpeg4videoenc.c:
7501 * omx/gstomxmpeg4videoenc.h:
7502 * omx/gstomxvideoenc.c:
7503 * omx/gstomxvideoenc.h:
7504 omxvideoenc: Add video encoder base class and MPEG4 video encoder
7505 Unfortunately requires lots of hacks again to work properly with
7508 2011-07-20 10:39:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7510 * omx/gstbasevideoencoder.c:
7511 basevideoencoder: Only get caps from the subclass if they were not set yet by the subclass
7513 2011-07-20 09:25:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7515 * omx/gstbasevideoencoder.c:
7516 * omx/gstbasevideoencoder.h:
7517 basevideoencoder: Delay sending of serialized sink events until finish_frame()
7519 2011-07-20 09:09:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7521 * omx/gstbasevideoencoder.c:
7522 * omx/gstbasevideoencoder.h:
7523 basevideoencoder: Add ::reset vfunc and handle ::reset/::finish the same way as in the decoder
7525 2011-07-19 12:50:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7527 * omx/gstbasevideoencoder.c:
7528 basevideoencoder: Use a temporary GstVideoState until the subclass accepted the caps
7529 Also store the caps in the GstVideoState and assume a PAR of 1/1 instead
7530 of 0/1 if no PAR is specified in the caps.
7532 2011-07-19 12:29:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7535 * omx/gstomxvideodec.c:
7536 omx: Improve debug output a bit
7538 2011-07-19 10:33:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7542 * omx/gstomxvideodec.c:
7543 omx: Rework port reconfiguration again and only use the Bellagio specific hacks with Bellagio
7544 We only reconfigure ports that need to be reconfigured now instead of
7547 2011-07-19 10:33:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7552 * omx/gstomxvideodec.c:
7553 * omx/gstomxvideodec.h:
7554 omx: Add infrastructure to enable special hacks for broken OpenMAX implementations
7556 2011-07-18 13:10:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7559 omx: When acquiring a buffer from an input port always wait until all output ports are reconfigured
7561 2011-07-18 08:41:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7563 * omx/gstomxvideodec.c:
7564 omxvideodec: Add support for converting between omx and gst rowstrides
7566 2011-07-14 10:34:09 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7569 omx: Provide all buffers to output ports after enabling them
7571 2011-07-14 08:29:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7573 * omx/gstomxvideodec.c:
7574 omxvideodec: Add support for NV12 / OMX_COLOR_FormatYUV420SemiPlanar
7576 2011-07-14 07:58:41 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7578 * omx/gstomxvideodec.c:
7579 * omx/gstomxvideodec.h:
7580 omxvideodec: Only flush the component ports after we passed input to them
7582 2011-07-13 21:19:34 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7584 * omx/gstomxvideodec.c:
7585 omxvideodec: Only change states downwards if an upper state was reached
7587 2011-07-13 20:37:02 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7591 * omx/gstomxvideodec.c:
7592 * omx/gstomxvideodec.h:
7593 omx: Add support for setting the component-role
7595 2011-07-13 20:22:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7599 * omx/gstomxvideodec.c:
7600 omx: Improve error reporting by formatting the error codes better and also providing their string representation
7602 2011-07-13 14:36:14 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7605 build: Dist autogen.sh
7607 2011-07-13 14:35:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7611 build: Only require GStreamer >= 0.10.29 and GLib >= 2.16
7613 2011-07-13 14:04:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7616 build: Dist gstomx.conf
7618 2011-07-13 14:04:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7621 build: Clean _stdint.h on "make distclean"
7623 2011-07-13 14:02:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7625 * omx/gstomxvideodec.c:
7626 omxvideodec: Fix typo
7628 2011-07-13 13:59:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7633 2011-07-13 12:46:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7635 * omx/gstomxvideodec.c:
7636 omxvideodec: Set SYNCFRAME flag on the OMX buffers for non-delta units
7638 2011-07-13 12:37:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7640 * omx/gstomxvideodec.c:
7641 omxvideodec: Free all pending frames when resetting the decoder
7642 Workaround for https://bugzilla.gnome.org/show_bug.cgi?id=654529
7644 2011-07-13 09:59:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7646 * omx/gstomxvideodec.c:
7647 omxvideodec: Handle output buffers without a corresponding GstVideoFrame more gracefully
7648 This can happen on EOS in some cases and when the input is not
7651 2011-07-13 09:31:22 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7653 * omx/gstomxvideodec.c:
7654 omxvideodec: Fix deadlock when finishing old frames that are left over by the decoder
7656 2011-07-12 11:37:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7658 * omx/gstomxh264dec.c:
7659 omxh264dec: It's called H.264, not H264
7661 2011-07-12 11:36:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7663 * omx/gstomxh264dec.c:
7664 * omx/gstomxmpeg4videodec.c:
7665 * omx/gstomxvideodec.c:
7666 * omx/gstomxvideodec.h:
7667 omxvideodec: Make sink/src pad template caps configurable
7669 2011-07-12 11:13:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7672 omx: Allow to set a preferred configuration directory with the GST_OMX_CONFIG_DIR environment variable
7674 2011-07-12 10:55:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7676 * omx/gstomxh264dec.c:
7677 * omx/gstomxmpeg4videodec.c:
7678 * omx/gstomxvideodec.c:
7679 omxvideodec: Make core/component-name and in/outport index configurable
7681 2011-07-12 10:05:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7686 omx: Add initial version of configuration system
7687 This now only registers elements that are specified in the
7689 The configuration file is a keyfile in the first XDG configuration
7690 directory with the name gstomx.conf.
7692 2011-07-12 08:53:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7696 * omx/gstomxh264dec.c:
7697 * omx/gstomxh264dec.h:
7698 * omx/gstomxh264videodec.h:
7699 omxh264dec: Rename from omxh264videodec to omxh264dec
7701 2011-07-12 08:40:48 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7703 * omx/gstomxh264videodec.c:
7704 omxh264videodec: Require alignment=au and stream-format={avc,bytestream}
7706 2011-07-11 12:59:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7708 * omx/gstbasevideodecoder.c:
7709 basevideodecoder: First inform subclass about resetting before resetting/freeing all internal state
7710 The subclass might want to access the old state.
7712 2011-07-11 12:36:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7714 * omx/gstbasevideodecoder.c:
7715 basevideodecoder: Track present position on discont before resetting it
7717 2011-07-11 11:52:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7719 * omx/gstbasevideodecoder.c:
7720 basevideodecoder: Also protect the list of pending frames from concurrent access when pushing all pendings events
7722 2011-07-11 11:28:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7724 * omx/gstbasevideocodec.c:
7725 * omx/gstbasevideocodec.h:
7726 * omx/gstbasevideodecoder.c:
7727 basevideocodec: Protect access to the list of pending frames with the object lock
7728 This is required if ::finish_frame() and all buffer output happens
7729 on a different thread than the sinkpad streaming thread.
7731 2011-07-11 09:35:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7733 * omx/gstbasevideodecoder.c:
7734 basevideodecoder: Set the correct lists to NULL after freeing
7736 2011-07-11 08:54:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7738 * omx/gstbasevideodecoder.c:
7739 basevideodecoder: Work with a copy of the GstVideoState in setcaps until the caps are accepted
7740 Also fix a refcount problem with the codec_data.
7742 2011-07-12 08:34:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7746 * omx/gstomxh264videodec.c:
7747 * omx/gstomxh264videodec.h:
7748 omxh264videodec: Add h.264 video decoder
7750 2011-07-12 08:29:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7752 * omx/gstomxmpeg4videodec.c:
7753 omxmpeg4videodec: Fix debug category name
7755 2011-07-09 11:41:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7758 * omx/gstbasevideocodec.h:
7759 * omx/gstbasevideodecoder.c:
7760 * omx/gstbasevideoencoder.c:
7761 * omx/gstbasevideoutils.c:
7762 * omx/gstbasevideoutils.h:
7763 basevideo: Move the utils from the codec header to its own header
7765 2011-07-09 11:32:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7767 * omx/gstbasevideocodec.c:
7768 * omx/gstbasevideodecoder.c:
7769 basevideo: Use GSlice for allocating GstVideoFrame and don't duplicate code in the decoder base class
7771 2011-07-09 11:05:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7773 * omx/gstomxvideodec.c:
7774 omxvideodec: Use the destroy notify to free the coder_hook
7776 2011-07-09 10:57:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7778 * omx/gstbasevideocodec.c:
7779 * omx/gstbasevideocodec.h:
7780 * omx/gstbasevideodecoder.c:
7781 basevideo: Add destroy notify for the coder_hook to prevent memory leaks
7784 2011-07-09 10:44:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7787 basevideo: Fix GType names to not conflict with the public video base classes
7788 It's still not possible to include headers of both in the same file
7789 or compile/link both into the same plugin but that shouldn't be
7792 2011-07-08 15:42:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7794 * omx/gstomxvideodec.c:
7795 omxvideodec: Fix some minor memory leaks
7797 2011-07-08 15:25:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7801 * omx/gstomxvideodec.c:
7802 omx: Rework port reconfiguration
7803 We always reconfigure all ports now if the settings of one
7804 port changes to prevent lots of race conditions, dropped
7805 frames and similar issues.
7807 2011-07-08 13:16:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7809 * omx/gstomxvideodec.c:
7810 * omx/gstomxvideodec.h:
7811 omxvideodec: Use the frames storage of the base class instead of implementing our own
7812 They could get out of sync and we could store already destroyed frames.
7814 2011-07-07 12:51:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7817 omx: Clarify GQueue/GPtrArray element types
7819 2011-07-07 12:23:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7823 * omx/gstomxvideodec.c:
7824 omx: Add more checks to acquire_buffer() and return the current state additional to the buffer
7825 Also refactor the code flow in the video decoder for this. This makes
7826 the usage of acquire_buffer() easier and more atomic.
7828 2011-07-07 12:22:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7830 * omx/gstomxvideodec.c:
7831 omxvideodec: Also flush/unflush the input port when changing the state PAUSED<->READY
7833 2011-07-07 12:21:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7836 omx: Don't broadcast port->port_cond after allocating buffers successfully
7837 Allocating buffers must happen while no thread is waiting for the
7838 cond and especially must happen from the thread that would acquire
7839 buffers from the port.
7841 2011-07-07 11:27:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7843 * omx/gstomxvideodec.c:
7844 omxvideodec: Don't leak the codec_data after sending it
7846 2011-07-07 10:27:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7849 omx: Always check if the component is in an error state before waiting for a condition variable to be signalled
7850 Otherwise we might wait forever because nothing is going to signal
7851 the condition variable anymore.
7853 2011-07-07 10:22:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7856 omx: Always hold port->port_lock before signalling port->port_cond when notifying about errors
7857 Otherwise a port might be in the critical section, has checked the error state
7858 already but waits after port->port_cond is signalled, which will lead
7861 2011-07-07 10:07:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7863 * omx/gstomxvideodec.c:
7864 omxvideodec: Remove reconfiguration test hack
7866 2011-07-06 13:27:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7869 omx: Improve debug output a bit
7871 2011-07-06 13:26:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7874 omx: Always try to deallocate buffers, even if there's a component error
7876 2011-07-06 13:26:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7879 omx: Use G_USEC_PER_SEC for clarity instead of 1000000
7881 2011-07-06 13:19:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7883 * omx/gstomxvideodec.c:
7884 omxvideodec: Error out if the GStreamer allocated buffer is smaller than the OpenMAX output buffer
7885 Usually this must never happen but currently it happens during reconfigurations
7886 because of a race condition. Still it's better than crashing.
7888 2011-07-06 10:40:13 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7892 omx: Don't use port_def.bEnabled to check if the Enable/Disable command is finished
7893 bEnabled should be set immediately after sending the command, it's only
7894 Bellagio that waits until the command is finished before setting it.
7896 2011-07-06 10:30:11 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7898 * omx/gstomxvideodec.c:
7899 omxvideodec: Remove obsolete FIXME comment
7901 2011-07-06 10:29:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7905 omx: Improve error handling and reporting
7907 2011-07-06 08:48:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7909 * omx/gstomxmpeg4videodec.c:
7910 * omx/gstomxvideodec.c:
7911 * omx/gstomxvideodec.h:
7912 omxvideodec: Make the inport and outport index configurable by the subclass
7914 2011-06-28 08:51:23 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7919 * omx/gstomxmpeg4videodec.c:
7920 * omx/gstomxmpeg4videodec.h:
7921 * omx/gstomxvideodec.c:
7922 * omx/gstomxvideodec.h:
7923 omx: Add initial version of OpenMAX framework, video decoder base class and MPEG4 video decoder
7924 This currently hardcodes a lot of stuff but works at least.
7925 Also adds a generic framework for handling OpenMAX cores, components
7928 2011-06-28 11:47:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7930 * omx/gstbasevideocodec.c:
7931 * omx/gstbasevideocodec.h:
7932 * omx/gstbasevideodecoder.c:
7933 * omx/gstbasevideodecoder.h:
7934 basevideodecoder: Don't reorder serialized src events
7935 And allow to drop EOS by the subclass if ::finish returns
7939 2011-06-27 09:41:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7941 * omx/gstbasevideocodec.c:
7942 * omx/gstbasevideocodec.h:
7943 * omx/gstbasevideodecoder.c:
7944 basevideo: Add the caps to the GstVideoState and clean up caps/codec_data properly
7946 2011-06-27 09:37:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7948 * omx/gstbasevideocodec.c:
7949 * omx/gstbasevideocodec.h:
7950 * omx/gstbasevideodecoder.c:
7951 * omx/gstbasevideodecoder.h:
7952 * omx/gstbasevideoencoder.c:
7953 * omx/gstbasevideoencoder.h:
7954 * omx/gstbasevideoutils.c:
7955 basevideo: Add video encoder/decoder base classes from gst-plugins-bad
7957 2011-06-21 11:17:35 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7959 * omx/openmax/OMX_Audio.h:
7960 * omx/openmax/OMX_Component.h:
7961 * omx/openmax/OMX_ComponentExt.h:
7962 * omx/openmax/OMX_ContentPipe.h:
7963 * omx/openmax/OMX_Core.h:
7964 * omx/openmax/OMX_CoreExt.h:
7965 * omx/openmax/OMX_IVCommon.h:
7966 * omx/openmax/OMX_Image.h:
7967 * omx/openmax/OMX_Index.h:
7968 * omx/openmax/OMX_IndexExt.h:
7969 * omx/openmax/OMX_Other.h:
7970 * omx/openmax/OMX_Types.h:
7971 * omx/openmax/OMX_Video.h:
7972 * omx/openmax/OMX_VideoExt.h:
7973 openmax: Add OpenMAX IL 1.1.2 headers