3 2021-09-23 01:36:02 +0100 Tim-Philipp Müller <tim@centricular.com>
12 2021-07-09 15:14:15 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
14 * omx/gstomxvideodec.c:
15 omxvideodec: fix OMX flags on header buffer
16 The header (SPS/PPS) buffer should have the CODECONFIG flag
17 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/49>
19 2021-07-09 14:52:59 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
21 * omx/gstomxvideodec.c:
22 omxvideodec: allow to start decoder on HEADER buffer
23 If the headers are sent in their own buffer
24 it won't have the SYNC_FRAME flag but we still
25 do want to start decoding rather than dropping it.
26 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/49>
28 2018-09-06 21:56:57 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
31 * omx/gstomxh264dec.c:
32 * omx/gstomxh265dec.c:
33 * omx/gstomxvideodec.c:
34 omxh26xdec: videodecoder support subframe
35 Use of subframe API from videodecoder base class.
36 This subframe allows to decode subframe instead of
37 waiting for a whole frame.
38 The subframe uses the same frame over the whole
39 subframe passing process and will wait
40 for a signal to know the last subframe.
41 In this implementation it will use
42 GST_VIDEO_BUFFER_FLAG_MARKER as the
43 end of batch of subframes.
44 This implement subframe mode negotation for the Zynq based on caps
45 negotation. This mode can be combined with low-latency mode, in order to
46 reach the lowest possible latency (assuming the stream is within the
47 low-latency constraints for the HW).
48 ... ! video/x-h264,alignment=nal ! omxh264dec ! ...
49 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/49>
51 2021-06-01 15:29:18 +0100 Tim-Philipp Müller <tim@centricular.com>
56 === release 1.19.1 ===
58 2021-06-01 00:16:41 +0100 Tim-Philipp Müller <tim@centricular.com>
67 2020-11-04 18:48:13 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
70 meson: Enable some MSVC warnings for parity with GCC/Clang
71 This makes it easier to do development with MSVC by making it warn
72 on common issues that GCC/Clang error out for in our CI configuration.
73 Continuation from https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/223
74 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/75>
76 2020-10-16 12:45:09 +0200 Stéphane Cerveau <scerveau@collabora.com>
78 * examples/egl/testegl.c:
80 meson: update glib minimum version to 2.56
81 In order to support the symbol g_enum_to_string in various
82 project using GStreamer ( gst-validate etc.), the glib minimum
83 version should be 2.56.0.
84 Remove compat code as glib requirement
86 Version used by Ubuntu 18.04 LTS
87 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/74>
89 2020-10-05 12:32:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
91 * omx/gstomxvideodec.c:
92 omxvideodec: support interlace-mode=interleaved input
93 interlace-mode=alternate is a special case of interlace-mode=interleaved
94 where the fields are split using two different buffers.
95 The Zynq decoder always produces alternate content and we
96 used to assume that upstream will set interlace-mode=alternate in its
98 This is no longer the case as h265parse is now setting
99 alternate-mode=interleaved on alternate content to not break compat with
100 elements not supporting alternate.
101 As a result the decoder now accept both 'interleaved' and 'alternate' on
102 its input and ensures that its ouput has interlace-mode=alternate.
103 Needed to fix https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/825
104 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/72>
106 2020-09-08 17:31:06 +0100 Tim-Philipp Müller <tim@centricular.com>
109 ci: include template from gst-ci master branch again
111 2020-09-08 16:59:09 +0100 Tim-Philipp Müller <tim@centricular.com>
116 === release 1.18.0 ===
118 2020-09-08 00:10:02 +0100 Tim-Philipp Müller <tim@centricular.com>
128 2020-08-27 17:19:44 +0100 Tim-Philipp Müller <tim@centricular.com>
130 * config/tizonia/meson.build:
131 meson: fix Tizonia build
132 Was failing for release versions with
133 meson.build:414:10: ERROR: Can not set values on configuration object that has been used.
134 Caused by !69, but CI didn't notice at the time because it was set to a git version.
136 === release 1.17.90 ===
138 2020-08-20 16:16:35 +0100 Tim-Philipp Müller <tim@centricular.com>
147 2020-07-08 17:39:20 +0100 Tim-Philipp Müller <tim@centricular.com>
151 * scripts/extract-release-date-from-doap-file.py:
152 meson: set release date from .doap file for releases
153 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/69>
155 2020-07-03 02:04:16 +0100 Tim-Philipp Müller <tim@centricular.com>
160 === release 1.17.2 ===
162 2020-07-03 00:37:06 +0100 Tim-Philipp Müller <tim@centricular.com>
171 2020-06-20 00:28:37 +0100 Tim-Philipp Müller <tim@centricular.com>
176 === release 1.17.1 ===
178 2020-06-19 19:27:38 +0100 Tim-Philipp Müller <tim@centricular.com>
187 2020-06-16 01:20:27 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
189 * docs/gst_plugins_cache.json:
190 docs: Update plugin cache json
191 https://gitlab.freedesktop.org/alatiera/gst-ci/-/jobs/3109574
192 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/68>
194 2020-06-03 22:24:09 -0400 Thibault Saunier <tsaunier@igalia.com>
196 * docs/gst_plugins_cache.json:
197 docs: Update documentation cache
199 2019-12-23 18:23:55 -0800 Dylan Yip <dylan.yip@xilinx.com>
202 omx: Add latest OMX_ALG_Index's to omx_index_type_to_str
203 Add following indexes to omx_index_type_to_str:
204 OMX_ALG_IndexParamVideoAccessUnitDelimiter
205 OMX_ALG_IndexParamVideoBufferingPeriodSEI
206 OMX_ALG_IndexParamVideoPictureTimingSEI
207 OMX_ALG_IndexParamVideoRecoveryPointSEI
208 OMX_ALG_IndexParamVideoMasteringDisplayColourVolumeSEI
209 OMX_ALG_IndexParamVideoContentLightLevelSEI
210 OMX_ALG_IndexConfigVideoRegionOfInterestByValue
211 OMX_ALG_IndexConfigVideoColorPrimaries
213 2020-05-20 17:05:33 +0200 Stéphane Cerveau <scerveau@collabora.com>
216 zynq: change API to use public 2020.01 from vcu-omx-il
217 This new release 2020.01 fixes an API typo
218 Change to OMX_ALG_IndexConfigVideoHighDynamicRangeSEI
219 instead of OMX_ALG_IndexConfigVideoHighDynamicRangeSEIs
222 2017-12-27 17:18:54 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
224 * omx/gstomxvideoenc.c:
225 omxvideoenc: factor out gst_omx_video_enc_allocate_out_buffers()
227 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/66>
229 2020-04-10 11:47:03 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
231 * omx/gstomxh265enc.c:
234 * omx/gstomxvideodec.c:
235 * omx/gstomxvideoenc.c:
236 omxvideoenc: remove unsupported formats from caps template
237 Our encoder implementation actually supports a small subset of the
238 formats supported by the decoder. Those are the formats for which we
239 have a copy path in gst_omx_video_enc_fill_buffer() and which are not
240 filtered out in filter_supported_formats().
242 2020-04-10 09:59:02 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
245 video: remove BGR from supported format
246 It's not supported by either decoder or encoder and is even not listed in
247 gst_omx_video_get_format_from_omx() so it can't work.
249 2020-04-10 10:21:16 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
251 * omx/gstomxvideoenc.c:
252 omxvideoenc: add GRAY8 support
253 It's supported by Zynq encoder and was already in the sink caps
256 2020-04-10 11:18:49 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
258 * omx/gstomxvideoenc.c:
259 omxvideoenc: factor out gst_omx_video_enc_copy_plane()
260 No semantic change, I'm going to use it to copy GRAY8 buffers which is
261 actually a single plane 8-bits format.
263 2020-04-10 10:58:34 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
265 * omx/gstomxvideoenc.c:
266 omxvideoenc: use gst_video_meta_get_plane_height() to compute slice height
267 This new API saves us from doing manual computation and actually work
268 with single planar formats, such as GRAY8.
270 2020-04-07 19:59:12 +0200 Stéphane Cerveau <scerveau@collabora.com>
272 * omx/gstomxh264enc.c:
273 * omx/gstomxh265enc.c:
275 * omx/gstomxvideoenc.c:
276 omxh26xenc: fix coverity with frame test
277 Coverity was complaining with:
278 Null pointer dereferences (REVERSE_INULL) Null-checking "frame"
279 suggests that it may be null, but it has already been
280 dereferenced on all paths leading to the check.
281 The frame == NULL has been removed as 'frame' is actively used
282 in the code above without any change of dereferencing and setting
283 its value to NULL before the test.
286 2020-03-19 16:23:41 +0100 Stéphane Cerveau <scerveau@collabora.com>
288 * omx/gstomxvideoenc.c:
289 gstomxvideoenc: fix subframe output_buffer
290 Using more than 1 subframes was failing with
291 frame->output_buffer = NULL
293 2020-02-06 10:21:49 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
295 * omx/gstomxvideodec.c:
296 omxvideodec: add support of alternate interlace mode on zynq
298 2020-02-06 10:11:13 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
300 * omx/gstomxh265enc.c:
301 * omx/gstomxvideoenc.c:
302 omxvideoenc: add support of alternate interlace mode on zynq
303 It's only supported by the Zynq HEVC encoder for now.
305 2020-02-06 10:12:50 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
308 omx: add alternate flags to buffer_flags_map
309 Zynq specific flags used to tag top/bottom fields in alternate mode.
311 2020-02-06 09:57:48 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
314 * omx/gstomxvideoenc.c:
315 omxvideo(enc): use GST_VIDEO_INFO_FIELD_RATE_N()
316 Does not change anything for now but will be needed when we'll support
317 interlace-mode=alternate as the field rate will be twice the frame rate.
318 Made the code safe from division by 0 while I was on it.
320 2020-02-06 09:36:20 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
322 * omx/gstomxvideodec.c:
323 * omx/gstomxvideoenc.c:
324 omxvideo{enc,dec}: use GST_VIDEO_INFO_FIELD_HEIGHT()
325 Does not change anything for now but will be needed when we'll support
326 interlace-mode=alternate as the fields will have half the frame height.
328 2020-02-25 10:45:47 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
331 omx: don't log error when failing to load conf file with generic target
332 The generic target is meant to only test building gst-omx. It doesn't
333 provide any configuration file and so is not supposed to register any
335 I'm not aware of any user building gst-omx with this target and
336 providing their own conf file to actually register elements. But best to
337 not break this use case anyway so let's just downgrade the log message.
338 Fix GST_ERROR in the 'check fedora' CI job.
340 2020-01-27 11:56:53 +0100 Stéphane Cerveau <scerveau@collabora.com>
343 meson: add glib project fallback
344 Add a fallback from glib project to provide glib, gio and
345 gmodule dependencies.
347 2020-01-15 11:06:12 +0000 Stéphane Cerveau <scerveau@collabora.com>
349 * omx/gstomxvideoenc.c:
350 omxvideoenc: fix warning
351 Fix warning test when OMX_BUFFERFLAG_ENDOFFRAME
354 2018-08-28 13:03:14 -0700 Varunkumar Allagadapa <varunkum@xilinx.com>
356 * omx/gstomxvideoenc.c:
357 * omx/gstomxvideoenc.h:
358 omxvideoenc: Add look-ahead property to ZYNQ_USCALE_PLUS encoder
359 This patch adds look-ahead property to encoder
360 The value indicates look ahead size in frames,
361 the number of frames processed ahead of second pass encoding.
362 Dual pass encoding is disabled if look-ahead
363 value is less than 2.
365 2018-08-06 13:02:41 -0700 Varunkumar Allagadapa <varunkum@xilinx.com>
367 * omx/gstomxvideoenc.c:
368 * omx/gstomxvideoenc.h:
369 omxvideoenc: Add long-term-ref support to ZYNQ_USCALE_PLUS encoder
370 Custom API that upstream elements can use to notify encoders about
371 marking longterm ref. pictures or using longterm ref. pictures in
373 This patch adds below properties:
374 long-term-ref: Enable/Disable dynamically marking long-term
375 reference pictures in encoding process
376 long-term-freq: Periodicity of long-term reference picture
377 marking in encoding process.
378 If a picture is marked as long-term reference picture then it remains
379 in the DPB list for ever unless it overrides with new long-term pitcure with
380 same index. Encoder can use this long-term picture as refence for
382 This feature is mostly useful to avoid visual artifacts propagation in streaming use cases
383 when packet loss happens. Instead of requesting for IDR, client can request for use long-term
384 reference picture for encoding.
386 2020-01-07 10:24:19 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
389 meson: display OMX target when configuring
390 I'm adding more gst-omx CI (
391 https://gitlab.freedesktop.org/gstreamer/gst-ci/issues/20 ) having the
392 OMX targets displayed in the logs makes things clearer.
394 2019-08-30 10:27:32 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
397 omx: remove useless double negations
398 flush and port->flushing are both gboolean.
400 2019-12-20 22:19:06 -0800 Julien Isorce <jisorce@oblong.com>
403 meson: fix tizonia build
404 meson.build was both using path to gst-omx/openmax/OMX*
405 headers and path to OMX headers provided by tizilheaders.pc
406 so this patch makes sure we only use the later.
407 Also bump tizonia minimum version to 0.19.0 which
408 is the latest release.
410 2019-05-16 10:50:18 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
412 * omx/gstomxh265enc.c:
413 * omx/gstomxh265enc.h:
414 omxh265enc: handle CODECCONFIG buffers
415 Exact same code as omxh264enc.
417 2019-05-16 10:38:49 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
419 * omx/gstomxh264enc.c:
420 omxh264enc: send codec data downstream
421 We are operating in stream-format=byte-stream so the codec data buffer
422 is meant to be part of the buffer flow.
423 The base class will push it when a key frame is requested (as we stored
424 it with gst_video_encoder_set_headers()) but we still have to push it
425 right away as part of the normal buffer flow.
426 Also set the HEADER flag on this buffer.
428 2019-05-16 10:38:49 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
430 * omx/gstomxh264enc.c:
431 omxh264enc: no need to check if codeconfig has startcode
432 We currently only support stream-format=byte-stream so there is no point
433 re-checking for it when handling CODECCONFIG buffer.
435 2018-09-04 20:12:17 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
437 * omx/gstomxh264enc.c:
438 * omx/gstomxh265enc.c:
439 omxh26xenc: Negotiate subframe mode
440 We now negotiate subframe mode through the caps. To enabled subframe
441 mode, the caps need to specify alignment=nal:
442 ... ! omxh264enc ! video/x-h264,alignment=nal ! ...
443 ... ! omxh265enc ! video/x-h265,alignment=nal ! ...
445 2018-08-31 12:24:34 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
447 * omx/gstomxvideoenc.c:
448 omxvideoenc: use subframe base class API
449 Use subframe base class support.
451 2018-09-04 19:34:59 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
455 omx: Add helper to enable/disable/read subframe mode
457 2019-12-19 13:51:17 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
460 zynq: add mapping for latest custom indexes
461 Fix warning when building using version 2019.2 of OMX headers.
463 2019-09-12 16:29:59 -0700 Varunkumar Allagadapa <varunkumar.allagadapa@xilinx.com>
465 * omx/gstomxvideoenc.c:
466 omxvideoenc: update qp-mode settings
467 Adds load-qp-absolute and load-qp-relative qp-modes
469 2019-12-10 18:34:25 +0900 Shinya Saito <ssaito@igel.co.jp>
471 * omx/gstomxvideoenc.c:
472 omxvideoenc: Add stride check for input buffer extraction
473 Stride of input buffer may be different from
474 that of omx input port even if both sizes are the same.
476 2019-05-15 14:04:47 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
478 * omx/gstomxvideoenc.c:
479 omxvideoenc: pass padding requirements to ALLOCATION query
480 By passing the expected video buffer layout, the upstream producer
481 may be able to produce buffers fitting those requierements allowing
482 gst-omx to use dynamic buffer mode rather than having to copy each input
484 This is particularly useful with v4l2src as it can request the capture
485 driver to produce buffers with the required paddings.
487 2019-07-09 13:07:32 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
489 * omx/gstomxbufferpool.c:
492 omxbufferpool: use gst_video_meta_set_alignment()
493 Tell buffer consumer about our paddings.
494 v4l2src can now uses these paddings information when trying to import
495 buffers to configure the v4l2 driver accordingly.
497 2019-05-30 11:11:34 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
499 * omx/gstomxvideoenc.c:
500 omxvideoenc: fix buffer size in debug log
501 Use the actual OMX buffer size rather than the info.size as OMX
502 may require larger buffer if the port requires some padding.
504 2019-10-14 00:48:32 +0100 Tim-Philipp Müller <tim@centricular.com>
511 * config/Makefile.am:
512 * config/bellagio/Makefile.am:
513 * config/rpi/Makefile.am:
514 * config/tizonia/Makefile.am:
515 * config/zynqultrascaleplus/Makefile.am:
517 * examples/Makefile.am:
518 * examples/egl/Makefile.am:
522 * tests/check/.gitignore:
523 * tests/check/Makefile.am:
524 * tests/check/generic/.gitignore:
526 Remove autotools build
528 2019-10-07 16:59:10 +0000 Stéphane Cerveau <scerveau@collabora.com>
530 * omx/gstomxallocator.c:
531 omxallocator: fix leak with a proper chaining finalize
533 2019-09-20 15:02:24 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
535 * omx/gstomxvideoenc.c:
536 omxvideoenc: revert draining on ALLOCATION and DRAIN query
537 My latest patch introduces some regressions which I have no time to
538 debug properly at the moment so just revert it for now.
540 2019-09-17 13:02:54 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
542 * omx/gstomxvideoenc.c:
543 omxvideoenc: let encoder base class handle ALLOCATION query
544 Fixing a regression introduced in my previous patch
545 (7c40a91c31aa4bcbb191f7c6a5d222edf9dfd9d1).
546 The ALLOCATION query needs to be handled by GstVideoEncoder (to call
547 propose_allocation()) so chain up the query handling rather than early
550 2019-08-29 12:20:56 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
552 * omx/gstomxvideoenc.c:
553 omxvideoenc: drain encoder on ALLOCATION and DRAIN queries
554 Ensure that the encoder releases all its input buffers when requested by
555 upstream. Encoder input buffers may be shared with downstreaming (when
556 using dmabuf), upstream may then request the encoder to
557 drain when reconfiguring before destroying its buffers.
558 Also drain on ALLOCATION query as we already do in kmssink as that
559 notify of a format change.
560 Fix "decoder ! encoder" pipeline when decoding a file with different
563 2019-08-28 15:52:41 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
566 omx: log the number of pending buffers when port is EOS
568 2019-08-28 15:49:00 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
571 omx: log when an output port is eos
573 2019-08-27 15:47:28 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
575 * omx/gstomxvideoenc.c:
576 omxvideoenc: log the full input format
577 Make it easier to debug dynamic format changes.
579 2019-08-21 12:25:40 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
581 * omx/gstomxvideodec.c:
582 omxvideodec: fix dmabuf import
583 When importing dmabuf, UseBuffer() has to be called with the fd as
584 pBuffer rather than the mapped address of the buffer.
586 2019-08-21 12:48:25 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
588 * omx/gstomxbufferpool.c:
589 omxbufferpool: fix dmabuf import
590 When importing dmabuf from downstream, we want the allocator to be in
591 OTHER_POOL mode despite output_mode being DMABUF.
592 So check first if other_pool is set before checking for pool's
595 2019-08-22 17:55:54 +0900 Shinya Saito <ssaito@igel.co.jp>
597 * omx/gstomxvideoenc.c:
598 omxvideoenc: Remove unnecessary gst_video_frame_unmap()
600 2019-07-25 16:30:13 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
602 * omx/gstomxvideodec.c:
603 omxvideodec: log supported caps by the decoder
604 Can be useful when debugging to check the caps supported by the decoder
607 2019-07-11 12:03:46 +0900 Shinya Saito <ssaito@igel.co.jp>
609 * omx/gstomxvideoenc.c:
610 omxvideoenc: Unref frame of codec config buffer
611 After handling codec config, codec frame should be unreffed.
613 2019-06-14 16:27:37 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
616 omxvideo: check difference between frame and requested ts
617 This has proven to be very useful when debugging to detect bugs where we
618 match the wrong gst frame with an output OMX buffer.
620 2019-06-14 10:57:29 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
624 * omx/gstomxvideodec.c:
625 * omx/gstomxvideoenc.c:
626 omxvideo: add debug infos to find_nearest_frame()
627 Those debug infos have proved to be very helpful when debugging
628 timestamp issues. They are often linked to gst-omx picking the wrong
629 frame when trying to map from OMX.
631 2019-03-05 16:57:40 +0900 Shinya Saito <ssaito@igel.co.jp>
633 * omx/gstomxvideodec.c:
634 omxvideodec: Deactivate negotiated pool when output own buffer
635 If decoder outputs internal buffer and not use OMX_UseBuffer,
636 downstream bufferpool should be stopped.
638 2019-06-03 12:21:05 +0900 Shinya Saito <ssaito@igel.co.jp>
640 * omx/gstomxh264enc.c:
641 * omx/gstomxh264enc.h:
642 omxh264enc: Add 'ref-frames' property
643 Add a property to control the number of frames for reference.
644 Min and max value is based on OpenMAX IL 1.2.0 Specification.
646 2019-06-03 07:57:02 +0200 Niels De Graef <niels.degraef@barco.com>
650 meson: Bump minimal GLib version to 2.44
651 This means we can use some newer features and get rid of some
652 boilerplate code using the G_DECLARE_* macros.
653 As discussed on IRC, 2.44 is old enough by now to start depending on it.
655 2019-04-19 12:38:54 -0400 Thibault Saunier <tsaunier@igalia.com>
657 * docs/gst_plugins_cache.json:
664 doc: Build documentation of hotdoc
666 2019-03-26 12:26:03 +0200 George Kiagiadakis <george.kiagiadakis@collabora.com>
670 gstomx: remove gst_omx_buffer_set_omx_buf/get_omx_buf
671 They are no longer used anywhere
673 2019-03-22 12:11:13 +0200 George Kiagiadakis <george.kiagiadakis@collabora.com>
676 * omx/gstomxallocator.c:
677 * omx/gstomxallocator.h:
678 * omx/gstomxbufferpool.c:
679 * omx/gstomxbufferpool.h:
680 * omx/gstomxvideoenc.c:
682 omxbufferpool: refactor to allow memory sharing
683 One big restriction of the OMX buffer pool has always been
684 that the GstMemory objects were flagged with NO_SHARE.
685 This was because the buffer pool needed to be sure that when
686 a buffer returned to the pool, it would be safe to release the
687 OMX buffer back to OpenMAX.
688 With this change, this is no longer a restriction. What this
689 commit introduces is a new allocator that allows us to track
690 the GstMemory objects independently. Now, when a buffer returns
691 to the pool, it is not necessary for the memory to be released
692 as well. We simply track the memory's ref count in the allocator
693 and we return the OMX buffer back when the memory's ref count
695 The reason for doing this is to allow implementing zero-copy
696 transfers in situations where we may need to copy or map a
697 certain region of the buffer. For instance, omxh264enc ! h264parse
698 should be possible to be zero-copy by using an OMX buffer pool
701 2019-04-23 15:13:23 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
703 * omx/gstomxbufferpool.c:
704 omxbufferpool: fix memory mapping with offset
705 gst_memory_map() is already adding the offset to the mapped pointer.
706 Doing it in the memory implementation was resulting in the offset being
708 It doesn't matter yet as we are only creating memory without offset for
709 now but it will once we'll start sharing OMX memories.
711 2019-04-19 10:43:58 +0100 Tim-Philipp Müller <tim@centricular.com>
718 === release 1.16.0 ===
720 2019-04-19 00:38:44 +0100 Tim-Philipp Müller <tim@centricular.com>
730 2019-04-16 12:23:10 -0700 Julien Isorce <jisorce@oblong.com>
733 Fixes build with omx >= 1.2.0
734 gstomx.c:1405:10: error: ‘OMX_IndexParamCustomContentPipe’ undeclared (first use in this function)
735 case OMX_IndexParamCustomContentPipe
736 Some enums have been deprecated in 1.2.0
737 https://gitlab.freedesktop.org/gstreamer/gst-omx/issues/27
739 2018-05-18 10:55:21 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
742 * examples/egl/Makefile.am:
743 * examples/egl/meson.build:
744 testegl: properly detect and use rpi specific libs
745 Use pkg-config to detect and configure rpi specific libs used in testegl
746 rather than hardcoding their flags.
748 2018-05-18 10:53:34 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
750 * examples/egl/testegl.c:
751 testelg: include eglext.h
752 Neded for the declaration of eglSaneChooseConfigBRCM().
754 2018-05-18 10:38:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
756 * examples/egl/testegl.c:
757 testegl: move up pi specific macros
758 We need to define __VCCOREVER__ and disable redundant-decls before
759 including the egl.h from the pi.
761 === release 1.15.90 ===
763 2019-04-11 00:40:52 +0100 Tim-Philipp Müller <tim@centricular.com>
773 2019-04-10 00:19:55 +0100 Tim-Philipp Müller <tim@centricular.com>
776 meson: add -Wundef as additional warning flag
778 2019-04-10 00:16:27 +0100 Tim-Philipp Müller <tim@centricular.com>
780 * omx/gstomxvideoenc.c:
781 omx: fix autotools build for generic target
782 gstomxvideoenc.c:2874:7: error: "USE_OMX_TARGET_ZYNQ_USCALE_PLUS" is not defined, evaluates to 0 [-Werror=undef]
783 #elif USE_OMX_TARGET_ZYNQ_USCALE_PLUS
784 Works on meson because it doesn't use -Wundef
786 2018-11-12 12:51:28 +0200 Jordan Petridis <jordan@centricular.com>
789 Add Gitlab CI configuration
790 This commit adds a .gitlab-ci.yml file, which uses a feature
791 to fetch the config from a centralized repository. The intent is
792 to have all the gstreamer modules use the same configuration.
793 The configuration is currently hosted at the gst-ci repository
794 under the gitlab/ci_template.yml path.
795 Part of https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/29
797 2019-03-25 16:30:11 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
800 omx: disable OMX_API_TRACE code if gst debug is disabled
801 No need to create debug structs which won't be used as DEBUG macros are
804 2018-10-11 10:55:04 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
807 omx: log Get/SetParameter/Config calls
808 Extend OMX_API_TRACE by logging component configuration calls.
810 2019-02-06 14:57:05 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
812 * omx/gstomxbufferpool.c:
813 omxbufferpool: don't use CAT_PERFORMANCE if pool will copy
814 This was the single place where this category was used in gst-omx so
815 most users, including me, are generally not turning it and were missing this
816 important information from logs.
817 The copying code uses gst_video_frame_copy() which is already logging
818 with CAT_PERFORMANCE so we can still have this information when using
819 only this debug category.
821 2019-02-06 14:50:44 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
823 * omx/gstomxvideodec.c:
824 omxvideodec: add debug if proposed pool can't provide enough buffers
825 We were silently ignoring the pool which was pretty confusing when
828 2019-03-26 12:17:26 +0000 Charlie Turner <cturner@igalia.com>
830 * omx/gstomxaacdec.c:
831 * omx/gstomxaacenc.c:
832 * omx/gstomxamrdec.c:
833 * omx/gstomxh263dec.c:
834 * omx/gstomxh263enc.c:
835 * omx/gstomxh264dec.c:
836 * omx/gstomxh264enc.c:
837 * omx/gstomxh265dec.c:
838 * omx/gstomxh265enc.c:
839 * omx/gstomxmjpegdec.c:
840 * omx/gstomxmp3dec.c:
841 * omx/gstomxmp3enc.c:
842 * omx/gstomxmpeg2videodec.c:
843 * omx/gstomxmpeg4videodec.c:
844 * omx/gstomxmpeg4videoenc.c:
845 * omx/gstomxtheoradec.c:
846 * omx/gstomxvp8dec.c:
847 * omx/gstomxwmvdec.c:
848 omx: Add hardware classifiers to encoders/decoders
850 2019-03-25 16:01:48 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
853 meson: sync warnings flags with -good
854 Add more warnings flags and disabled unused variable warnings if gst
855 debug system is disabled.
856 Copied from gst-plugins-good/meson.build
858 2019-03-04 09:16:40 +0000 Tim-Philipp Müller <tim@centricular.com>
866 === release 1.15.2 ===
868 2019-02-26 12:02:23 +0000 Tim-Philipp Müller <tim@centricular.com>
878 2019-02-14 23:57:09 +0000 Tim-Philipp Müller <tim@centricular.com>
882 meson: add options to disable examples, tests and tools and bump meson requirement
884 2019-01-04 10:11:38 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
888 * omx/gstomxvideodec.c:
889 * omx/gstomxvideoenc.c:
890 omxvideo: use GST_VIDEO_CAPS_MAKE() for template caps
891 Simplify the code and so we advertise the formats actually supported by
894 2018-06-04 12:20:03 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
896 * omx/gstomxvideoenc.c:
897 omxvideoenc: validate cpb-size and initial-delay
898 cpb-size cannot be smaller than initial-delay.
900 2018-10-02 10:47:06 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
902 * omx/gstomxvideodec.c:
903 omxvideodec: Remove duplicated QoS code
904 The 'finish' function do the exact same check / drop, there is no
905 need to duplicate this here.
907 2018-09-20 14:44:09 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
909 * omx/gstomxvideodec.c:
910 * omx/gstomxvideodec.h:
911 omxvideodec: Remove dead code
912 The omxvideodec base class have a totally unused prepare_frame() vritual
915 2018-07-11 17:38:22 -0700 Varunkumar Allagadapa <varunkum@xilinx.com>
917 * omx/gstomxvideoenc.c:
918 omxvideoenc: add adaptive gop-mode option
919 Added adaptive gop-mode option to ZYNQ_USCALE_PLUS encoder properties
921 2018-02-13 18:25:51 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
923 * omx/gstomxvideoenc.c:
924 omxvideoenc: Add dynamic framerate support
925 Instead of going through a full reset, try and change the framerate
926 config on the encoder when only the framerate have change.
928 === release 1.15.1 ===
930 2019-01-17 02:38:28 +0000 Tim-Philipp Müller <tim@centricular.com>
940 2018-02-20 10:57:42 -0800 Varunkumar Allagadapa <varunkum@xilinx.com>
942 * omx/gstomxvideoenc.c:
943 omxvideoenc: Add dynamic IDR insertion support on zynq
944 As the pi, the zynq has its own API to request keyframe.
946 2019-01-07 13:29:37 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
950 * omx/gstomxbufferpool.c:
951 omxbufferpool: fix race when releasing input buffers
952 If buffers were released from the pool while
953 gst_omx_video_enc_handle_frame() was waiting for new buffers,
954 gst_omx_port_acquire_buffer() was never awaken as the buffers weren't
955 released through OMX's messaging system.
956 GQueue isn't thread safe so also protect it with the lock mutex.
958 2018-11-15 11:17:59 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
960 * omx/gstomxbufferpool.c:
961 * omx/gstomxbufferpool.h:
962 * omx/gstomxvideodec.c:
963 * omx/gstomxvideoenc.c:
964 omxbufferpool: fix early input buffer release
965 We used to track the 'allocating' status on the pool. It is used while
966 allocating so output buffers aren't passed right away to OMX and input
967 ones are not re-added to the pending queue.
968 This was causing a bug when exporting buffers to v4l2src. On start
969 v4l2src acquires a buffer, read its stride and release it right away.
970 As no buffer was received by the encoder element at this point, 'allocating'
971 was still on TRUE and so the the buffer wasn't put back to the pending
972 queue and, as result, no longer available to the pool.
973 Fix this by checking the active status of the pool instead of manually
974 tracking it down. The pool is considered as active at the very end of
975 the activation process so we're good when buffers are released during
978 2018-12-05 17:24:48 -0300 Thibault Saunier <tsaunier@igalia.com>
981 Automatic update of common submodule
982 From ed78bee to 59cb678
984 2018-11-23 12:57:15 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
987 omx: fix OMX_EventBufferFlag OMX_API_TRACE struct
988 The GType was missing from the second field of the struct.
990 2018-11-05 05:43:43 +0000 Matthew Waters <matthew@centricular.com>
994 Update git locations to gitlab
996 2018-09-18 16:50:11 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
999 omx: rename OMX_PERFORMANCE debug cat to OMX_API_TRACE
1000 This debug category can now be used to track more OMX calls and events
1001 so best to rename it to something more generic.
1002 https://bugzilla.gnome.org/show_bug.cgi?id=797171
1004 2018-08-21 17:35:04 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1007 omx: log OMX commands with OMX_PERFORMANCE debug category
1008 It has been useful to have a clear raw and structured view of the gst
1009 <-> OMX exchanges when debugging.
1010 https://bugzilla.gnome.org/show_bug.cgi?id=797171
1012 2018-08-21 16:50:38 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1015 omx: factor out gst_omx_component_send_command()
1016 No semantic change. I'm going to add extra debug in this function.
1017 https://bugzilla.gnome.org/show_bug.cgi?id=797171
1019 2018-08-21 15:14:09 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1022 omx: log OMX events with OMX_PERFORMANCE debug category
1023 It has been useful to have a clear raw and structured view of the gst
1024 <-> OMX exchanges when debugging.
1025 https://bugzilla.gnome.org/show_bug.cgi?id=797171
1027 2018-08-22 12:51:30 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1030 omx: rename log_omx_performance() to log_omx_performance_buffer()
1031 I'm about to log more things under this category
1032 https://bugzilla.gnome.org/show_bug.cgi?id=797171
1034 2018-09-07 22:57:30 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1036 * omx/gstomxvideoenc.c:
1037 omxvideoenc: Remove spurious locking
1038 The method we call in the context of pushing a buffer are all thread
1039 safe. Holding a lock would prevent input buffers from being queued while
1041 https://bugzilla.gnome.org/show_bug.cgi?id=715192
1043 2018-09-07 23:09:29 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1045 * omx/gstomxvideoenc.c:
1046 omxvideoenc: Remove unneeded size check
1047 We only enter this branch if nFilledLen > 0, there is not need
1049 https://bugzilla.gnome.org/show_bug.cgi?id=715192
1051 2018-09-07 22:55:41 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1053 * omx/gstomxvideodec.c:
1054 omxvideodec: Remove spurious unlock in error case
1055 This was forgotton in previous patch. We no long hold the lock when goto
1056 invalid_buffer is called.
1057 https://bugzilla.gnome.org/show_bug.cgi?id=715192
1059 2018-08-31 17:28:03 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1061 * omx/gstomxvideodec.c:
1062 omxvideodec: don't hold the stream lock when trying to push a frame
1063 The base class methods will lock this properly when needed, there seems
1064 to be no need to lock it explicitly.
1065 This allows the patch in gstvideodec for unlocking the stream lock
1066 when pushing buffers out to work.
1067 https://bugzilla.gnome.org/show_bug.cgi?id=715192
1069 2018-07-31 13:22:31 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1071 * omx/gstomxvideodec.c:
1072 omxvideodec: don't import OMX buffers from downstream
1073 We already have code configuring the encoder stride and slice height
1074 when receiving the first buffer from upstream.
1075 We don't have an equivalent when the encoder is exporting its buffers to the
1077 There is no point adding it and making the code even more
1078 complex as we wouldn't gain anything by exporting from the encoder to
1079 the decoder. The dynamic buffer mode already ensures 0-copy between OMX
1081 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1083 2018-05-15 11:59:26 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1087 * omx/gstomxbufferpool.c:
1088 * omx/gstomxvideoenc.c:
1089 * omx/gstomxvideoenc.h:
1090 omxvideoenc: implement dmabuf export on input buffers
1091 Propose pool upstream so input buffers can be allocated by the port and
1093 The actual OMX buffers are allocated when the pool is activated, so we
1094 don't end up doing useless allocations if the pool isn't used.
1095 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1097 2018-08-13 15:10:37 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1101 * omx/gstomxaudiodec.c:
1102 * omx/gstomxaudioenc.c:
1103 * omx/gstomxaudiosink.c:
1104 * omx/gstomxvideodec.c:
1105 * omx/gstomxvideoenc.c:
1106 omx: allow gst_omx_port_acquire_buffer() to not wait for buffers
1107 Will be needed to implement GST_BUFFER_POOL_ACQUIRE_FLAG_DONTWAIT.
1108 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1110 2018-07-31 15:04:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1112 * omx/gstomxvideodec.c:
1113 omxvideodec: don't import non-dmabuf when dec is in dmabuf mode
1114 Fix 'omxh264dec ! videocrop' pipeline.
1115 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1117 2018-08-02 11:29:12 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1119 * omx/gstomxvideodec.c:
1120 omxvideodec: factor out gst_omx_try_importing_buffer()
1121 No semantic change, just make the code clearer and improve debug output.
1122 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1124 2018-07-26 16:30:08 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1126 * omx/gstomxvideodec.c:
1127 omxvideodec: fix gst_video_info_from_caps() caps assertion
1128 The "use buffers" code path uses gst_video_info_from_caps() which is
1129 asserting if caps is NULL (because pool was rejected).
1130 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1132 2018-07-26 16:22:50 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1134 * omx/gstomxvideodec.c:
1135 omxvideodec: fix pool caps reference stealing
1136 gst_buffer_pool_config_get_params() doesn't ref the returning caps;
1137 so gst_caps_replace() was unreffing the reference owned by the pool.
1138 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1140 2018-07-25 09:57:20 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1142 * omx/gstomxvideodec.c:
1143 omxvideodec: prevent timeout when shutting down because of pending out buffers
1144 The OMX transition state to Loaded won't be complete until all buffers
1145 have been freed. There is no point waiting, and timeout, if we know that
1146 output buffers haven't been freed yet.
1147 The typical scenario is output buffers being still used downstream
1148 and being freed later when released back to the pool.
1149 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1151 2018-07-24 15:14:31 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1153 * omx/gstomxbufferpool.c:
1154 omxbufferpool: reference the OMX component
1155 Now that the pool is responsible of freeing the OMX buffers, we need to
1156 ensure that the OMX component stay alive while the pool is as we rely on
1157 the component to free the buffers.
1158 The GstOMXPort is owned by the component so no need to ref this one.
1159 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1161 2018-07-24 15:06:01 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1165 * omx/gstomxaudiodec.c:
1166 * omx/gstomxaudioenc.c:
1167 * omx/gstomxaudiosink.c:
1168 * omx/gstomxvideodec.c:
1169 * omx/gstomxvideoenc.c:
1170 turn GstOMXComponent to a GstMiniObject
1171 Will use it for refcounting.
1172 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1174 2018-05-28 12:20:45 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1176 * omx/gstomxbufferpool.c:
1177 * omx/gstomxvideodec.c:
1178 omxbufferpool: deallocate OMX buffers when stopping
1179 The pool is stopped when all the buffers have been released. Deallocate
1180 when stopping so we are sure that the buffers aren't still used by
1182 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1184 2018-05-24 16:28:21 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1187 omx: call gst_omx_buffer_unmap() when handling BUFFER_DONE
1188 When using a input buffer pool, the buffer may be released to the pool when
1189 gst_omx_buffer_unmap() is called. We need to have buf->used unset at
1190 this point as the pool may use it to check the status of the pool.
1191 {Empty,Fill}BufferDone is called from OMX internal threads while
1192 messages are handled from gst elements' thread. Best to do all this
1193 when handling the message so we don't mess with OMX threads and keep
1194 the original thread/logic split.
1195 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1197 2018-05-25 14:44:16 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1199 * omx/gstomxvideodec.c:
1200 * omx/gstomxvideoenc.c:
1201 omxvideo{enc,dec}: stop calling shutdown() in change_state
1202 This is no longer needed since we implemented close() vfuncs as the
1203 encoder/decoder base class already take care of calling close() (which
1204 is calling shutdown()) in its own change_state implementation.
1205 We also move the shut down of the component from PAUSED_TO_READY to READY_TO_NULL.
1206 By doing so upstream will have already deactivated the pool from the
1207 encoder and so won't be preventing the OMX state change as the buffers
1208 will all be released.
1209 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1211 2018-05-15 16:21:26 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1215 * omx/gstomxbufferpool.c:
1216 omx: factor out gst_omx_buffer_get/set_omx_buf()
1217 Move the qdata code to helper functions as I'm going to need them in
1218 omxvideoenc to implement dmabuf export.
1219 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1221 2018-05-15 11:01:13 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1223 * omx/gstomxvideoenc.c:
1224 omxvideoenc: factor out gst_omx_video_enc_set_to_idle()
1225 No semantic change. We'll have to use this when the input pool is
1226 activated so we can allocate buffers.
1227 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1229 2018-05-15 09:56:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1231 * omx/gstomxvideoenc.c:
1232 omxvideoenc: factor out gst_omx_video_enc_deallocate_in_buffers()
1233 Will add extra code when adding input buffer pool.
1234 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1236 2018-05-14 15:16:38 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1239 omx: add pBuffer to OMX_PERFORMANCE logs
1240 Can be useful to check the fd being passed when using dmabuf.
1241 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1243 2018-03-21 12:43:33 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1247 * omx/gstomxvideodec.c:
1248 * omx/gstomxvideoenc.c:
1249 omx: factor out gst_omx_port_set_dmabuf()
1250 No semantic change. I also made the debug message a bit clearer.
1251 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1253 2018-08-22 15:56:18 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1256 omx: wait for flush complete and buffers being released when flushing
1257 When flusing we should wait for OMX to send the flush command complete event
1258 AND all ports being released.
1259 We were stopping as soon as one of those condition was met.
1260 Fix a race between FillThisBufferDone/EmptyBufferDone and the flush
1261 EventCmdComplete messages. The OMX implementation is supposed to release
1262 its buffers before posting the EventCmdComplete event but the ordering
1263 isn't guaranteed as the FillThisBufferDone/EmptyBufferDone and
1264 EventHandler callbacks can be called from different threads (cf 2.7
1265 'Thread Safety' in the spec).
1266 Only wait for buffers currently used by OMX as some buffers may not be
1267 in the pending queue because they are held downstream.
1268 https://bugzilla.gnome.org/show_bug.cgi?id=789475
1270 2018-08-22 15:52:23 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1273 omx: factor out should_wait_until_flushed()
1274 No semantic change. Makes the code easier to understand and I'm about to
1275 change the waiting condition.
1276 https://bugzilla.gnome.org/show_bug.cgi?id=789475
1278 2018-08-28 13:10:35 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1280 * omx/gstomxvideoenc.c:
1281 omxvideoenc: pause component when flushing
1282 As stated in the spec ("6.1.3 Seek Event Sequence") we should pause
1284 We were pausing the decoder but not the encoder so I just aligned the
1286 https://bugzilla.gnome.org/show_bug.cgi?id=797038
1288 2018-07-12 12:41:18 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1290 * omx/gstomxvideoenc.c:
1291 omxvideoenc: fix vertical padding in NV16 formats
1292 My previous patch to calculate the vertical padding was always halfing
1293 the height of the chroma plane which is incorrect for NV16 formats.
1294 https://bugzilla.gnome.org/show_bug.cgi?id=796749
1296 2018-07-05 15:13:47 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1298 * omx/gstomxvideoenc.c:
1299 omxvideoenc: include vertical padding in nFilledLen when copying
1300 According to the OMX spec (3.1.3.7.1) nFilledLen is meant to include any
1301 padding. We use to include the horizontal one (stride) but not the
1302 vertical one if nSliceHeight is bigger than the actual height.
1303 The calculated nFilledLen was wrong as it didn't include the padding
1305 https://bugzilla.gnome.org/show_bug.cgi?id=796749
1307 2018-04-26 12:30:47 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1311 * omx/gstomxvideodec.c:
1312 * omx/gstomxvideoenc.c:
1313 * omx/gstomxvideoenc.h:
1314 omxvideoenc: implement decide_allocation
1315 Increase the number of output buffers by the number of buffers requested
1317 Prevent buffers starvation if downstream is going to use dynamic buffer
1319 https://bugzilla.gnome.org/show_bug.cgi?id=795746
1321 2018-04-26 12:29:16 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1323 * omx/gstomxvideodec.c:
1324 omxvideodec: implement propose_allocation
1325 Tell upstream about how many buffer we plan to use so they can adjust
1326 their own number of buffers accordingly if needed.
1327 Same logic as the existing gst_omx_video_enc_propose_allocation().
1328 https://bugzilla.gnome.org/show_bug.cgi?id=795746
1330 2018-05-17 09:54:11 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1332 * omx/gstomxvideoenc.c:
1333 * omx/gstomxvideoenc.h:
1334 omxvideoenc: always signal drain cond when stopping streaming loop
1335 Similar change as the one I just did in omxvideodec.
1336 https://bugzilla.gnome.org/show_bug.cgi?id=796207
1338 2018-05-16 17:06:29 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1340 * omx/gstomxvideodec.c:
1341 * omx/gstomxvideodec.h:
1342 omxvideodec: always signal drain cond when stopping streaming loop
1343 If for some reason something goes wrong and we stop the streaming loop
1344 we may end up with other threads still waiting on the drain cond.
1345 No more buffers will be produced by the component so they were waiting
1347 Fix this by always signalling this cond when stopping the streaming
1349 https://bugzilla.gnome.org/show_bug.cgi?id=796207
1351 2018-05-16 17:02:01 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1353 * omx/gstomxvideodec.c:
1354 omxvideoenc: factor out gst_omx_video_enc_pause_loop()
1355 No semantic change. I'm going to use it in more failure cases.
1356 https://bugzilla.gnome.org/show_bug.cgi?id=796207
1358 2018-05-17 14:24:52 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1360 * config/zynqultrascaleplus/gstomx.conf:
1361 zynqultrascaleplus: enable 'ensure-buffer-count-actual' hack
1362 https://bugzilla.gnome.org/show_bug.cgi?id=791211
1364 2018-04-27 16:26:36 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1368 * omx/gstomxvideodec.c:
1369 * omx/gstomxvideoenc.c:
1370 omxvideodec/enc: add hack updating nBufferCountActual before allocating
1371 The OMX specs states that the nBufferCountActual of a port has to default
1372 to its nBufferCountMin. If we don't change nBufferCountActual we purely rely
1373 on this default. But in some cases, OMX may change nBufferCountMin before we
1374 allocate buffers. Like for example when configuring the input ports with the
1375 actual format, it may decrease the number of minimal buffers required.
1376 This method checks this and update nBufferCountActual if needed so we'll use
1377 less buffers than the worst case in such scenarios.
1378 SetParameter() needs to be called when the port is either disabled or
1379 the component in the Loaded state.
1380 Don't do this for the decoder output as
1381 gst_omx_video_dec_allocate_output_buffers() already check
1382 nBufferCountMin when computing the number of output buffers.
1383 On some platform, like rpi, the default nBufferCountActual is much
1384 higher than nBufferCountMin so only enable this using a specific gst-omx
1386 https://bugzilla.gnome.org/show_bug.cgi?id=791211
1388 2018-05-28 15:02:13 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1390 * omx/gstomxvideodec.c:
1391 * omx/gstomxvideoenc.c:
1392 omxvidee{enc,dec}: refresh input port definition after setting format
1393 Setting the input format and the associated encoder/decoder settings
1394 may also affect the nBufferCountMin of the input port.
1395 Refresh the input port so we'll use up to date values in propose/decide
1397 https://bugzilla.gnome.org/show_bug.cgi?id=796445
1399 2018-05-07 11:59:08 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1402 omx: always consider component in 'invalid' state when an error occured
1403 gst_omx_component_get_state() used to early return if there was no
1404 pending state change. So if the component raised an error it wasn't
1405 considered in the invalid state until the next requested state change.
1406 Fix this by checking first if we received an error.
1407 https://bugzilla.gnome.org/show_bug.cgi?id=795874
1409 2018-05-25 01:35:58 +1000 Matthew Waters <matthew@centricular.com>
1412 * meson_options.txt:
1413 meson: Update option names to omit 'with_omx' prefixes
1414 Companion commit to:
1415 https://cgit.freedesktop.org/gstreamer/gstreamer/commit/?id=4fb02fc85b70be631f5331b2547e5dc61ef7a43a
1416 https://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=1e1a5d658e4a031535c44823fd398d3052ca2000
1419 2018-03-21 13:52:23 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1421 * omx/gstomxvideodec.c:
1422 omxvideodec: pass a GstOMXBufferMode to gst_omx_buffer_pool_new()
1423 The output_mode is supposed to be a GstOMXBufferMode, not a boolean.
1425 2018-05-03 09:27:15 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1427 * config/zynqultrascaleplus/gstomx.conf:
1428 zynq: remove 'no-disable-outport' hack
1429 No longer needed with newer version of the OMX stack.
1431 2018-03-13 16:15:30 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1433 * omx/gstomxh264enc.c:
1434 * omx/gstomxh265enc.c:
1435 omxh26{4,5}enc: don't pick default 10-bit profile
1436 The OMX stack of the zynqultrascaleplus (the only one supporting
1437 NV12_10LE32 and NV16_10LE32) will now pick the proper profile if none
1438 has been requested. Best to rely on its default than hardcoding a
1439 specific one in gst-omx.
1440 https://bugzilla.gnome.org/show_bug.cgi?id=794319
1442 2018-03-06 14:16:56 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1444 * omx/gstomxh264utils.c:
1445 omxh264: sync with supported profiles on zynqultrascaleplus
1446 Add extra supported AVC profiles and remove extended and 4:4:4 profiles
1447 which are actually not implemented.
1448 https://bugzilla.gnome.org/show_bug.cgi?id=794177
1450 2018-03-06 10:45:14 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1452 * omx/gstomxh264enc.c:
1453 * omx/gstomxh264utils.c:
1454 * omx/gstomxh264utils.h:
1455 omxh264: factor out gst_omx_h264_utils_get_profile_from_enum()
1456 Move the profile <-> enum mapping to one place. Make changes easier as
1457 I'm about to add extra profiles.
1459 https://bugzilla.gnome.org/show_bug.cgi?id=794177
1461 2018-03-06 11:02:44 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1463 * omx/gstomxh265utils.c:
1464 omxh265: add format range extension profiles on zynqultrascaleplus
1465 The zynqultrascaleplus OMX gained support for more format range
1466 extensions profiles (A.3.5).
1467 https://bugzilla.gnome.org/show_bug.cgi?id=794177
1469 2018-03-06 10:45:14 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1471 * omx/gstomxh265enc.c:
1472 * omx/gstomxh265utils.c:
1473 * omx/gstomxh265utils.h:
1474 omxh265: factor out gst_omx_h265_utils_get_profile_from_enum()
1475 Move the profile <-> enum mapping to one place. Make changes easier as
1476 I'm about to add some profiles.
1478 https://bugzilla.gnome.org/show_bug.cgi?id=794177
1480 2018-03-08 12:22:26 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1482 * omx/gstomxvideoenc.c:
1483 omxvideoenc: add NV16 support
1484 NV16 format wasn't supported on encoder input while it was on decoder
1486 https://bugzilla.gnome.org/show_bug.cgi?id=794175
1488 2018-03-08 12:09:38 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1490 * omx/gstomxvideo.c:
1491 omxvideo: display port number when listing supported formats
1492 More convenient when debugging.
1493 https://bugzilla.gnome.org/show_bug.cgi?id=794175
1495 2018-03-29 16:42:40 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1498 * omx/gstomxvideoenc.c:
1499 * omx/gstomxvideoenc.h:
1500 omxvideoenc: restore OMX default target-bitrate if requested by user
1501 0xffffffff is the magic number in gst-omx meaning 'the default value
1502 defined in OMX'. This works fine with OMX parameters which are only set
1503 once when starting the component but not with configs which can be
1504 changed while PLAYING.
1505 Save the actual OMX default bitrate so we can restore it later if user
1506 sets back 0xffffffff on the property.
1507 Added GST_OMX_PROP_OMX_DEFAULT so we stop hardcoding magic numbers
1509 https://bugzilla.gnome.org/show_bug.cgi?id=794998
1511 2018-03-29 11:36:00 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1513 * omx/gstomxvideoenc.c:
1514 omxvideoenc: use gst_omx_video_enc_set_bitrate() when setting bitrate in set_format
1515 We weren't using the usual pattern when re-setting the bitrate:
1516 - get parameters from OMX
1517 - update only the fields different from 0xffffffff (OMX defaults)
1519 Also added a comment explaining why we re-set this param.
1520 https://bugzilla.gnome.org/show_bug.cgi?id=794998
1522 2018-03-29 11:26:04 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1524 * omx/gstomxvideoenc.c:
1525 omxvideoenc: factor out gst_omx_video_enc_set_bitrate()
1526 No semantic change, I'm about to re-use this function in set_format().
1527 https://bugzilla.gnome.org/show_bug.cgi?id=794998
1529 2018-04-20 11:54:14 +0100 Tim-Philipp Müller <tim@centricular.com>
1532 meson: fix miscellaneous meson warnings
1533 cc.has_header*() doesn't have a 'required:' kwarg.
1535 2018-04-18 12:42:55 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1537 * omx/gstomxvideodec.c:
1538 * omx/gstomxvideoenc.c:
1539 omxvideoenc/dec: fix handling of component enabling failing
1540 - Report the error from OMX if any (OMX_EventError)
1541 - If not report the failing to the application (GST_ELEMENT_ERROR)
1542 - return GST_FLOW_ERROR rather than FALSE
1544 https://bugzilla.gnome.org/show_bug.cgi?id=795352
1546 2018-04-16 10:53:41 +0100 Tim-Philipp Müller <tim@centricular.com>
1549 Automatic update of common submodule
1550 From 3fa2c9e to ed78bee
1552 2018-03-14 14:53:50 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1555 log_omx_performance: convert pointers to strings
1556 G_TYPE_POINTER are not serialized in logs.
1557 https://bugzilla.gnome.org/show_bug.cgi?id=794331
1559 2018-04-02 15:14:51 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1561 * omx/gstomxvideoenc.c:
1562 omxvideoenc: remove duplicated debug message
1563 We already have the exact same message at the beginning of
1564 gst_omx_video_enc_handle_frame(). Having it twice is confusing when
1565 reading/grepping logs.
1566 I kept the earlier one to keep the symetry with
1567 gst_omx_video_dec_handle_frame().
1568 https://bugzilla.gnome.org/show_bug.cgi?id=794897
1570 2018-02-22 11:27:03 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1572 * omx/gstomxvideoenc.c:
1573 omxvideoenc: add 'roi' qp-mode on zynqultrascaleplus
1574 New QP mode used to handle ROI metadata.
1575 https://bugzilla.gnome.org/show_bug.cgi?id=793696
1577 2018-03-20 10:31:10 +0000 Tim-Philipp Müller <tim@centricular.com>
1585 === release 1.14.0 ===
1587 2018-03-19 20:31:02 +0000 Tim-Philipp Müller <tim@centricular.com>
1597 === release 1.13.91 ===
1599 2018-03-13 19:32:39 +0000 Tim-Philipp Müller <tim@centricular.com>
1609 2018-03-09 12:02:29 +0000 Tim-Philipp Müller <tim@centricular.com>
1612 meson: fix typo in package name define
1614 2018-02-27 15:42:53 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1616 * omx/gstomxh265enc.c:
1617 * omx/gstomxh265utils.c:
1618 omxh265: update 422 profile names
1619 h265parse is gaining support for the format range extension profile
1621 Use the profile names defined in h265parse.
1622 https://bugzilla.gnome.org/show_bug.cgi?id=793928
1624 2018-03-05 13:49:18 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1626 * omx/gstomxvideoenc.c:
1627 omxvideoenc: Don't drop the frame on empty payload
1628 This otherwise may lead to "No reference frame found" warning.
1630 2018-03-01 15:16:55 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1632 * omx/gstomxvideodec.c:
1633 omxvideodec: Don't drop the frame on empty payload
1634 This otherwise may lead to "No reference frame found" warning.
1636 2018-03-02 15:36:06 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1639 omx: Free empty buffers list in use_dynamic_buffers
1640 To indicate we are doing dynamic buffers importation, we pass
1641 a list of NULL pointers, but we forgot to free that list.
1643 2018-03-01 15:16:32 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1645 * omx/gstomxvideodec.c:
1646 omxvideodec: Fix CodecState leak
1648 === release 1.13.90 ===
1650 2018-03-03 23:00:59 +0000 Tim-Philipp Müller <tim@centricular.com>
1660 2018-03-03 20:21:06 +0000 Tim-Philipp Müller <tim@centricular.com>
1662 * config/Makefile.am:
1663 config: dist tizonia config files
1665 2018-03-02 11:06:08 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1668 Revert "omx: wait for flush complete and buffers being released when flushing"
1669 This reverts commit 4211e4c29a262f110cb92ddf9c06b403ced233ef.
1671 2018-02-21 12:50:42 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1673 * omx/gstomxvideoenc.c:
1674 videoenc: don't set stride padding to 0 when copying frames
1675 Padding can be left undefined there is no point filling it with 0.
1676 https://bugzilla.gnome.org/show_bug.cgi?id=793694
1678 2018-02-16 11:50:35 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1680 * omx/gstomxbufferpool.c:
1681 * omx/gstomxh264enc.c:
1682 * omx/gstomxh265enc.c:
1683 * omx/gstomxvideo.c:
1684 * omx/gstomxvideodec.c:
1685 * omx/gstomxvideoenc.c:
1686 add support for NV12_10LE32 and NV16_10LE32 on zynqultrascaleplus
1687 The encoder and decoder on zynqultrascaleplus support these new 10 bits
1689 https://bugzilla.gnome.org/show_bug.cgi?id=793694
1691 2018-02-16 11:46:47 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1693 * omx/gstomxvideoenc.c:
1694 omxvideoenc: factor out gst_omx_video_enc_nv12_manual_copy()
1695 No semantic change, I'm going to re-use it to copy the NV12_10LE32
1697 https://bugzilla.gnome.org/show_bug.cgi?id=793694
1699 2018-01-17 10:40:49 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1701 * omx/gstomxvideoenc.c:
1702 omxvideoenc: display the computed buffer size when configuring input
1703 https://bugzilla.gnome.org/show_bug.cgi?id=793694
1705 2018-02-06 14:25:57 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1707 * omx/gstomxvideoenc.c:
1708 * omx/gstomxvideoenc.h:
1709 videoenc: implement ROI on zynqultrascaleplus
1710 Check input buffers for ROI meta and pass them to the encoder by using
1711 zynqultrascaleplus's custom OMX extension. Also add a new
1712 "default-roi-quality" in order to tell the encoder what quality level
1713 should be applied to ROI by default.
1714 https://bugzilla.gnome.org/show_bug.cgi?id=793696
1716 2018-02-14 17:23:39 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1718 * omx/gstomxvideoenc.c:
1719 omxvideoenc: remove GST_PARAM_MUTABLE_PLAYING from 'max-bitrate' property
1720 This property isn't actually mutable in the PLAYING state.
1721 https://bugzilla.gnome.org/show_bug.cgi?id=793458
1723 2018-02-14 17:20:02 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1725 * omx/gstomxvideoenc.c:
1726 * omx/gstomxvideoenc.h:
1727 omxvideoenc: protect target_bitrate with the object lock
1728 The 'target-bitrate' property can be changed while PLAYING
1729 (GST_PARAM_MUTABLE_PLAYING). Make it thread-safe to prevent concurrent
1730 accesses between the application and streaming thread.
1731 https://bugzilla.gnome.org/show_bug.cgi?id=793458
1733 2018-02-20 11:46:49 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1735 * omx/gstomxbufferpool.c:
1736 omxbufferpool: add PERFORMANCE DEBUG message when copying output frames
1737 I spent quiet some time figuring out why performance of my pipeline were
1738 terrible. Turned out it was because of output frames being copied
1739 because of stride/offset mismatch.
1740 Add a PERFORMANCE DEBUG message to make it easier to spot and debug from logs.
1741 https://bugzilla.gnome.org/show_bug.cgi?id=793637
1743 2018-02-15 19:44:37 +0000 Tim-Philipp Müller <tim@centricular.com>
1749 === release 1.13.1 ===
1751 2018-02-15 17:50:14 +0000 Tim-Philipp Müller <tim@centricular.com>
1760 2017-06-30 15:15:06 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1762 * omx/gstomxh265enc.c:
1763 omxh265enc: fix typo in "periodicty-idr" property name
1764 Also fix the 'nick' of the property.
1765 omxh265enc is based on the code from omxh264enc and suffers the same
1766 typo as we fixed in https://bugzilla.gnome.org/show_bug.cgi?id=784370
1767 This element isn't part of a stable release yet so it's not an API
1769 https://bugzilla.gnome.org/show_bug.cgi?id=793390
1771 2018-02-08 19:18:59 +0000 Tim-Philipp Müller <tim@centricular.com>
1774 meson: make version numbers ints and fix int/string comparison
1775 WARNING: Trying to compare values of different types (str, int).
1776 The result of this is undefined and will become a hard error
1777 in a future Meson release.
1778 Also remove unused libversion/soversion.
1780 2017-12-12 16:50:00 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1785 include all OMX extension headers if present
1786 The OMX specs defines 8 headers that implementations can use to define
1787 their custom extensions. We were checking and including 3 and ignoring
1789 https://bugzilla.gnome.org/show_bug.cgi?id=792043
1791 2018-01-30 10:31:03 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1795 * tools/meson.build:
1796 meson: simplify OMX extensions detection
1797 We are now always checking which files are present or not, even when using our
1798 internal copy of OMX, rather than hardcoding the ones present in it.
1799 https://bugzilla.gnome.org/show_bug.cgi?id=792043
1801 2018-01-30 11:54:24 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1805 * tools/meson.build:
1806 Revert "meson: use include_directories() with external OMX headers path"
1807 This reverts commit 9d37a92a615e54e8ee12f8c65bcfe386ec9de2d0.
1809 2017-11-27 14:52:10 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1811 * omx/gstomxh265enc.c:
1812 * omx/gstomxh265enc.h:
1813 omxh265enc: add some encoding properties
1814 constrained-intra-prediction and loop-filter-mode.
1815 Those map standard OMX settings.
1816 https://bugzilla.gnome.org/show_bug.cgi?id=792528
1818 2017-11-23 15:54:15 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1820 * omx/gstomxh264enc.c:
1821 * omx/gstomxh264enc.h:
1822 omxh264enc: add some encoding properties
1823 entropy-mode, constrained-intra-prediction and loop-filter-mode.
1824 Those map standard OMX settings.
1825 https://bugzilla.gnome.org/show_bug.cgi?id=792528
1827 2017-06-08 12:31:21 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1829 * omx/gstomxvideoenc.c:
1830 * omx/gstomxvideoenc.h:
1831 omxvideoenc: add zynqultrascaleplus specific properties
1832 https://bugzilla.gnome.org/show_bug.cgi?id=792528
1834 2017-10-31 12:24:39 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1836 * omx/gstomxvideoenc.c:
1837 omxvideoenc: document unit of target-bitrate property
1838 nTargetBitrate and nEncodeBitrate are defined in bits per second in the
1840 https://bugzilla.gnome.org/show_bug.cgi?id=792528
1842 2017-07-06 10:18:48 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1844 * omx/gstomxvideodec.c:
1845 * omx/gstomxvideodec.h:
1846 omxvideodec: add internal-entropy-buffers property on zynqultrascaleplus
1847 Custom property to control the number of internal buffers used in the
1848 decoder to smooth out entropy decoding performance.
1849 https://bugzilla.gnome.org/show_bug.cgi?id=792528
1851 2018-01-30 10:31:03 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1855 * tools/meson.build:
1856 meson: use include_directories() with external OMX headers path
1857 It seems cleaner to use the proper meson tools to include this path
1858 rather than manually tweak the build flags.
1859 This also allows us to simplify the OMX extensions detection code. We
1860 are now always checking which files are present, even when using our
1861 internal copy of OMX, rather than hardcoding the ones present in it.
1862 https://bugzilla.gnome.org/show_bug.cgi?id=792043
1864 2017-11-07 15:09:35 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1866 * omx/gstomxvideoenc.c:
1867 omxvideoenc: expose chroma format and bit depth in output caps
1868 As we added in the parser (bgo#792039) expose the chroma and bit
1869 depth information in output caps.
1870 https://bugzilla.gnome.org/show_bug.cgi?id=792040
1872 2017-11-07 14:30:45 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1874 * omx/gstomxvideoenc.c:
1875 omxvideoenc: factor out get_output_caps()
1876 No semantic change so far.
1877 https://bugzilla.gnome.org/show_bug.cgi?id=792040
1879 2017-12-29 11:59:36 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1881 * config/zynqultrascaleplus/gstomx.conf:
1884 * omx/gstomxvideodec.c:
1885 omxvideodec: add hack to pass color format from caps to OMX decoder
1886 This hack tries to pass as much information as possible from caps to the
1887 decoder before it receives any buffer. These information can be used by
1888 the OMX decoder to, for example, pre-allocate its internal buffers
1889 before starting to decode and so reduce its initial latency.
1890 This mechanism is currently supported by the zynqultrascaleplus decoder.
1891 https://bugzilla.gnome.org/show_bug.cgi?id=792040
1893 2017-12-01 12:43:19 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1896 log failing OMX calls as errors
1897 I find it confusing when debugging that OMX calls returning an error
1898 where not logged as GST_LEVEL_ERROR making them harder to spot.
1899 Fix this by introducing simple log macros checking the return value of
1900 the OMX call and logging failures as errors.
1901 https://bugzilla.gnome.org/show_bug.cgi?id=791069
1903 2017-10-30 11:59:19 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1906 add OMX_PERFORMANCE debug category
1907 Can be used to log buffers exchange between OMX and gst-omx to profile
1908 performances of the OMX component.
1909 Ideally this should be done using tracer hooks but it's currently not
1910 possible to define custom hooks outside of core.
1911 Use GST_DEBUG="OMX_PERFORMANCE:8" to enable it.
1913 https://github.com/gdesmott/gst-log-parser/blob/master/src/bin/omx-perf.rs
1914 as a simple program consuming those logs to generate gnuplot files and
1916 https://bugzilla.gnome.org/show_bug.cgi?id=791093
1918 2017-07-27 11:21:59 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1922 * omx/gstomxvideoenc.c:
1923 * omx/gstomxvideoenc.h:
1924 omxvideoenc: implement dmabuf import on zynqultrascaleplus
1925 The Zynq UltraScale+ encoder implements a custom OMX extension to
1926 directly import dmabuf saving the need of mapping input buffers.
1927 This can be use with either 'v4l2src io-mode=dmabuf' or an OMX video
1929 https://bugzilla.gnome.org/show_bug.cgi?id=792361
1931 2017-09-22 16:02:40 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1933 * omx/gstomxvideoenc.c:
1934 omxvideoenc: drop late input frames if QoS is enabled
1935 Make use of the new GstVideoEncoder QoS API to drop late input frames. This may
1936 help a live pipeline to catch up if it's being late and all frames end up
1937 being dropped at the sink.
1938 https://bugzilla.gnome.org/show_bug.cgi?id=792783
1940 2018-01-19 15:18:23 +0530 Ashish Kumar <kr.ashish@samsung.com>
1942 * examples/egl/testegl.c:
1943 TestEgl: Removed redundant/unused code
1944 https://bugzilla.gnome.org/show_bug.cgi?id=788550
1946 2018-01-03 16:07:18 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1948 * omx/gstomxvideoenc.c:
1949 omxvideoenc: early return in fill_buffer() if something goes wrong
1950 If something goes wrong while trying to manually copy the input buffer,
1951 the 'break' was moving us out of the 'for' loop but not out of the switch block.
1952 So we ended up calling gst_video_frame_unmap() a second time (raising
1953 assertions) and returning TRUE rather than FALSE.
1954 Reproduced with a WIP zynqultrascaleplus OMX branch reporting wrong
1955 buffer sizes and so triggering this bug.
1956 https://bugzilla.gnome.org/show_bug.cgi?id=792167
1958 2017-12-19 16:09:41 +0000 Tim-Philipp Müller <tim@centricular.com>
1961 meson: gl: the winsys and platform list in the .pc file is space-separated
1963 2017-12-19 16:08:58 +0000 Tim-Philipp Müller <tim@centricular.com>
1966 meson: fix subproject fallback for gstreamer-gl-1.0
1969 2017-12-12 17:30:27 +0000 Julien Isorce <jisorce@oblong.com>
1971 * omx/gstomxvideo.c:
1972 * omx/gstomxvideo.h:
1973 * omx/gstomxvideodec.c:
1974 omxvideodec: ignore very little variations of the framerate
1976 The dynamic format change should not happen when the
1977 resolution does not change and when only the framerate
1978 changes but very slightly, i.e. from 50000/1677=29.81
1979 to 89/3=29.66 so a "percentage change" of less than 1%
1980 (i.e. 100*(29.81-29.66)/29.66 = 0.50 < 1 ). In that case
1981 just ignore it to avoid unnecessary renegotiation.
1982 https://bugzilla.gnome.org/show_bug.cgi?id=759043
1984 2017-08-09 12:07:33 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1986 * omx/gstomxvideodec.c:
1987 * omx/gstomxvideodec.h:
1988 omxvideodec: use dynamic buffer mode on input if possible
1989 Prevent from copying the input buffers between GStreamer and OMX.
1990 Tested on zynqultrascaleplus and rpi (without dynamic buffers).
1991 https://bugzilla.gnome.org/show_bug.cgi?id=787093
1993 2017-07-20 16:35:31 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1995 * omx/gstomxvideoenc.c:
1996 * omx/gstomxvideoenc.h:
1997 omxvideoenc: use dynamic buffer mode on input if possible
1998 If the OMX component supports dynamic buffer mode and the input buffers
1999 are properly aligned avoid copying each input frame between OMX and
2001 Tested on zynqultrascaleplus and rpi (without dynamic buffers).
2002 https://bugzilla.gnome.org/show_bug.cgi?id=787093
2004 2017-07-20 12:56:37 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2006 * omx/gstomxvideodec.c:
2007 * omx/gstomxvideoenc.c:
2008 omxvideoenc/dec: factor out input buffer allocation
2009 No semantic change so far. I'm going to add an alternate way to allocate
2011 https://bugzilla.gnome.org/show_bug.cgi?id=787093
2013 2017-07-20 16:31:54 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2017 omx: add API to implement dynamic buffers support
2018 OMX 1.2.0 introduced a third way to manage buffers by allowing
2019 components to only allocate buffers header during their initialization
2020 and change their pBuffer pointer at runtime.
2021 This new feature can save us a copy between GStreamer and OMX for each
2023 This patch adds API to allocate and use such buffers.
2024 https://bugzilla.gnome.org/show_bug.cgi?id=787093
2026 2017-12-14 14:53:17 +1100 Matthew Waters <matthew@centricular.com>
2029 Automatic update of common submodule
2030 From e8c7a71 to 3fa2c9e
2032 2017-12-13 12:06:40 +0000 Julien Isorce <jisorce@oblong.com>
2034 * omx/gstomxvideodec.c:
2035 omxvideodec: consolidate the decision to try UseBuffer
2036 The tee element can call gst_query_add_allocation_pool with pool as NULL.
2037 Checking nth > 0 is not enough so we need to verify if there is a pool.
2038 https://bugzilla.gnome.org/show_bug.cgi?id=730758
2039 https://bugzilla.gnome.org/show_bug.cgi?id=784069
2041 2017-12-12 14:45:30 +0000 Julien Isorce <jisorce@oblong.com>
2043 * omx/gstomxvideo.c:
2044 * omx/gstomxvideo.h:
2045 * omx/gstomxvideodec.c:
2046 * omx/gstomxvideoenc.c:
2047 gstomxvideodec: fix framerate overflow
2048 Some live streams can set the framerate to 50000/1677 (=29.81).
2049 GstVideoInfo.fps_n << 16 is wrong if the fps_n is 50000
2050 (i.e. greater than 32767).
2051 https://bugzilla.gnome.org/show_bug.cgi?id=759043
2053 2017-08-22 13:48:26 +0100 Julien Isorce <jisorce@oblong.com>
2056 * examples/egl/Makefile.am:
2057 * examples/egl/meson.build:
2058 * examples/egl/testegl.c:
2060 example: port testegl.c to desktop
2061 Will be easier to maintain.
2062 Also uniformize autotool build with meson build which is
2063 already retrieving the gl libs.
2064 https://bugzilla.gnome.org/show_bug.cgi?id=781606
2066 2017-12-11 15:55:44 +0000 Julien Isorce <jisorce@oblong.com>
2069 meson: move omx features check after target selection
2070 And uses gst_omx_args instead of add_global_arguments.
2071 Similar to c69232852120d064c689caef07b3c68ad8fe6288
2072 which was only for configure.ac
2073 Useful to get omxvp8dec with meson too:
2074 meson . buildtmp -D with_omx_target=tizonia
2075 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2077 2017-12-04 17:11:04 +0000 Julien Isorce <jisorce@oblong.com>
2079 * config/tizonia/gstomx.conf.in:
2080 config: add OMX.Aratelia.audio_decoder.aac to Tizonia config
2081 Useful mostly for testing/debugging purpose as this is a software
2082 based decoder (libfaad) for which GStreamer provides a direct
2084 https://bugzilla.gnome.org/show_bug.cgi?id=791482
2086 2017-11-29 14:18:41 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2088 * omx/gstomxvideodec.c:
2089 omxvideodec: retrieve OMX_IndexParamVideoPortFormat before setting it
2090 The usual pattern when setting OMX params is to first get the struct
2091 param, override the values we want to set and then set the updated
2093 We were not doing this with OMX_IndexParamVideoPortFormat and so were
2094 resetting some fields such as OMX_VIDEO_PARAM_PORTFORMATTYPE.xFramerate
2095 https://bugzilla.gnome.org/show_bug.cgi?id=790979
2097 2017-05-21 17:34:51 +0100 Julien Isorce <jisorce@oblong.com>
2099 * omx/gstomxaacenc.c:
2100 omxaacenc: also set 'profile' if mpegversion is 4
2101 Like done by gst_codec_utils_aac_caps_set_level_and_profile
2102 which is called by avenc_aac, ffaac and voaacenc.
2103 https://bugzilla.gnome.org/show_bug.cgi?id=735208
2105 2017-10-24 12:19:50 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2108 omx: wait for flush complete and buffers being released when flushing
2109 As stated in the existing comment, when flusing we should wait for OMX
2110 to send the flush command complete event AND all ports being released.
2111 We were stopping as soon as one of those condition was met.
2112 Fix a race between FillThisBufferDone/EmptyBufferDone and the flush
2113 EventCmdComplete messages. The OMX implementation is supposed to release
2114 its buffers before posting the EventCmdComplete event but the ordering
2115 isn't guaranteed as the FillThisBufferDone/EmptyBufferDone and
2116 EventHandler callbacks can be called from different threads (cf 2.7
2117 'Thread Safety' in the spec).
2118 https://bugzilla.gnome.org/show_bug.cgi?id=789475
2120 2017-10-24 11:45:20 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2123 gst_omx_port_set_flushing: simplify waiting loop
2124 No semantic change so far, I just made the 'while' end condition easier
2125 to understand as a first step before changing it.
2126 - move error/time out checks inside the loop to make it clearer on what
2127 we are actually waiting for.
2128 - group port->buffers checks together with parenthesis as they are part
2129 of the same conceptual check: waiting for all buffers to be released.
2130 https://bugzilla.gnome.org/show_bug.cgi?id=789475
2132 2017-11-27 20:17:17 +1100 Matthew Waters <matthew@centricular.com>
2135 Automatic update of common submodule
2136 From 3f4aa96 to e8c7a71
2138 2017-11-23 15:03:48 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2140 * omx/gstomxh264enc.c:
2141 * omx/gstomxh264utils.c:
2142 zynqultrascaleplus: add support for extra AVC levels
2143 The Zynqultrascaleplus has support for extra AVC levels not defined in
2144 the OMX spec as a customer extension.
2145 https://bugzilla.gnome.org/show_bug.cgi?id=790758
2147 2017-10-16 14:47:07 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2151 * config/meson.build:
2154 * tests/Makefile.am:
2155 * tests/check/.gitignore:
2156 * tests/check/Makefile.am:
2157 * tests/check/generic/.gitignore:
2158 * tests/check/generic/states.c:
2159 * tests/check/meson.build:
2160 * tests/meson.build:
2162 Most of the boilerplate and the states test has been copied from
2164 https://bugzilla.gnome.org/show_bug.cgi?id=789094
2166 2017-10-17 13:07:05 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2169 * tools/meson.build:
2170 meson: add tools support
2171 Looks like the tools directory was left out during the initial port to
2173 https://bugzilla.gnome.org/show_bug.cgi?id=789090
2175 2017-10-16 14:24:50 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2178 omx: fix build on rpi
2179 The nTimeStamp field is a OMX_TICKS struct on the rpi so use the proper
2181 Fix build on the build which has been broken by
2182 b3173144b7c1b12c9e1b7571f78659be45d813f6
2183 https://bugzilla.gnome.org/show_bug.cgi?id=789052
2185 2017-10-17 12:11:04 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2189 check if Allegro headers are present when building zynqultrascaleplus
2190 The Zynq UltraScale+ uses a custom version of OMX implementing several
2191 3rd party extensions. Make sure those are present when building this
2193 https://bugzilla.gnome.org/show_bug.cgi?id=788064
2195 2017-10-16 12:42:44 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2197 * omx/gstomxvideodec.c:
2198 omxvideodec: remove redundant debug message
2199 We have already a debug message right after.
2200 https://bugzilla.gnome.org/show_bug.cgi?id=789058
2202 2017-10-16 13:26:38 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2204 * omx/gstomxh265enc.c:
2205 * omx/gstomxh265utils.c:
2206 omxh265: fix enum casting when using Allegro HEVC extensions
2207 Allegro's HEVC implementation defines a superset of the profiles and
2208 enums from the Android implementation.
2209 Properly cast to fix -Wenum-conversion warnings from clang.
2210 https://bugzilla.gnome.org/show_bug.cgi?id=789057
2212 2017-10-16 13:08:12 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2214 * omx/gstomxh265enc.c:
2215 * omx/gstomxvp8dec.c:
2216 properly cast extension enums
2217 OMX's allow 3rds party to define extensions using their own enums
2218 (like OMX_VIDEO_CODINGEXTTYPE) and to be used as the general
2219 ones (like OMX_VIDEO_CODINGTYPE).
2220 Properly cast those to fix -Wenum-conversion warnings from some
2221 compilers such as clang.
2222 https://bugzilla.gnome.org/show_bug.cgi?id=789057
2224 2017-10-09 13:12:35 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2227 omx: also reset nTimeStamp when re-using buffers
2228 Some OMX implementations may check if the timestamp of the output buffers
2229 they receive is actually not set.
2230 https://bugzilla.gnome.org/show_bug.cgi?id=788711
2232 2017-10-04 17:11:55 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2235 omx: factor out gst_omx_buffer_reset()
2236 https://bugzilla.gnome.org/show_bug.cgi?id=788711
2238 2017-10-09 17:27:22 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2242 * omx/gstomxvideodec.c:
2243 * omx/gstomxvideoenc.c:
2244 add gst_omx_buffer_flags_to_string()
2245 Make debug logs more readable so users don't have to manually figure out
2246 the meaning of flags.
2247 https://bugzilla.gnome.org/show_bug.cgi?id=788767
2249 2017-09-27 19:47:29 +0530 Ponnam Srinivas <p.srinivas@samsung.com>
2251 * omx/gstomxh263enc.c:
2252 h263enc: fix caps leak in error code path
2253 https://bugzilla.gnome.org/show_bug.cgi?id=788245
2255 2017-09-21 15:21:36 +0530 Ponnam Srinivas <p.srinivas@samsung.com>
2257 * omx/gstomxh264enc.c:
2258 omxh264enc: fix caps leak
2259 https://bugzilla.gnome.org/show_bug.cgi?id=787711
2261 2017-09-21 11:36:46 +0530 Ponnam Srinivas <p.srinivas@samsung.com>
2263 * omx/gstomxh265enc.c:
2264 omxh265enc: fix caps leak
2265 https://bugzilla.gnome.org/show_bug.cgi?id=787714
2267 2017-09-13 15:32:51 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2269 * omx/gstomxvideodec.c:
2270 omxvideodec: log info about frame before releasing it
2271 gst_video_decoder_release_frame() takes ownership of the frame and will
2272 destroy it. So we should no longer use it after calling it.
2273 https://bugzilla.gnome.org/show_bug.cgi?id=787628
2275 2017-08-20 20:19:33 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2278 configure: Show tizonia target in help
2279 https://bugzilla.gnome.org/show_bug.cgi?id=786544
2281 2017-07-12 14:35:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2283 * config/zynqultrascaleplus/gstomx.conf:
2286 * omx/gstomxh265dec.c:
2287 * omx/gstomxh265dec.h:
2289 omxh265dec: add H265 decoder
2290 Add HEVC decoder for the zynqultrascaleplus platform.
2291 I used the H264 decoder code as a template.
2292 https://bugzilla.gnome.org/show_bug.cgi?id=785434
2294 2017-07-12 11:01:15 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2296 * config/zynqultrascaleplus/gstomx.conf:
2301 * omx/gstomxh265enc.c:
2302 * omx/gstomxh265enc.h:
2303 * omx/gstomxh265utils.c:
2304 * omx/gstomxh265utils.h:
2306 omxh265enc: add H265 encoder
2307 The OMX spec doesn't support HEVC but the OMX stack of the
2308 zynqultrascaleplus adds it as a custom extension.
2309 It uses the same API as the one of Android's OMX stack.
2310 I used the H264 encoder code as a template.
2311 https://bugzilla.gnome.org/show_bug.cgi?id=785434
2313 2017-08-28 13:56:22 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2315 * omx/gstomxvideoenc.c:
2316 omxvideoenc: use caps from query in propose_allocation
2317 Prevent crash by not deferencing a NULL pointer if self->input_state
2318 isn't defined when propose_allocation() is called.
2319 https://bugzilla.gnome.org/show_bug.cgi?id=786442
2321 2017-09-04 09:34:03 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2324 omx: display states as string if changing failed
2325 Improve the error message by displaying the states in their string
2326 representation rather than their numerical value.
2327 https://bugzilla.gnome.org/show_bug.cgi?id=787235
2329 2017-08-22 10:22:45 +0100 Julien Isorce <jisorce@oblong.com>
2331 * omx/gstomxvideodec.c:
2332 omxvideodec: EGLDisplay is not indirectly defined by gstgl headers inclusion
2333 Just use gpointer as done in GstGL to not include
2334 EGL/egl.h just for EGLDisplay.
2335 https://bugzilla.gnome.org/show_bug.cgi?id=784779
2337 2017-07-14 16:34:04 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2339 * config/tizonia/gstomx.conf.in:
2340 config: expose OMX.mesa h264 decoder and encoder in Tizonia config
2341 https://bugzilla.gnome.org/show_bug.cgi?id=783976
2343 2017-08-11 07:48:37 -0700 Julien Isorce <jisorce@oblong.com>
2345 * omx/gstomxvideodec.c:
2346 omxvideodec: remove wrong SettingsChanged ack
2347 Partially revert 1b7d0b8:
2348 omxvideodec: handle IL 1.2 behavior for OMX_SetParameter
2349 It turned out it was a problem in the decoder which was
2350 not updating some local variables upon SetParameter.
2351 https://bugzilla.gnome.org/show_bug.cgi?id=783976
2353 2017-07-20 09:43:19 +0100 Julien Isorce <jisorce@oblong.com>
2355 * omx/gstomxaudiodec.c:
2356 * omx/gstomxaudioenc.c:
2357 * omx/gstomxvideodec.c:
2358 * omx/gstomxvideoenc.c:
2359 omx{audio,video}{dec,enc}: sequentially disable ports because buffers are not shared
2360 For the history, the parallel disable port has been introduced by:
2361 "00be69f omxvideodec: Disable output port when setting a new format"
2362 and then replicated to videoenc, audiodec and audioenc.
2363 This is only required to do 'parallel' if buffers are shared between ports.
2364 But for decoders and encoders the input and output buffer are of different
2365 nature by definition (bitstream vs images). So they cannot be shared.
2366 Also starting from IL 1.2.0 it is written in the spec that the parallel
2367 disable is not allowed and will return an error. Except when buffers are
2369 Again here we know in advance that they are not shared so let's always
2370 do a sequential disable.
2371 Tested on Desktop, rpi and zynqultrascaleplus.
2372 https://bugzilla.gnome.org/show_bug.cgi?id=786348
2374 2017-08-17 12:26:05 +0100 Tim-Philipp Müller <tim@centricular.com>
2377 Automatic update of common submodule
2378 From 48a5d85 to 3f4aa96
2380 2017-08-10 12:16:53 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2382 * omx/gstomxvideodec.c:
2383 omxvideodec: use the decoder API to set latency
2384 https://bugzilla.gnome.org/show_bug.cgi?id=785125
2386 2017-07-06 14:19:19 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2388 * omx/gstomxvideodec.c:
2389 * omx/gstomxvideoenc.c:
2390 omxvideoenc/dec: declare latency on zynqultrascaleplus
2391 The OMX specification doesn't provide any API to expose the latency
2392 introduced by encoders and decoders. We implemented this as a custom
2393 extension as declaring the latency is needed for live pipelines like
2395 https://bugzilla.gnome.org/show_bug.cgi?id=785125
2397 2017-08-07 13:16:01 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2399 * omx/gstomxvideoenc.c:
2400 omxvideoenc: adjust stride and slice height from input
2401 Use the stride and slice height information from the first buffer meta
2402 data to adjust the settings of the input port.
2403 This will ensure that the OMX input buffers match the GStreamer ones
2404 and so will save us from having to copy line-by-line each one.
2405 This is also the first step to allow the OMX encoder to receive dmabuf.
2406 Tested on rpi and zynqultrascaleplus.
2407 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2409 2017-08-07 11:45:29 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2411 * omx/gstomxvideoenc.c:
2412 omxvideoenc: delay buffer configuration until component is enabled
2413 No significant change for now. Just delay the input port configuration
2414 of the buffer size related fields (stride, slice height, buffer size)
2415 until the component is activated.
2416 This will allow us to use the actual stride/height of the first input
2417 and so avoid the buffer copying code path in most cases.
2418 Tested on rpi and zynqultrascaleplus.
2419 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2421 2017-07-24 13:52:35 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2423 * omx/gstomxvideodec.c:
2424 * omx/gstomxvideoenc.c:
2425 omxvideodec/enc: delay allocation after the allocation query
2426 Allocating OMX components buffers in set_format() is too early.
2427 Doing it when receiving the first buffers will allow the element to use
2428 the information from the allocation query and/or the first incoming
2429 buffer to pick to best allocation mode.
2430 Tested on raspberry pi with dynamic resolution changes on decoder and
2432 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2434 2017-07-25 14:27:45 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2436 * omx/gstomxvideoenc.c:
2437 omxvideoenc: start src thread in handle_frame()
2438 Makes the code simpler as we no longer need to restart the thread in
2439 gst_omx_video_enc_flush() and It's more symetric which the omxvideodec
2441 I'm also going to move the enabling of the OMX component in
2442 handle_frame() and the src pad thread needs to be started after it.
2443 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2445 2017-07-25 14:07:30 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2447 * omx/gstomxvideodec.c:
2448 omxvideodec: earlier return if downstream_flow_ret is not OK
2449 There is no point to (re)start the src thread if, for example, we are
2451 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2453 2017-07-24 12:31:37 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2455 * omx/gstomxvideodec.c:
2456 * omx/gstomxvideodec.h:
2457 omxvideodec: factor out enable and disable code
2458 No semantic change, just factor out the code enabling and disabling the
2459 component to their own functions.
2460 Makes the code easier to read as the set_format() method was already
2461 pretty big. Will also allow us to easily change the enabling logic.
2462 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2464 2017-07-24 12:31:37 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2466 * omx/gstomxvideoenc.c:
2467 * omx/gstomxvideoenc.h:
2468 omxvideoenc: factor out enable and disable code
2469 No semantic change, just factor out the code enabling and disabling the
2470 component to their own functions.
2471 Makes the code easier to read as the set_format() method was already
2472 pretty big. Will also allow us to easily change the enabling logic.
2473 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2475 2017-07-27 12:12:01 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2478 omx: also reset nFilledLen before calling OMX_FillThisBuffer()
2479 The spec states that the buffer passed to OMX_FillThisBuffer() needs to be
2480 empty. Some implementation may check it actually is by checking its
2481 nFilledLen field, so best to reset it as well.
2482 https://bugzilla.gnome.org/show_bug.cgi?id=785623
2484 2017-07-17 21:06:47 +0100 Julien Isorce <jisorce@oblong.com>
2486 * omx/gstomxvideodec.c:
2487 * omx/gstomxvideodec.h:
2488 omxvideodec: make generic the OMX_UseEGLImage code path
2489 Will be easier to maintain and to make enhancements.
2490 Tested with Tizonia on Desktop.
2491 Also tested with Bellagio to make sure it does not crash when
2492 calling OMX_UseEGLImage and indeed it returns NotImplemented.
2493 Then gst-omx fallback to OMX_UseBuffer if it can and so on.
2494 Also tested on rpi to make sure there is no regression.
2495 https://bugzilla.gnome.org/show_bug.cgi?id=784365
2497 2017-07-21 11:52:00 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
2499 * omx/gstomxvideodec.c:
2500 omxvideodec: Fix segment seek
2501 On segment seek, unlike EOS, we drain, but we cannot expect a flush
2502 later to reset the decoder state. As a side effect, the decoder would
2503 remain in EOS state and ignore any new incoming buffers.
2504 To fix this, we call _flush() inside the _drain() function, and
2505 _finish() becomes what _drain() was before. This way, for _finish() (the
2506 eos case) we only drain, for _drain() triggered by segment seek or new
2507 caps, we also reset the decoder state so it's ready to accept buffers.
2508 https://bugzilla.gnome.org/show_bug.cgi?id=785237
2510 2017-07-10 15:00:58 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2512 * omx/gstomxvideoenc.c:
2513 omxvideoenc: ensure enough buffers are allocated in the pool
2514 Handle allocation query and ensure enough buffers are allocated in
2515 the negotiated pool. This help preventing buffer starvation in the pipeline.
2516 https://bugzilla.gnome.org/show_bug.cgi?id=785122
2518 2017-07-04 12:16:39 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2523 * omx/gstomxbufferpool.c:
2524 * omx/gstomxbufferpool.h:
2525 * omx/gstomxvideodec.c:
2526 * omx/gstomxvideodec.h:
2528 omxvideodec: add dmabuf support for output
2529 The zynqultrascaleplus OMX implementation has a custom extension
2530 allowing decoders to output dmabuf and so avoid buffers copy between OMX
2532 Make use of this extension when built on the zynqultrascaleplus. The
2533 buffer pool code should be re-usable for other platforms as well.
2534 https://bugzilla.gnome.org/show_bug.cgi?id=784847
2536 2017-06-20 00:13:33 +0100 Julien Isorce <jisorce@oblong.com>
2538 * config/tizonia/gstomx.conf.in:
2539 config: add OMX.Aratelia.video_decoder.vp8 to Tizonia config
2540 Useful mostly for testing/debugging purpose as this is a software
2541 based encoder (libvpxdec) for which GStreamer provides a direct
2543 https://bugzilla.gnome.org/show_bug.cgi?id=783976
2545 2017-06-19 23:56:02 +0100 Julien Isorce <jisorce@oblong.com>
2547 * omx/gstomxvideodec.c:
2548 omxvideodec: handle IL 1.2 behavior for OMX_SetParameter
2549 It triggers SettingsChanged on the other port and it is up to
2550 the client to decide if it should lead to a port reconfiguration.
2551 Settings are propagated to the other port for fields they have
2552 in common. But this event is only triggered on the other port
2553 if it actually change a setting.
2554 https://bugzilla.gnome.org/show_bug.cgi?id=783976
2556 2017-07-18 23:41:17 +0100 Julien Isorce <jisorce@oblong.com>
2558 * config/tizonia/gstomx.conf.in:
2559 config: set rank to 0 for Tizonia's mp3 decoder
2560 Should have been 0 from the initial commit
2561 eed49b4231a063639f90279c8044404c2149902a
2563 2017-07-17 21:03:55 +0100 Julien Isorce <jisorce@oblong.com>
2565 * omx/gstomxvideodec.c:
2566 omxvideodec: fix file permissions
2567 Introduced by ebc9b4903cbdac2793c24b05a1bb7acc3b67fae5
2569 2017-06-29 23:17:26 +0100 Julien Isorce <jisorce@oblong.com>
2571 * omx/gstomxvideodec.c:
2572 omxvideodec: fix buffer leak when eglimage setup fails
2573 Can happen if gst_buffer_pool_acquire_buffer succeeds but
2574 gst_buffer_n_memory (buffer) is not exactly 1.
2575 In theory this should not happen because the decoder requests
2576 EGLImage(RGBA) but better to fix any leak on corner cases.
2577 https://bugzilla.gnome.org/show_bug.cgi?id=784365
2579 2017-07-17 18:36:36 +0530 Satya Prakash Gupta <sp.gupta@samsung.com>
2582 omx: Possible Memory leak in gst_caps_from_string
2583 https://bugzilla.gnome.org/show_bug.cgi?id=784978
2585 2017-07-17 15:48:44 +0530 Satya Prakash Gupta <sp.gupta@samsung.com>
2587 * omx/gstomxvideoenc.c:
2588 omxvideoenc: Fix deadlock in error case when draining
2589 https://bugzilla.gnome.org/show_bug.cgi?id=784972
2591 2017-07-17 13:44:54 +0530 Satya Prakash Gupta <sp.gupta@samsung.com>
2593 * omx/gstomxaudioenc.c:
2594 omxaudioenc: Fix deadlock in error case when draining
2595 https://bugzilla.gnome.org/show_bug.cgi?id=784967
2597 2017-06-02 12:36:30 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2602 build: include OMX_IndexExt and OMX_ComponentExt if present
2603 These files may be used by OMX implementation to define custom extensions.
2604 Include them if present as we are already doing with OMX_VideoExt.h
2605 https://bugzilla.gnome.org/show_bug.cgi?id=784847
2607 2017-07-13 16:40:26 +1000 Jan Schmidt <jan@centricular.com>
2609 * omx/gstomxh264enc.c:
2610 omxh264enc: Re-add periodicty-idr property for backward compat
2611 Retain backwards compatibility by adding a duplicate
2612 property for periodicty-idr
2613 https://bugzilla.gnome.org/show_bug.cgi?id=784370
2615 2017-06-30 15:15:06 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2617 * omx/gstomxh264enc.c:
2618 omxh264enc: fix typo in "periodicty-idr" property name
2619 Also fix the 'nick' of the property.
2620 https://bugzilla.gnome.org/show_bug.cgi?id=784370
2622 2017-06-29 22:48:47 +0100 Julien Isorce <jisorce@oblong.com>
2624 * omx/gstomxvideodec.c:
2625 * omx/gstomxvideodec.h:
2626 omxvideodec: use OMX_UseBuffer
2627 For example this allows the omx decoder to directly fill the
2628 pixmaps coming from the video sink.
2629 It only avoids a buffer copy when the decoder uses a pool provided
2630 by a downstream element. So let's restrict this usage to situations
2631 where the decoder decides to use a downstream buffer pool.
2632 Tested with Tizonia/OMX.Aratelia.video_decoder.vp8
2633 and with Bellagio/OMX.mesa.video_decoder.avc.
2634 If it fails to setup buffers with OMX_UseBuffer the decoders
2635 fallbacks to usual OMX_AllocateBuffer.
2636 Also it allows to test on desktop the GstOMXBufferPool->other_pool
2637 management which was previously only used in the OMX_UseEGLImage
2639 https://bugzilla.gnome.org/show_bug.cgi?id=784069
2641 2017-07-12 10:29:16 +0100 Julien Isorce <jisorce@oblong.com>
2644 omx: do not always print an error if OMX_{UseBuffer,EGLImage} fails
2645 Let the caller decide to print an error. Because it can be part of
2646 a normal trial path.
2647 https://bugzilla.gnome.org/show_bug.cgi?id=784069
2649 2017-07-12 16:00:53 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2652 meson: add gstomxmp3enc
2653 Commit 02d493e85921596f7cac7ef4af02fde500e9a5d8 didn't add
2654 gstomxmp3enc.c to meson.
2655 https://bugzilla.gnome.org/show_bug.cgi?id=784848
2657 2017-05-23 10:32:58 +0100 Julien Isorce <jisorce@oblong.com>
2659 * config/tizonia/gstomx.conf.in:
2660 config: add OMX.Aratelia.audio_encoder.mp3 to Tizonia config
2661 Useful mostly for testing/debugging purpose as this is a software
2662 based encoder (libmp3lame) for which GStreamer provides a direct
2664 https://bugzilla.gnome.org/show_bug.cgi?id=782988
2666 2017-05-23 10:32:06 +0100 Julien Isorce <jisorce@oblong.com>
2670 * omx/gstomxmp3enc.c:
2671 * omx/gstomxmp3enc.h:
2672 omx: add gstomxmp3enc
2673 Initial support and only tested with the software based
2674 encoder OMX.Aratelia.audio_encoder.mp3 from Tizonia which
2675 internally uses libmp3lame.
2676 https://bugzilla.gnome.org/show_bug.cgi?id=782988
2678 2017-03-28 16:27:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2680 * config/zynqultrascaleplus/gstomx.conf:
2683 * omx/gstomxh264dec.c:
2684 h264dec: add hack to pass profile and level to OMX
2685 This information can be useful to zynqultrascaleplus decoders. They may
2686 use this information to reduce startup latency by configuring itself
2687 before receiving the first frames.
2688 We also have a custom OMX extension allowing the decoder to report the
2689 latency. The profile/level information helps it reporting a more
2690 accurate latency earlier.
2691 https://bugzilla.gnome.org/show_bug.cgi?id=783114
2693 2017-07-03 13:17:11 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2696 * omx/gstomxh264enc.c:
2697 * omx/gstomxh264utils.c:
2698 * omx/gstomxh264utils.h:
2700 omxh264enc: move profile and level parsing functions to their own files
2701 Will allow to re-use them in the decoder element.
2702 https://bugzilla.gnome.org/show_bug.cgi?id=783114
2704 2017-07-04 03:15:00 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2706 * config/meson.build:
2707 * config/tizonia/meson.build:
2709 * meson_options.txt:
2710 meson: Add tizonia option
2711 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2713 2017-04-29 02:56:59 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2716 * config/tizonia/Makefile.am:
2717 * config/tizonia/gstomx.conf.in:
2718 * config/tizonia/meson.build:
2720 config: add omxmp3dec config for tizonia
2721 GST_OMX_CONFIG_DIR=$HOME/gst/master/gst-omx/config/tizonia/ \
2722 gst-launch-1.0 filesrc location=mpthreetest.mp3 ! id3demux ! \
2723 mpegaudioparse ! omxmp3dec ! audioconvert ! pulsesink
2724 v2: [Nicolas] Use template to create gstomx.conf using pkg-config
2725 v3: [Nicolas] Ignore only config/tizonia/gstomx.conf
2726 v4: [Nicolas] Add "/" for single occurence
2727 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2729 2017-05-07 20:09:54 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2732 omx: always ignore OMX_ErrorPortUnpopulated
2733 It is safe to ignore it always. Tizonia notifies this error to pass
2734 some khronos conformance tests. Problem is that gst-omx saves this
2735 error in comp->last_error and then gst_omx_port_set_enabled early
2736 error out which fails the pipeline.
2737 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2739 2017-04-29 02:53:26 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2743 omx: guard some omx enums with IL version
2744 Some enums that existed in 1.1.2 just do not exit in 1.2.0
2745 See https://www.khronos.org/registry/OpenMAX-IL/specs/OpenMAX_IL_1_2_0_Specification_redline.pdf
2746 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2748 2017-04-29 01:56:01 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2751 configure.ac: add tizonia target for --with-omx-target flag.
2752 This will check for tizilheaders.pc which adds path to omx-il
2753 headers its cflags. Can be installed all together with the 1.2 headers
2754 with package tizilheaders if not building from sources:
2755 https://github.com/tizonia/tizonia-openmax-il
2756 It is also adviced to remove libomxil-bellagio-dev package because
2757 it installs headers /usr/include directly, ex: /usr/include/OMX_Video.h.
2758 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2760 2017-07-05 10:47:41 +0100 Julien Isorce <jisorce@oblong.com>
2762 * omx/gstomxaudioenc.c:
2763 omxaudioenc: update local port_def after reopening the component
2764 gst_omx_audio_enc_open will only update GstOMXAudioEnc->port->port_def.
2765 Note that the component is reopen only if the flag
2766 GST_OMX_HACK_NO_COMPONENT_RECONFIGURE is set.
2767 https://bugzilla.gnome.org/show_bug.cgi?id=782418
2769 2017-07-05 10:48:52 +0100 Julien Isorce <jisorce@oblong.com>
2771 * omx/gstomxvideoenc.c:
2772 omxvideoenc: update local port_def after reopening the component
2773 gst_omx_video_enc_open will only update GstOMXVideoEnc->port->port_def.
2774 Note that the component is reopen only if the flag
2775 GST_OMX_HACK_NO_COMPONENT_RECONFIGURE is set.
2776 https://bugzilla.gnome.org/show_bug.cgi?id=782418
2778 2017-05-10 12:38:39 +0900 Sejun Park <sejun79.park@samsung.com>
2780 * omx/gstomxvideodec.c:
2781 omxvideodec: update local port_def after reopening the component
2782 gst_omx_video_dec_open will only update GstOMXVideoDec->port->port_def.
2783 Note that the component is reopen only if the flag
2784 GST_OMX_HACK_NO_COMPONENT_RECONFIGURE is set.
2785 https://bugzilla.gnome.org/show_bug.cgi?id=782418
2787 2017-07-03 16:33:06 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2789 * omx/gstomxvideodec.c:
2790 omxvideodec: increase the minimum number of allocated buffers
2791 Ensure that enough buffers are allocated by adding up component's own
2792 minimal plus the number of buffers requested by downstream.
2793 This should prevent buffers starvation problem if downstream elements
2794 are holding some of the buffers they required.
2795 Also simplify the check on the maximum on buffers. What we actually care
2796 about is to make sure the pool can hold the minimum of required buffers.
2797 https://bugzilla.gnome.org/show_bug.cgi?id=784479
2799 2017-07-03 10:54:50 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2801 * omx/gstomxh264enc.c:
2802 omxh264enc: raise a warning if AVCIntraPeriod is not supported
2803 Some platforms may not implement OMX_IndexConfigVideoAVCIntraPeriod and
2804 use OMX_IndexParamVideoAvc instead to configure the GOP pattern.
2805 So raise a warning instead of an error if this API is not implemented.
2806 https://bugzilla.gnome.org/show_bug.cgi?id=784379
2808 2017-06-29 14:16:19 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2810 * omx/gstomxh264enc.c:
2811 * omx/gstomxh264enc.h:
2812 omxh264enc: add 'b-frames' property
2813 Add a property to control the number of B-frames produced by the
2814 encoder using the OMX_VIDEO_PARAM_AVCTYPE OMX API.
2815 https://bugzilla.gnome.org/show_bug.cgi?id=784379
2817 2017-06-30 14:18:35 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2819 * omx/gstomxh264enc.c:
2820 omxh264enc: fix typo in 'set_avc_intra_period'
2821 https://bugzilla.gnome.org/show_bug.cgi?id=784379
2823 2017-05-22 11:23:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2825 * config/Makefile.am:
2826 * config/meson.build:
2827 * config/zynqultrascaleplus/Makefile.am:
2828 * config/zynqultrascaleplus/gstomx.conf:
2829 * config/zynqultrascaleplus/meson.build:
2832 * meson_options.txt:
2833 add 'zynqultrascaleplus' as OMX target
2834 Adding support for the 'Zynq UltraScale+' as a new OMX target.
2835 See https://www.xilinx.com/products/silicon-devices/soc/zynq-ultrascale-mpsoc.html
2836 for details about the platform.
2837 https://bugzilla.gnome.org/show_bug.cgi?id=783097
2839 2017-05-21 15:23:09 +0100 Julien Isorce <jisorce@oblong.com>
2841 * config/bellagio/gstomx.conf:
2842 config: add OMX.mesa.video_decoder.{avc,mpeg2} for Bellagio config
2843 Install libomxil-bellagio0 and make sure mesa has been built with
2844 --enable-omx. Check there is /usr/lib/libomxil-bellagio0/libomx_mesa.so
2845 then run omxregister-bellagio to regenerate $XDG_DATA_HOME/.omxregister
2846 Then omxh264dec and omxmpeg2dec should load.
2847 https://bugzilla.gnome.org/show_bug.cgi?id=782926
2849 2017-05-18 13:50:56 +0100 Julien Isorce <jisorce@oblong.com>
2852 configure.ac: move omx features check after target selection
2853 Does not change anything, except this will be useful for future commits.
2854 Indeed some targets provide a .pc file where to look for the omx headers.
2855 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2857 2017-06-29 16:48:07 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2859 * omx/gstomxh264dec.c:
2860 omxh264dec: remove 'parsed=true' from sink pad
2861 The decoder only requires to receive one frame per buffer which is
2862 already enforced with 'alignment=au'. There is no need to require to
2863 have a parser upstream.
2864 Allow to run "encode ! decode" pipeline without having a parser.
2865 https://bugzilla.gnome.org/show_bug.cgi?id=784344
2867 2017-06-16 13:28:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2869 * omx/gstomxh264enc.c:
2870 omxh264enc: set profile/level using OMX_VIDEO_PARAM_AVCTYPE as well
2871 The OMX specification defines two API to set the AVC profile and level:
2872 using OMX_VIDEO_PARAM_PROFILELEVELTYPE and OMX_VIDEO_PARAM_AVCTYPE.
2873 We were already supporting the former but not the latter. We are now
2874 setting both so implementation don't have to rely on a specific one.
2875 https://bugzilla.gnome.org/show_bug.cgi?id=783862
2877 2017-06-16 13:19:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2879 * omx/gstomxh264enc.c:
2880 omxh264enc: factor out update_param_profile_level()
2881 https://bugzilla.gnome.org/show_bug.cgi?id=783862
2883 2017-06-16 12:53:15 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2885 * omx/gstomxh264enc.c:
2886 omxh264enc: factor out string to profile/level enum conversion
2887 https://bugzilla.gnome.org/show_bug.cgi?id=783862
2889 2017-06-28 15:06:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2891 * omx/gstomxh264enc.c:
2892 omxh264enc: use OMX_IndexConfigBrcmVideoIntraPeriod on pi
2893 The OMX_VIDEO_CONFIG_AVCINTRAPERIOD.nPFrames setting isn't of any use on
2894 the raspbery pi. Instead it uses a custom extension to define the I
2896 https://bugzilla.gnome.org/show_bug.cgi?id=783829
2898 2017-06-28 15:03:52 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2900 * omx/gstomxh264enc.c:
2901 omxh264enc: factor out set_avc_intra_perdiod()
2902 https://bugzilla.gnome.org/show_bug.cgi?id=783829
2904 2017-06-02 12:48:57 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2907 meson: define HAVE_VIDEO_EXT if OMX_VideoExt.h is present
2908 Meson build wasn't defining the HAVE_VIDEO_EXT like configure.ac does.
2909 https://bugzilla.gnome.org/show_bug.cgi?id=783346
2911 2017-06-11 12:32:01 +0000 Graham Leggett <minfrin@sharp.fm>
2913 * omx/gstomxvideoenc.c:
2914 omxvideoenc: Improve debug output when setting codec state due to new codec_data fails
2915 https://bugzilla.gnome.org/show_bug.cgi?id=783657
2917 2017-05-20 14:49:20 +0100 Julien Isorce <jisorce@oblong.com>
2920 omx: allow 0 feature
2921 Previously the omx plugin was blacklisted if GST_OMX_CONFIG_DIR
2922 points to an invalid path or if the gstomx.conf contains 0 valid
2924 Problem is that once the plugin is blacklisted, a rescan is not
2925 triggered upon changes of the env var or the gstomx.conf file
2926 despite being setup with gst_plugin_add_dependency.
2927 This also makes it more consistent with other plugins that auto
2928 generate features. For example gst-{ffmeg,libav}, gstreamer-vaapi,
2930 To clarify the diff, the plugin_init func will return TRUE even if
2931 g_key_file_get_groups returns 0 element and even if
2932 g_key_file_load_from_dirs fails.
2933 https://bugzilla.gnome.org/show_bug.cgi?id=782867
2935 2017-04-26 22:52:17 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2937 * config/bellagio/gstomx.conf:
2938 config: add OMX.st.audio_decoder.mp3.mad for Bellagio config
2939 MP3 Software decoder (libmad based) but useful for testing
2940 and to compare with other targets.
2941 GST_OMX_CONFIG_DIR=$HOME/gst/master/gst-omx/config/bellagio/ \
2942 gst-launch-1.0 filesrc location=mpthreetest.mp3 ! id3demux ! \
2943 mpegaudioparse ! omxmp3dec ! audioconvert ! pulsesink
2944 Didn't add 'local' in core-name path compared to other components
2945 in that same gstomx.conf file because OMX.st.audio_decoder.mp3.mad
2946 comes with the Ubuntu package 'libomxil-bellagio0-components-mad'.
2947 All other components listed in this gstomx.conf for Bellagio, are
2948 not provided by any Ubuntu packages. It could explain the 'local',
2949 i.e. requiring to build them from source.
2950 dpkg -L libomxil-bellagio0
2951 /usr/lib/libomxil-bellagio.so.0
2952 https://bugzilla.gnome.org/show_bug.cgi?id=781786
2953 Signed-off-by: Gurkirpal Singh <gurkirpal204@gmail.com>
2954 Signed-off-by: Julien Isorce <jisorce@oblong.com>
2956 2017-05-16 14:39:04 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
2959 Remove plugin specific static build option
2960 Static and dynamic plugins now have the same interface. The standard
2961 --enable-static/--enable-shared toggle are sufficient.
2963 2017-05-10 12:10:10 +0900 Sejun Park <sejun79.park@samsung.com>
2965 * omx/gstomxvideodec.c:
2966 omxvideodec: Removed unreachable code
2967 https://bugzilla.gnome.org/show_bug.cgi?id=782416
2969 2017-05-09 16:26:44 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2972 meson: add dep on GModule
2973 libgstomx uses the GModule API and so needs it in its dependencies list.
2974 https://bugzilla.gnome.org/show_bug.cgi?id=782387
2976 2017-05-09 13:27:28 +0000 Tim-Philipp Müller <tim@centricular.com>
2979 meson: fix config.h generation
2980 "No such input file config.h.meson", but it's not needed anyway.
2981 https://bugzilla.gnome.org/show_bug.cgi?id=782382
2983 2017-05-04 18:59:33 +0300 Sebastian Dröge <sebastian@centricular.com>
2989 === release 1.12.0 ===
2991 2017-05-04 15:48:56 +0300 Sebastian Dröge <sebastian@centricular.com>
3001 === release 1.11.91 ===
3003 2017-04-27 17:53:50 +0300 Sebastian Dröge <sebastian@centricular.com>
3013 2017-04-17 17:02:48 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3015 * omx/gstomxvideoenc.c:
3016 videoenc: use GST_ROUND_UP_N() macro
3017 Makes the code much easier to read and understand.
3018 https://bugzilla.gnome.org/show_bug.cgi?id=781409
3020 2017-04-24 20:30:21 +0100 Tim-Philipp Müller <tim@centricular.com>
3023 Automatic update of common submodule
3024 From 60aeef6 to 48a5d85
3026 2017-04-10 23:51:00 +0100 Tim-Philipp Müller <tim@centricular.com>
3030 Automatic update of common submodule
3031 From 39ac2f5 to 60aeef6
3033 === release 1.11.90 ===
3035 2017-04-07 16:36:45 +0300 Sebastian Dröge <sebastian@centricular.com>
3045 2017-04-07 14:27:23 +0300 Sebastian Dröge <sebastian@centricular.com>
3047 * omx/gstomxvideoenc.c:
3048 omxvideoenc: Fix compiler warning
3049 gstomxvideoenc.c: In function ‘gst_omx_video_enc_fill_buffer’:
3050 CC libgstomx_la-gstomxaacdec.lo
3051 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=]
3052 GST_LOG_OBJECT (self, "Matched strides - direct copy %u bytes",
3054 outbuf->omx_buf->nFilledLen);
3057 2017-03-22 17:18:09 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
3060 meson: fix logic to set HAVE_THEORA
3061 https://bugzilla.gnome.org/show_bug.cgi?id=780392
3063 2017-03-14 03:02:06 +1100 Jan Schmidt <thaytan@noraisin.net>
3065 * omx/gstomxvideoenc.c:
3066 omxvideoenc: Add an unimplemented mapping for RGBA formats
3067 Add some pixel formats mappings for 2 RGBA formats. Not yet
3068 implemented in the buffer input code though, so no effect for now.
3070 2017-03-14 03:00:49 +1100 Jan Schmidt <thaytan@noraisin.net>
3074 * omx/gstomxvideoenc.c:
3075 omxvideoenc: Add GST_OMX_HACK_HEIGHT_MULTIPLE_16 for Rpi
3076 The Raspberry Pi encoder produces corrupt output unless
3077 the input height is a multiple of 16. Add a hack that adds
3078 zero padding when needed.
3080 2017-03-14 02:42:15 +1100 Jan Schmidt <thaytan@noraisin.net>
3082 * omx/gstomxvideoenc.c:
3083 omxvideoenc: Add a mapping for OMX_COLOR_FormatYUV420PackedSemiPlanar
3086 2017-03-14 02:40:24 +1100 Jan Schmidt <thaytan@noraisin.net>
3088 * omx/gstomxvideoenc.c:
3089 omxvideoenc: Filter out unimplemented formats
3090 Don't announce pixel formats in the caps if they've not been
3093 2017-03-14 02:34:36 +1100 Jan Schmidt <thaytan@noraisin.net>
3095 * omx/gstomxvideodec.c:
3096 omxvideodec: demote ERROR message
3097 There's no need to warn about failing to negotiate EGL output
3098 - that can be perfectly normal.
3100 2017-02-24 16:00:29 +0200 Sebastian Dröge <sebastian@centricular.com>
3103 meson: Update version
3105 2017-02-24 15:38:17 +0200 Sebastian Dröge <sebastian@centricular.com>
3110 === release 1.11.2 ===
3112 2017-02-24 15:10:17 +0200 Sebastian Dröge <sebastian@centricular.com>
3121 2017-02-15 18:22:53 +0000 Tim-Philipp Müller <tim@centricular.com>
3124 meson: dist meson build files
3125 Ship meson build files in tarballs, so people who use tarballs
3126 in their builds can start playing with meson already.
3128 2017-01-13 16:23:12 +0000 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
3130 * omx/gstomxaacenc.c:
3131 omxaacenc: let encoder know about incoming rate/channels
3132 https://bugzilla.gnome.org/show_bug.cgi?id=777223
3134 2017-01-18 02:43:44 +1100 Matthew Waters <matthew@centricular.com>
3136 * config/bellagio/meson.build:
3137 * config/meson.build:
3138 * config/rpi/meson.build:
3139 * examples/egl/meson.build:
3140 * examples/meson.build:
3141 * hooks/pre-commit.hook:
3143 * meson_options.txt:
3145 build: add meson build definition
3146 Currently only been tested on the RPi within gst-build.
3148 2017-01-18 15:21:35 +1100 Matthew Waters <matthew@centricular.com>
3150 * examples/egl/testegl.c:
3151 examples/testegl: update for libgstgl changes
3153 2017-01-12 16:33:09 +0200 Sebastian Dröge <sebastian@centricular.com>
3158 === release 1.11.1 ===
3160 2017-01-12 16:26:55 +0200 Sebastian Dröge <sebastian@centricular.com>
3169 2017-01-10 15:29:08 +0000 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
3171 * omx/gstomxaudioenc.c:
3172 omxaudioenc: set base class format instead of just source pad caps
3174 2016-12-18 19:46:55 +0000 Graham Leggett <minfrin@sharp.fm>
3176 * omx/gstomxaudiodec.c:
3177 * omx/gstomxvideodec.c:
3178 omx*dec: Flush before we stop the srcpad loop
3179 Flushing could otherwise hang if output port queue of pending buffers was empty
3180 https://bugzilla.gnome.org/show_bug.cgi?id=774654
3182 2016-12-14 13:29:08 -0800 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
3185 Fix broken build due to syntax error
3186 Problem was introduced by 8716c23e2b0553db2982eb84c437f493c974385e
3188 2016-12-12 11:12:48 +0000 Graham Leggett <minfrin@sharp.fm>
3191 Prevent early EOS by resetting eos flag once GST_OMX_ACQUIRE_BUFFER_EOS is triggered
3192 https://bugzilla.gnome.org/show_bug.cgi?id=774600
3194 2016-12-12 11:09:15 +0000 Graham Leggett <minfrin@sharp.fm>
3197 Add clear debug logging on all the paths out of gst_omx_port_acquire_buffer()
3198 https://bugzilla.gnome.org/show_bug.cgi?id=774600
3200 2016-12-01 18:23:50 +0100 George Kiagiadakis <george.kiagiadakis@collabora.com>
3202 * config/rpi/gstomx.conf:
3205 Add a signals-premature-eos hack for egl_render
3206 egl_render seems to have a bug and signals EOS before it has finished
3207 pushing out all data; this hack simply makes acquire_buffer() wait
3208 a bit more before signalling EOS, in case egl_render decides to spit
3210 https://bugzilla.gnome.org/show_bug.cgi?id=741856
3212 2016-12-11 19:52:37 +0000 Graham Leggett <minfrin@sharp.fm>
3214 * omx/gstomxvideo.c:
3215 Add support for OMX_COLOR_FormatYUV420PackedSemiPlanar and OMX_COLOR_Format24bitBGR888
3216 https://bugzilla.gnome.org/show_bug.cgi?id=775959
3218 2016-12-03 08:20:46 +0100 Edward Hervey <bilboed@bilboed.com>
3221 Automatic update of common submodule
3222 From ac2f647 to 39ac2f5
3224 2016-11-26 11:27:58 +0000 Tim-Philipp Müller <tim@centricular.com>
3227 common: use https protocol for common submodule
3228 https://bugzilla.gnome.org/show_bug.cgi?id=775110
3230 2016-11-25 23:56:06 +0200 Sebastian Dröge <sebastian@centricular.com>
3233 omx: Fix compiler warning with latest clang
3234 gstomx.c:1376:42: error: implicit conversion from enumeration type 'GstOMXAcquireBufferReturn' to different enumeration type 'OMX_ERRORTYPE'
3235 (aka 'enum OMX_ERRORTYPE') [-Werror,-Wenum-conversion]
3236 g_return_val_if_fail (!port->tunneled, GST_OMX_ACQUIRE_BUFFER_ERROR);
3237 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3238 https://bugzilla.gnome.org/show_bug.cgi?id=775112
3240 2016-11-17 19:56:35 +1100 Matthew Waters <matthew@centricular.com>
3242 * omx/gstomxvideodec.c:
3243 videodecoder: remove use of EGLImage orientation
3244 New code should use GstVideoTransformationMeta
3245 (The defaults do the right thing here though).
3247 === release 1.11.0 ===
3249 2016-11-01 18:53:25 +0200 Sebastian Dröge <sebastian@centricular.com>
3254 === release 1.10.0 ===
3256 2016-11-01 18:20:48 +0200 Sebastian Dröge <sebastian@centricular.com>
3265 === release 1.9.90 ===
3267 2016-09-30 13:04:51 +0300 Sebastian Dröge <sebastian@centricular.com>
3277 2016-09-14 11:33:13 +0200 Sebastian Dröge <sebastian@centricular.com>
3280 configure: Depend on gstreamer 1.9.2.1
3282 2016-09-12 14:09:46 +0200 Sebastian Dröge <sebastian@centricular.com>
3286 omx: Also search for gstomx.conf in the autoconf --sysconfdir
3287 https://bugzilla.gnome.org/show_bug.cgi?id=770743
3289 2016-09-10 20:52:10 +1000 Jan Schmidt <jan@centricular.com>
3293 Automatic update of common submodule
3294 From b18d820 to f980fd9
3296 2016-09-10 09:58:16 +1000 Jan Schmidt <jan@centricular.com>
3300 Automatic update of common submodule
3301 From ac2f647 to b18d820
3303 2016-09-01 12:36:09 +0300 Sebastian Dröge <sebastian@centricular.com>
3308 === release 1.9.2 ===
3310 2016-09-01 12:35:58 +0300 Sebastian Dröge <sebastian@centricular.com>
3320 2016-07-11 21:15:48 +0200 Stefan Sauer <ensonic@users.sf.net>
3323 Automatic update of common submodule
3324 From ac2f647 to f49c55e
3326 2016-07-06 13:51:24 +0300 Sebastian Dröge <sebastian@centricular.com>
3331 === release 1.9.1 ===
3333 2016-07-06 13:48:45 +0300 Sebastian Dröge <sebastian@centricular.com>
3343 2016-06-29 16:37:43 +0900 Kazunori Kobayashi <kkobayas@igel.co.jp>
3345 * omx/gstomxvideodec.c:
3346 omxvideodec: Use GST_VIDEO_FRAME_PLANE_STRIDE() to get output buffer's stride
3347 GST_VIDEO_FRAME_PLANE_STRIDE() should be used to get the actual buffer stride,
3348 as reported in the buffers's GstVideoMeta, when copying data to that buffer.
3349 https://bugzilla.gnome.org/show_bug.cgi?id=768173
3351 2016-06-21 11:48:40 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
3354 Automatic update of common submodule
3355 From ac2f647 to f363b32
3357 2016-06-21 11:43:13 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
3359 * omx/gstomxaudioenc.c:
3360 omxaudioenc: implement GstPreset interface
3361 To allow user to use GstPreset to quickly save and load a set of
3363 https://bugzilla.gnome.org/show_bug.cgi?id=767907
3365 2016-06-21 11:41:15 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
3367 * omx/gstomxvideoenc.c:
3368 omxvideoenc: implement GstPreset interface
3369 To allow user to use GstPreset to quickly save and load a set of
3371 https://bugzilla.gnome.org/show_bug.cgi?id=767907
3373 2016-06-17 12:06:48 +0300 Sebastian Dröge <sebastian@centricular.com>
3377 * omx/gstomxaudiodec.c:
3378 * omx/gstomxaudioenc.c:
3379 * omx/gstomxvideo.c:
3380 * omx/gstomxvideodec.c:
3381 * omx/gstomxvideoenc.c:
3382 omx: #define OMX_SKIP64BIT on the RPi as required by their API
3383 Also add generic support for OMX_SKIP64BIT to gst-omx, in case other
3384 implementations also #define that for whatever reason.
3385 https://bugzilla.gnome.org/show_bug.cgi?id=766475
3387 2016-06-17 10:59:45 +0300 Sebastian Dröge <sebastian@centricular.com>
3389 * omx/gstomxvideodec.c:
3390 omxvideodec: Implement ::drain() virtual method
3391 https://bugzilla.gnome.org/show_bug.cgi?id=767641
3393 2016-06-04 19:31:45 +0100 Tim-Philipp Müller <tim@centricular.com>
3396 configure: remove AG_GST_PARSE_SUBSYSTEM_DISABLES
3397 This would check which subsystems are disabled in core by grepping
3398 gstconfig.h. Only problem is: gstconfig.h has moved into libdir now
3399 so we've been checking a non-existent file for a while now. The
3400 macro would just sets GST_DISABLE_* for use in configure.ac and
3401 Makefile.am, but we don't use that anywhere so just get rid of it
3402 (the one place where we use GST_DISABLE_GST_DEBUG is in a .c file
3403 which gets the define from the gstconfig.h include).
3404 https://bugzilla.gnome.org/show_bug.cgi?id=750056
3406 2016-01-20 03:10:38 +0900 Gwang Yoon Hwang <yoon@igalia.com>
3408 * examples/egl/testegl.c:
3409 * omx/gstomxvideodec.c:
3410 omxvideodec : Use gstglmemoryegl for the RPi
3411 Modified to use gstglmemoryegl to avoid texture creation/copy operations
3413 [Matthew Waters]: gst-indent the sources and port testegl to GstGLMemoryEGL
3414 https://bugzilla.gnome.org/show_bug.cgi?id=760918
3416 2016-04-14 10:04:32 +0100 Julien Isorce <j.isorce@samsung.com>
3419 Automatic update of common submodule
3420 From 6f2d209 to ac2f647
3422 2016-02-26 12:42:41 +0200 Sebastian Dröge <sebastian@centricular.com>
3425 Automatic update of common submodule
3426 From b64f03f to 6f2d209
3428 2016-02-17 20:51:03 +1100 Matthew Waters <matthew@centricular.com>
3430 * examples/egl/testegl.c:
3431 examples: update egl example for gstgl API changes
3432 https://bugzilla.gnome.org/show_bug.cgi?id=762053
3433 https://bugzilla.gnome.org/show_bug.cgi?id=753917
3435 2016-02-05 18:11:06 -0300 Thiago Santos <thiagoss@osg.samsung.com>
3439 Automatic update of common submodule
3440 From 86e4663 to b64f03f
3442 2015-12-21 00:43:49 +0100 Koop Mast <kwm@rainbow-runner.nl>
3445 configure: Make -Bsymbolic check work with clang.
3446 Update the -Bsymbolic check with the version glib has. This version
3448 https://bugzilla.gnome.org/show_bug.cgi?id=759713
3450 2015-12-07 09:11:32 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
3454 Automatic update of common submodule
3455 From b319909 to 86e4663
3457 2015-11-18 13:00:28 +0000 Enrique Ocaña González <eocanha@igalia.com>
3460 Remember the last_error after a failed set state call to avoid blocking the next get state call
3461 gst_omx_video_dec_flush() blocks forever in
3462 http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomxvideodec.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n2110
3463 when the previous call to gst_omx_component_set_state() fails in
3464 http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomx.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n827.
3465 To mitigate that, I set "last_error" to true, so the code in
3466 http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomx.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n862
3467 exits early and doesn't block.
3468 https://bugzilla.gnome.org/show_bug.cgi?id=758274
3470 2015-11-18 12:59:59 +0000 Enrique Ocaña González <eocanha@igalia.com>
3472 * omx/gstomxaudiodec.c:
3473 * omx/gstomxaudioenc.c:
3474 * omx/gstomxvideodec.c:
3475 * omx/gstomxvideoenc.c:
3476 Properly handle drain requests while flushing
3477 Without this commit the decoder streaming thread stops without ever attending
3478 the drain request, leaving the decoder input thread waiting forever.
3479 https://bugzilla.gnome.org/show_bug.cgi?id=758274
3481 2015-11-10 10:42:35 +0100 Nicolas Huet <nicolas.huet@parrot.com>
3484 omx: fix hacks leak on class init
3486 2015-10-21 14:37:13 +0100 Tim-Philipp Müller <tim@centricular.com>
3489 Automatic update of common submodule
3490 From b99800a to b319909
3492 2015-10-21 14:28:41 +0300 Sebastian Dröge <sebastian@centricular.com>
3495 Automatic update of common submodule
3496 From 9aed1d7 to b99800a
3498 2015-09-01 16:08:11 -0300 Thiago Santos <thiagoss@osg.samsung.com>
3500 * omx/gstomxaacdec.c:
3501 omxaacdec: Do not accept unknown layouts
3502 It was defaulting to RAW when an unknown layout was received but
3503 the caps template would actually forbid that on the caps query
3504 or accept-caps anyway.
3506 2015-09-01 08:59:54 -0300 Thiago Santos <thiagoss@osg.samsung.com>
3508 * omx/gstomxaudiodec.c:
3509 omxaudiodec: use default pad accept-caps handling
3510 Instead of the audiodecoder one. The OMX audioo decoders have their
3511 valid input in the template pad, so just check against that to
3512 avoid doing a query downstream.
3514 2015-08-28 12:57:33 -0300 Thiago Santos <thiagoss@osg.samsung.com>
3516 * omx/gstomxvideodec.c:
3517 omxvideodec: use default pad accept-caps handling
3518 Instead of the videodecoder one. The OMX video decoders have their
3519 valid input in the template pad, so just check against that to
3520 avoid doing a query downstream.
3522 2015-08-22 15:54:55 +0000 Graham Leggett <minfrin@sharp.fm>
3524 * omx/gstomxvideoenc.c:
3525 omxvideoenc: Add keyframe support for the Rpi, using OMX_IndexConfigBrcmVideoRequestIFrame
3526 https://bugzilla.gnome.org/show_bug.cgi?id=753085
3528 2015-08-20 17:20:50 +0900 Vineeth TM <vineeth.tm@samsung.com>
3530 * examples/egl/testegl.c:
3531 gst-omx: Fix memory leaks when context parse fails
3532 When g_option_context_parse fails, context and error variables are not getting free'd
3533 which results in memory leaks. Free'ing the same.
3534 And replacing g_error_free with g_clear_error, which checks if the error being passed
3535 is not NULL and sets the variable to NULL on free'ing.
3536 https://bugzilla.gnome.org/show_bug.cgi?id=753865
3538 2015-08-16 14:53:42 +0200 Philippe Normand <philn@igalia.com>
3540 * omx/gstomxh264dec.c:
3541 omxh264dec: implement is_format_change
3542 The omxvideodecoder class only checks some of the caps parameters but if
3543 other fields change such as h264 profile and/or level it wouldn't trigger a
3545 https://bugzilla.gnome.org/show_bug.cgi?id=752376
3547 2015-07-03 00:26:48 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
3549 * omx/gstomxvideodec.c:
3550 omxvideodec: unref allocator after getting it from allocation query
3551 Otherwise a reference will be leaked for each allocator. It only happens
3552 when target platform is Raspberry Pi and when we have GL support.
3553 https://bugzilla.gnome.org/show_bug.cgi?id=751867
3555 2015-07-03 21:59:54 +0200 Stefan Sauer <ensonic@users.sf.net>
3558 Automatic update of common submodule
3559 From f74b2df to 9aed1d7
3561 2015-06-16 17:50:14 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
3564 Automatic update of common submodule
3565 From 6015d26 to f74b2df
3567 2015-06-09 11:30:49 +0200 Edward Hervey <bilboed@bilboed.com>
3570 Automatic update of common submodule
3571 From d9a3353 to 6015d26
3573 2015-06-08 23:08:28 +0200 Stefan Sauer <ensonic@users.sf.net>
3576 Automatic update of common submodule
3577 From d37af32 to d9a3353
3579 2015-06-07 23:07:22 +0200 Stefan Sauer <ensonic@users.sf.net>
3582 Automatic update of common submodule
3583 From 21ba2e5 to d37af32
3585 2015-06-07 17:32:25 +0200 Stefan Sauer <ensonic@users.sf.net>
3588 Automatic update of common submodule
3589 From c408583 to 21ba2e5
3591 2015-06-07 17:16:43 +0200 Stefan Sauer <ensonic@users.sf.net>
3595 Automatic update of common submodule
3596 From c8fb372 to c408583
3598 2015-05-19 18:21:40 +0300 Sebastian Dröge <sebastian@centricular.com>
3600 * omx/gstomxaudiodec.c:
3601 * omx/gstomxaudiodec.h:
3602 omxaudiodec: Add an output adapter for chunking the output into codec frames
3603 Otherwise the base class will be confused.
3604 See https://bugzilla.gnome.org/show_bug.cgi?id=685730
3606 2015-04-26 18:24:13 +0100 Tim-Philipp Müller <tim@centricular.com>
3610 Remove obsolete Android build cruft
3611 This is not needed any longer.
3613 2015-04-22 10:40:22 +0200 Sebastian Dröge <sebastian@centricular.com>
3617 autotools automatically generate this, and when using different versions
3618 for autogen.sh there will always be changes to a file tracked by git.
3620 2015-04-08 15:57:59 +0100 Tim-Philipp Müller <tim@centricular.com>
3626 Add m4 directory so aclocal doesn't complain in autogen.sh
3627 Might come in handy, and these warnings seem to be
3628 fatal in some environments.
3629 You may need to git clean -x -d -f your tree before
3630 git pulling/merging.
3632 2015-04-07 22:25:57 +0100 Tim-Philipp Müller <tim@centricular.com>
3636 Update autogen.sh to latest version
3638 2015-04-03 18:58:17 +0100 Tim-Philipp Müller <tim@centricular.com>
3641 Automatic update of common submodule
3642 From bc76a8b to c8fb372
3644 2015-03-06 12:12:49 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3646 * omx/gstomxaacdec.c:
3647 omxaudiodec: add comment explaining duplicate code path
3649 2015-03-06 12:09:06 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3651 * omx/gstomxaacdec.c:
3652 Revert "omxaudiodec: remove duplicate code path"
3653 This reverts commit a8d26ff27a8b43f589424a59294f9057641b2a46.
3655 2015-03-06 12:03:56 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3658 omx: handle both errors in the two steps of update_port_definition
3659 Also consider potential errors in the _get_parameter() in the return of the
3660 update_port_definition function.
3663 2015-03-06 10:57:53 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3665 * omx/gstomxaudioenc.c:
3666 omxaudioenc: impossible if statement
3667 ret is set to GST_STATE_CHANGE_SUCCESS and never touched, so it is impossible
3668 for it to be anything else at the if check. Remove the if check.
3671 2015-03-06 10:54:43 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3673 * omx/gstomxaudiodec.c:
3674 omxaudiodec: impossible if statement
3675 ret is set to GST_STATE_CHANGE_SUCCESS and never touched, so it is impossible
3676 for it to be anything else at the if check. Remove it.
3679 2015-03-06 10:50:30 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3681 * omx/gstomxaacdec.c:
3682 omxaudiodec: remove duplicate code path
3684 2014-12-19 11:19:55 +0200 George Kiagiadakis <george.kiagiadakis@collabora.com>
3687 omx: call handle_messages() only once in acquire_buffer() to avoid potential deadlock
3688 There is one rare case where calling handle_messages() more than once can cause a deadlock
3689 in the video decoder element:
3690 - sink pad thread starts the src pad task (gst_omx_video_dec_loop())
3691 - _video_dec_loop() calls gst_omx_port_acquire_buffer() on dec_out_port
3692 - blocks in gst_omx_component_wait_message() releasing comp->lock and comp->messages_lock
3693 (initially, there are no buffers configured on that port, so it waits for OMX_EventPortSettingsChanged)
3694 - the sink pad thread pushes a buffer to the decoder with gst_omx_port_release_buffer()
3695 - _release_buffer() grabs comp->lock and sends the buffer to OMX, which consumes it immediately
3696 - EmptyBufferDone gets called at this point, which signals _wait_message() to unblock
3697 - the message from EmptyBufferDone is processed in gst_omx_component_handle_messages()
3698 called from gst_omx_port_release_buffer()
3699 - gst_omx_port_release_buffer releases comp->lock
3700 - the src pad thread now gets to run, grabbing comp->lock while it exits from _wait_message()
3701 - _acquire_buffer() calls the _handle_messages() on the next line after _wait_message(),
3702 which does nothing (no pending messages)
3703 - then it goes to "retry:" and calls _handle_messages() again, which also does nothing
3704 (still no pending messages)
3705 - scheduler switches to a videocore thread that calls EventHandler, informing us about the
3706 OMX_EventPortSettingsChanged event that just arrived
3707 - EventHandler graps comp->messages_lock, but not comp->lock, so it can run in parallel at
3708 this point just fine.
3709 - scheduler switches back to the src pad thread (which is in the middle of _acquire_buffer())
3710 - the next _handle_messages() which is right before if (g_queue_is_empty (&port->pending_buffers))
3711 processes the OMX_EventPortSettingsChanged
3712 - the buffer queue is still empty, so that thread blocks again in _wait_message()
3713 - the sink pad thread tries to acquire the next input port buffer
3714 - _acquire_buffer() also blocks this thread in:
3715 if (comp->pending_reconfigure_outports) { ... _wait_message() ... }
3716 - DEADLOCK. gstreamer is waiting for omx to do something, omx waits for gstreamer to do something.
3717 By removing those extra _handle_messages() calls, we can ensure that all the checks of
3718 _acquire_buffer() will re-run. In the above case, after the scheduler switches back to
3719 the middle of _acquire_buffer(), the code will enter _wait_message(), which will see that
3720 there are pending messages and will return immediately, going back to "retry:" and
3721 re-doing all the checks properly.
3722 https://bugzilla.gnome.org/show_bug.cgi?id=741854
3724 2015-02-26 09:27:44 +0900 Wonchul Lee <chul0812@gmail.com>
3727 omx: cleanup code a bit to remove else statement
3728 https://bugzilla.gnome.org/show_bug.cgi?id=745191
3730 2015-01-12 16:13:35 +0100 Stefan Sauer <ensonic@users.sf.net>
3733 Automatic update of common submodule
3734 From f2c6b95 to bc76a8b
3736 2014-12-18 10:56:15 +0100 Sebastian Dröge <sebastian@centricular.com>
3739 Automatic update of common submodule
3740 From ef1ffdc to f2c6b95
3742 2014-11-27 17:12:42 +0100 Edward Hervey <bilboed@bilboed.com>
3745 Automatic update of common submodule
3746 From 7bb2bce to ef1ffdc
3748 2014-11-13 09:55:02 +0900 Jun Ji <jun.ji@lge.com>
3752 * omx/gstomxamrdec.c:
3753 * omx/gstomxamrdec.h:
3755 https://bugzilla.gnome.org/show_bug.cgi?id=739333
3757 2014-10-27 18:00:50 +0100 Sebastian Dröge <sebastian@centricular.com>
3760 Automatic update of common submodule
3761 From 84d06cd to 7bb2bce
3763 2014-10-21 13:03:44 +0100 Tim-Philipp Müller <tim@centricular.com>
3766 Automatic update of common submodule
3767 From a8c8939 to 84d06cd
3769 2014-10-21 13:00:10 +0200 Stefan Sauer <ensonic@users.sf.net>
3772 Automatic update of common submodule
3773 From 1f5d3c3 to a8c8939
3775 2014-09-30 10:47:20 +0300 Sebastian Dröge <sebastian@centricular.com>
3777 * omx/gstomxaudiodec.c:
3778 omxaudiodec: Clean up code a bit to get rid of useless NULL checks
3780 2014-09-30 10:50:07 +0900 junji <jun.ji@lge.com>
3782 * omx/gstomxaudiodec.c:
3783 omxaudiodec: Unmap input buffers after usage
3784 https://bugzilla.gnome.org/show_bug.cgi?id=736314
3786 2014-08-31 20:30:13 +0000 Michal Lazo <michal.lazo@mdragon.org>
3788 * omx/gstomxvideoenc.c:
3789 omxvideoenc: Setup aspect ratio on RPi
3790 Needs firmware from yesterday or newer to work with all possible
3791 aspect ratios. Before that it only supported a fixed list.
3792 https://bugzilla.gnome.org/show_bug.cgi?id=732533
3794 2014-08-28 10:44:31 +0300 Sebastian Dröge <sebastian@centricular.com>
3796 * omx/gstomxaudioenc.c:
3797 omxaudioenc: Implement the hack flag GST_OMX_HACK_NO_COMPONENT_RECONFIGURE
3799 2014-08-28 10:43:22 +0300 Sebastian Dröge <sebastian@centricular.com>
3801 * omx/gstomxaudioenc.c:
3802 omxaudioenc: Use the base class' open/close vfuncs instead of calling them ourselves
3804 2014-08-26 22:13:53 -0500 Peng Liu <pengliu.mail@gmail.com>
3806 * config/rpi/gstomx.conf:
3807 * omx/gstomxvideoenc.c:
3808 omxvideoenc: Implement the hack flag GST_OMX_HACK_NO_COMPONENT_RECONFIGURE
3809 Fix a video encoder stall problem on RPi when changing the aspect ratio.
3810 https://bugzilla.gnome.org/show_bug.cgi?id=732533
3812 2014-08-14 17:36:11 +0300 Sebastian Dröge <sebastian@centricular.com>
3814 * omx/gstomxaudiodec.c:
3815 * omx/gstomxaudiodec.h:
3816 * omx/gstomxaudioenc.c:
3817 * omx/gstomxaudioenc.h:
3818 * omx/gstomxvideodec.c:
3819 * omx/gstomxvideodec.h:
3820 * omx/gstomxvideoenc.c:
3821 * omx/gstomxvideoenc.h:
3822 omx: Let base classes handle EOS
3823 https://bugzilla.gnome.org//show_bug.cgi?id=734774
3825 2014-08-14 17:33:07 +0300 Sebastian Dröge <sebastian@centricular.com>
3827 * omx/gstomxaudiodec.c:
3828 omxaudiodec: Fix flushing logic and make it more similar to the video decoder
3830 === release 1.2.0 ===
3832 2014-07-23 11:28:12 +0200 Sebastian Dröge <sebastian@centricular.com>
3842 2014-07-22 09:23:00 +0200 Sebastian Dröge <sebastian@centricular.com>
3844 * config/bellagio/gstomx.conf:
3845 * config/rpi/gstomx.conf:
3846 config: Update ranks to PRIMARY+1 to have higher preference than avdec_*
3847 See https://bugzilla.gnome.org/show_bug.cgi?id=732161
3849 2014-07-20 17:46:30 +0200 Sebastian Dröge <sebastian@centricular.com>
3851 * omx/gstomxaudiosink.c:
3852 omxaudiosink: Set port to not flushing in prepare() and keep it at flushing in unprepare()
3853 https://bugzilla.gnome.org/show_bug.cgi?id=733168
3855 2014-07-13 22:15:18 +0200 Sebastian Dröge <sebastian@centricular.com>
3857 * omx/gstomxaacdec.c:
3858 * omx/gstomxaudiodec.c:
3859 * omx/gstomxaudiodec.h:
3860 * omx/gstomxmp3dec.c:
3861 omxaudiodec: Implement setting of fallback channel positions
3863 2014-07-13 18:22:39 +0200 Sebastian Dröge <sebastian@centricular.com>
3867 * omx/gstomxaacdec.c:
3868 * omx/gstomxaacdec.h:
3869 * omx/gstomxmp3dec.c:
3870 omx: Add AAC audio decoder
3872 2014-07-02 09:22:28 +0200 Sebastian Dröge <sebastian@centricular.com>
3874 * omx/gstomxaudiodec.c:
3875 omxaudiodec: Get PCM parameters from the out port, not the in port
3877 2014-05-15 13:24:39 +0200 Sebastian Dröge <sebastian@centricular.com>
3879 * omx/gstomxaudiodec.c:
3880 omxaudiodec: Implement hack for not disabling the output port after set_format until the output format is known
3881 Needed on some OMX implementations, e.g. the one from Atmel. It does
3882 not send the settings-changed event on the output port if it is
3885 2014-05-10 23:12:54 +0200 Sebastian Dröge <sebastian@centricular.com>
3889 * omx/gstomxaudiodec.c:
3890 * omx/gstomxaudiodec.h:
3891 * omx/gstomxmp3dec.c:
3892 * omx/gstomxmp3dec.h:
3893 omx: Add audio decoder base class and a subclass for MP3
3895 2014-07-01 09:38:01 +0200 Sebastian Dröge <sebastian@centricular.com>
3899 omx: Link to gmodule-2.0-no-export for being able to use the g_module_*() API
3900 https://bugzilla.gnome.org/show_bug.cgi?id=732518
3902 2014-06-30 15:00:54 +0200 Sebastian Dröge <sebastian@centricular.com>
3904 * examples/egl/testegl.c:
3905 examples: #define GST_USE_UNSTABLE_API for libgstgl
3907 2014-06-29 19:10:19 +0200 Sebastian Dröge <sebastian@centricular.com>
3909 * omx/gstomxh264enc.c:
3910 * omx/gstomxh264enc.h:
3911 omxh264enc: Properly accumulate headers and push before the next frame
3912 Fixes output of encoding on RPi, where each header buffer (SPS and PPS)
3913 is in a separate OMX buffer.
3914 https://bugzilla.gnome.org/show_bug.cgi?id=726669
3916 2014-06-29 19:04:54 +0200 Sebastian Dröge <sebastian@centricular.com>
3918 * omx/gstomxvideoenc.c:
3919 omxvideoenc: Implement flush() instead of the deprecated reset()
3921 2014-06-25 17:14:18 +0200 Sebastian Dröge <sebastian@centricular.com>
3923 * config/rpi/gstomx.conf:
3924 rpi: It's 44100Hz, not 41400Hz
3926 2014-06-25 11:12:51 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
3929 configure.ac: require gstgl >= 1.3.3
3931 2014-04-25 13:25:05 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
3935 example: enable testegl
3936 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
3938 2014-06-25 10:19:54 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
3940 * examples/egl/testegl.c:
3941 testegl: do matrix mutlplication in the shader
3942 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
3944 2014-06-25 09:36:38 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
3946 * examples/egl/testegl.c:
3947 testegl: add a comment for the parse command
3948 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
3950 2014-04-25 17:32:16 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
3952 * examples/egl/Makefile.am:
3953 * examples/egl/cube_texture_and_coords.h:
3954 * examples/egl/testegl.c:
3955 testegl: convert code from GLESv1 to GLESv2
3956 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
3958 2014-04-25 13:21:59 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
3960 * examples/egl/Makefile.am:
3961 * examples/egl/testegl.c:
3962 testegl: port to gstgl API
3963 - append a glfilter just before fakesink
3964 So that we get gltexture or eglimages
3965 - propagate our EGLDisplay to the pipeline
3966 see GST_QUERY_CONTEXT
3967 - share our EGLContext with the iternal gl context
3968 of the pipeline, see GST_QUERY_ALLOCATION
3969 - use GstVideoGLTextureUploadMeta to upload
3970 the incoming gltexture or eglimage to our gl texture
3971 TODO: convert from GLESv1 to GLESv2
3972 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
3974 2014-06-24 14:52:58 +0200 Sebastian Dröge <sebastian@centricular.com>
3976 * omx/gstomxbufferpool.c:
3977 * omx/gstomxbufferpool.h:
3978 * omx/gstomxvideodec.c:
3979 omxbufferpool: Copy buffers if the stride does not match and we can't use video meta
3980 https://bugzilla.gnome.org/show_bug.cgi?id=731672
3982 2014-06-24 14:52:43 +0200 Sebastian Dröge <sebastian@centricular.com>
3986 * omx/gstomxvp8dec.h:
3987 omx: Only include OMX_VideoExt.h conditionally
3988 It does not exist on the RPi for example.
3990 2014-06-24 13:59:44 +0200 Sebastian Dröge <sebastian@centricular.com>
3993 configure.ac: Require GStreamer core/base >= 1.2.2
3994 Needed at least for gst_video_decoder_release_frame().
3996 2014-06-24 13:02:13 +0200 Sebastian Dröge <sebastian@centricular.com>
3998 * omx/gstomxbufferpool.c:
3999 omxbufferpool: Fix format string compiler warning
4001 2014-06-22 21:11:45 +0000 Michal Lazo <xlazom00@gmail.com>
4003 * omx/gstomxbufferpool.c:
4004 omxbufferpool: Initialize debug category
4006 2014-06-24 12:42:22 +0200 Sebastian Dröge <sebastian@centricular.com>
4008 * omx/gstomxbufferpool.c:
4009 omxbufferpool: Properly convert OMX alignment to GStreamer alignment
4010 GStreamer uses a bitmask for the alignment while OMX uses the
4011 alignment itself. Let's convert.
4012 https://bugzilla.gnome.org/show_bug.cgi?id=710564
4014 2014-06-24 11:11:28 +0200 Sebastian Dröge <sebastian@centricular.com>
4016 * omx/gstomxh264enc.c:
4017 omxh264enc: Don't let baseclass finish frames for SPS/PPS buffers
4018 Otherwise we a) send them twice, and b) finish a frame for something
4019 that does not even include a frame.
4020 https://bugzilla.gnome.org/show_bug.cgi?id=726669
4022 2014-06-24 10:22:37 +0200 Sebastian Dröge <sebastian@centricular.com>
4024 * omx/gstomxvideo.h:
4025 omxvideo: Include the separate headers too for compatibility with 1.0.x
4027 2014-03-24 16:09:40 +0800 Zhao, Halley <halley.zhao@intel.com>
4030 * omx/gstomxvp8dec.h:
4031 omxvp8dec: use VP8 definition from OMX_VideoExt.h
4032 https://bugzilla.gnome.org/show_bug.cgi?id=726957
4034 2014-03-24 15:33:26 +0800 Zhao, Halley <halley.zhao@intel.com>
4037 configure: add --with-omx-header-path option for external omx headers
4038 https://bugzilla.gnome.org/show_bug.cgi?id=726957
4040 2014-06-18 23:04:33 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
4042 * omx/gstomxvideodec.c:
4043 omxvideodec: fix a query leak
4044 Also add a debug message if query fails.
4045 https://bugzilla.gnome.org/show_bug.cgi?id=731898
4047 2014-05-30 15:29:15 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4049 * omx/gstomxvideodec.c:
4050 omxvideodec: release frames with old PTS to avoid memory issue
4051 Interlaced stream could make the decoder use two input frames to produce
4052 one output frame causing the gstvideodecoder frame list to grow.
4053 Assuming the video decoder output frame in display order rather than in
4054 decoding order, this commit add a way to release frames with PTS less
4055 than current output frame.
4056 https://bugzilla.gnome.org/show_bug.cgi?id=730995
4058 2013-06-27 21:59:29 +0900 Kazunori Kobayashi <kkobayas@igel.co.jp>
4061 omx: Fix a missing g_free() in error path
4062 This fixes a memory leak with g_strdup() when an error occurs.
4063 https://bugzilla.gnome.org/show_bug.cgi?id=731141
4065 2014-06-02 15:34:09 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4067 * omx/gstomxvideodec.c:
4068 omxvideodec: add missing stream unlock in error path
4070 2014-05-31 15:12:05 +0200 Sebastian Dröge <sebastian@centricular.com>
4073 omx: Don't handle disabling/enabling ports exactly like flushing
4074 Otherwise we might abort a flush operation in another thread when
4075 enabling/disabling ports, leading to deadlocks sometimes.
4076 https://bugzilla.gnome.org/show_bug.cgi?id=730989
4078 2014-05-26 11:02:10 +0200 Sebastian Dröge <sebastian@centricular.com>
4080 * omx/gstomxvideodec.c:
4081 omxvideodec: Don't leak buffer pool config in error cases
4084 2014-05-21 10:53:43 +0200 Sebastian Dröge <sebastian@centricular.com>
4087 Automatic update of common submodule
4088 From 211fa5f to 1f5d3c3
4090 2014-05-19 09:10:07 +0200 Sebastian Dröge <sebastian@centricular.com>
4092 * omx/gstomxvideoenc.c:
4093 omxvideoenc: Don't forget to unref codec state
4096 2014-05-19 09:08:33 +0200 Sebastian Dröge <sebastian@centricular.com>
4098 * omx/gstomxvideodec.c:
4099 omxvideodec: Make output buffer pointer always initialized
4102 2014-05-19 09:06:42 +0200 Sebastian Dröge <sebastian@centricular.com>
4104 * omx/gstomxvideodec.c:
4105 omxvideodec: Check return value of gst_buffer_map()
4108 2014-05-19 09:04:09 +0200 Sebastian Dröge <sebastian@centricular.com>
4110 * omx/gstomxvideodec.c:
4111 omxvideodec: Check return value of gst_omx_port_set_enabled() for errors
4114 2014-05-19 09:01:46 +0200 Sebastian Dröge <sebastian@centricular.com>
4116 * omx/gstomxvideodec.c:
4117 omxvideodec: Check return values of buffer pool config parsing functions
4120 2014-05-19 08:48:50 +0200 Sebastian Dröge <sebastian@centricular.com>
4123 omx: Remove dead code, buf can never be NULL here as we just check for that the line above
4126 2014-05-19 08:47:36 +0200 Sebastian Dröge <sebastian@centricular.com>
4129 omx: Fix comparisons in gst_omx_state_to_string() case to actually make sense
4132 2014-05-19 08:45:10 +0200 Sebastian Dröge <sebastian@centricular.com>
4135 omx: Make sure to compare the error codes as unsigned integers so that comparisons >2**31 actually work
4138 2014-05-19 08:40:23 +0200 Sebastian Dröge <sebastian@centricular.com>
4141 omx: Fix comparisons in gst_omx_command_to_string() default cause to actually work
4144 2014-05-15 13:22:56 +0200 Sebastian Dröge <sebastian@centricular.com>
4146 * omx/gstomxaudioenc.c:
4147 omxaudioenc: Implement hack for not disabling the output port after set_format until the output format is known
4148 Needed on some OMX implementations, e.g. the one from Atmel. It does
4149 not send the settings-changed event on the output port if it is
4152 2014-05-15 13:21:07 +0200 Sebastian Dröge <sebastian@centricular.com>
4154 * omx/gstomxvideoenc.c:
4155 omxvideoenc: Implement hack for not disabling the output port after set_format until the output format is known
4156 Needed on some OMX implementations, e.g. the one from Atmel. It does
4157 not send the settings-changed event on the output port if it is
4160 2014-05-15 10:58:34 +0200 Sebastian Dröge <sebastian@centricular.com>
4164 * omx/gstomxvideodec.c:
4165 omx: Add a hack for not disabling the output port after set_format until the output format is known
4166 Needed on some OMX implementations, e.g. the one from Atmel. It does
4167 not send the settings-changed event on the output port if it is
4170 2014-05-12 12:33:32 +0200 Josep Torra <n770galaxy@gmail.com>
4172 * omx/gstomxaudiosink.c:
4173 omxaudiosink: implement _delay only in the RaspberryPI
4174 Make code implementation conditionally built for RaspberryPI because
4175 OMX_IndexConfigAudioRenderingLatency seems to be a Broadcom extension.
4176 On other targets the query position might not be accurate without
4177 implementing _delay appropriatelly.
4179 2014-05-12 08:56:15 +0200 Sebastian Dröge <sebastian@centricular.com>
4181 * omx/gstomxaudioenc.c:
4182 omxaudioenc: Correctly scale nTickCount by OMX_TICKS_PER_SECOND
4184 2014-05-10 22:48:23 +0200 Sebastian Dröge <sebastian@centricular.com>
4186 * omx/gstomxaudioenc.c:
4187 omxaudioenc: Drain encoder on NULL buffer and don't drain on flushing
4189 2014-05-10 22:47:56 +0200 Sebastian Dröge <sebastian@centricular.com>
4191 * omx/gstomxvideodec.c:
4192 omxvideodec: Set nTickCount based on the buffer's duration instead of something wrong
4194 2014-05-10 22:47:21 +0200 Sebastian Dröge <sebastian@centricular.com>
4196 * omx/gstomxvideoenc.c:
4197 omxvideoenc: Set nTickCount to the whole duration of the buffer instead of a wrong calculation
4199 2014-05-10 22:46:51 +0200 Sebastian Dröge <sebastian@centricular.com>
4201 * omx/gstomxaudiosink.c:
4202 omxaudiosink: Fix format string compiler warnings
4204 2014-04-04 14:11:58 +0200 Josep Torra <n770galaxy@gmail.com>
4206 * config/rpi/gstomx.conf:
4209 * omx/gstomxanalogaudiosink.c:
4210 * omx/gstomxanalogaudiosink.h:
4211 * omx/gstomxaudiosink.c:
4212 * omx/gstomxaudiosink.h:
4213 * omx/gstomxhdmiaudiosink.c:
4214 * omx/gstomxhdmiaudiosink.h:
4215 omxaudiosink: Implements OpenMAX based audio sinks
4216 Provides omxanalogaudiosink and omxhdmiaudiosink elements on
4218 - omxanalogaudiosink is capable to render raw mono or stereo audio
4219 through the jack output.
4220 - omxhdmiaudiosink is capable to render raw audio up to 8 channels
4221 and transmit ac3/dts(IEC 61937) through the HDMI output.
4222 - sinks provide a clock derived from rendered samples
4223 - sinks support the GstStreamVolume interface by implementing
4224 the volume and mute properties.
4225 https://bugzilla.gnome.org/show_bug.cgi?id=728962
4227 2014-05-03 10:17:35 +0200 Sebastian Dröge <sebastian@centricular.com>
4230 Automatic update of common submodule
4231 From bcb1518 to 211fa5f
4233 2014-04-29 15:16:16 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4235 * omx/gstomxvideodec.c:
4236 omxvideodec: can negotiate caps with memory:EGLImage feature when using EGLImage allocator
4237 Previously when using gst EGLImage allocator the caps was
4238 video/x-raw, format=RGBA instead of
4239 video/x-raw(memory:EGLImage), format=RGBA
4240 Kepp previous behavior in case negotiation fails with caps feature.
4241 It means it will still have a chance to use EGLImage even if the
4242 feature is not in the caps.
4243 https://bugzilla.gnome.org/show_bug.cgi?id=729196
4245 2014-04-23 09:57:48 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4247 * omx/gstomxvp8dec.h:
4248 omxvp8dec: fix typo in GST_TYPE_OMX_VP8_DEC define
4249 https://bugzilla.gnome.org/show_bug.cgi?id=728774
4251 2014-04-16 11:00:55 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4253 * omx/gstomxvideodec.c:
4254 omxvideodec: don't unref caps before logging field from it
4255 https://bugzilla.gnome.org/show_bug.cgi?id=728322
4257 2014-04-15 17:30:13 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4261 example: disable testegl since libgstegl has been removed
4262 As decided in bug #703343
4263 Not compatible with the new libgstgl API.
4264 A portage has been started, attachment 272800.
4265 https://bugzilla.gnome.org/show_bug.cgi?id=703343
4267 2014-04-15 17:11:08 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4269 * omx/gstomxvideodec.c:
4270 omxvideodec: use new libgstgl API since libgstegl has been removed
4271 There is no point to retrieve a ref/unref type
4272 instead of an EGLDisplay directly. It's like for EGLImage.
4273 https://bugzilla.gnome.org/show_bug.cgi?id=703343
4275 2014-04-15 17:06:38 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4278 * examples/Makefile.am:
4280 * omx/gstomxvideodec.c:
4281 configure.ac: check for libgstgl since libgstegl has been removed
4282 https://bugzilla.gnome.org/show_bug.cgi?id=703343
4284 2014-04-09 18:52:16 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4286 * omx/gstomxbufferpool.c:
4287 * omx/gstomxvideodec.c:
4288 omxvideodec: add support of more color format
4289 Add support for ABGR, ARGB, RGB16, BGR16, YUY2, UYVY, YVYU, GRAY8 and
4292 2014-04-09 18:51:57 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4294 * omx/gstomxvideodec.c:
4295 omxvideodec: simplify color format conversion in fill_buffer function
4297 2014-04-09 18:51:41 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4299 * omx/gstomxbufferpool.c:
4300 omxbufferpool: make video stride and offset calculation easier
4301 It will be easier to support more color format.
4303 2014-04-09 18:51:12 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4305 * omx/gstomxvideo.c:
4306 * omx/gstomxvideo.h:
4307 * omx/gstomxvideodec.c:
4308 omx: add an helper to convert OMX color format to GStreamer color format
4310 2014-03-10 17:43:50 +0100 Josep Torra <n770galaxy@gmail.com>
4312 * examples/egl/testegl.c:
4313 * omx/gstomxvideodec.c:
4314 omxvideodec: Implement pipeline draining to support adaptive scenarios
4315 When draining due a format change also drain
4316 the pipeline to reclaim back all buffers.
4317 https://bugzilla.gnome.org/show_bug.cgi?id=726107
4319 2014-03-27 13:57:32 +0100 Josep Torra <n770galaxy@gmail.com>
4321 * examples/egl/testegl.c:
4322 examples: fix several memory leaks in the testegl example
4323 Ensure to call to image_data_free in order to release GPU resources.
4324 Also ensure to destroy EGLImage and GLTexture from proper
4326 https://bugzilla.gnome.org/show_bug.cgi?id=726107
4328 2014-03-25 17:16:31 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
4330 * examples/egl/testegl.c:
4331 examples: keep a ref on the buffer instead of the memory
4333 https://bugzilla.gnome.org/show_bug.cgi?id=726107
4335 2014-03-07 20:08:05 +0100 Josep Torra <n770galaxy@gmail.com>
4337 * omx/gstomxvideodec.c:
4338 omxvideodec: fixes race condition during seeks
4339 Acording 6.1.3 Seek Event Sequence in the OpenMAX IL 1.1.2 spec
4340 document in order to flush the component it needs to be in
4342 https://bugzilla.gnome.org/show_bug.cgi?id=726038
4344 2014-01-29 18:31:26 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
4346 * omx/gstomxvideodec.c:
4347 omxvideodec: use flush because reset is deprecated
4348 https://bugzilla.gnome.org/show_bug.cgi?id=726038
4350 2014-01-27 17:03:50 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
4352 * omx/gstomxvideodec.c:
4353 omxvideodec: populate the most downstream output port on reset
4354 Make seeking work when using egl_render component
4355 https://bugzilla.gnome.org/show_bug.cgi?id=726038
4357 2014-03-24 17:49:59 +0100 Josep Torra <n770galaxy@gmail.com>
4359 * omx/gstomxbufferpool.c:
4360 omxbufferpool: return buffers to the pool instead of freeing them
4361 We have to return the buffers back to the pool in when stopping to
4362 not mess with the GstBufferPool accounting.
4363 The OMX buffers will be freed when those won't be in charge of the
4364 pool in the chained up call to 'stop'.
4365 Fixes segfaults on finalize and pool not being properly deactivated.
4366 https://bugzilla.gnome.org/show_bug.cgi?id=726337
4368 2014-03-19 12:12:49 +0100 Christian König <christian.koenig@amd.com>
4370 * omx/gstomxvideodec.c:
4371 omxvideodec: add missing unlock in the error path
4372 Signed-off-by: Christian König <christian.koenig@amd.com>
4373 https://bugzilla.gnome.org/show_bug.cgi?id=726958
4375 2014-03-18 23:36:59 +0100 Michal Lazo <xlazom00@gmail.com>
4377 * omx/gstomxh264enc.c:
4378 * omx/gstomxh264enc.h:
4381 2014-03-17 09:57:11 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
4383 * omx/gstomxbufferpool.c:
4384 omxbufferpool: fix memory leak if used on output port
4385 When using GstOMXBufferPool on an output port, it internally uses
4386 a GPtrArray to manage the GstBuffers instead of the default queue
4387 from the GstBufferPool base class.
4388 In this case GstBufferPool::default_free_buffer is not called when
4389 the pool is stopped. Because the queue is empty. So explicitely
4390 call gst_omx_buffer_pool_free_buffer on each buffer contained in
4392 https://bugzilla.gnome.org/show_bug.cgi?id=726337
4394 2014-03-16 17:32:05 +0100 Sebastian Dröge <sebastian@centricular.com>
4396 * omx/gstomxh264enc.c:
4397 omxh264enc: Fix compiler warnings
4399 2014-03-16 17:19:08 +0100 Michal Lazo <xlazom00@gmail.com>
4401 * omx/gstomxh264enc.c:
4402 * omx/gstomxh264enc.h:
4403 omxh264enc: IDR interval, SPS and PPS headers for rpi
4404 https://bugzilla.gnome.org/show_bug.cgi?id=720031
4406 2014-03-13 14:26:58 +0100 Christian König <christian.koenig@amd.com>
4410 * omx/gstomxvideo.c:
4411 omxvideo: fix debug category initialisation
4412 https://bugzilla.gnome.org/show_bug.cgi?id=726024
4414 2014-03-13 19:04:47 +0100 Christian König <christian.koenig@amd.com>
4416 * omx/gstomxbufferpool.h:
4417 omxbufferpool: add proper type definitions
4418 https://bugzilla.gnome.org/show_bug.cgi?id=726325
4420 2014-03-02 10:30:04 +0100 Christian König <christian.koenig@amd.com>
4423 omx: consolidate message waiting code
4424 Add a wait_message helper function and remove all those duplicated code.
4425 https://bugzilla.gnome.org/show_bug.cgi?id=725493
4427 2014-03-12 12:48:12 +0100 Sebastian Dröge <sebastian@centricular.com>
4429 * omx/gstomxvideo.c:
4430 omx: Copy old copyright notice into the new file
4432 2014-03-12 12:47:34 +0100 Sebastian Dröge <sebastian@centricular.com>
4434 * omx/gstomxvideo.c:
4435 * omx/gstomxvideo.h:
4436 * omx/gstomxvideodec.c:
4437 * omx/gstomxvideoenc.c:
4438 omx: Rename function from _4_ to _for_ for clarity
4440 2014-03-03 16:15:24 +0100 Christian König <christian.koenig@amd.com>
4443 * omx/gstomxvideo.c:
4444 * omx/gstomxvideo.h:
4445 * omx/gstomxvideodec.c:
4446 * omx/gstomxvideoenc.c:
4447 omxvideo: start sharing more code between video decoder and encoder
4448 Identical functionality spread of two different components.
4449 We can't use a common base class because of different inheritance,
4450 but let's try to share the code anyway.
4451 https://bugzilla.gnome.org/show_bug.cgi?id=726024
4453 2014-03-12 12:43:49 +0100 Sebastian Dröge <sebastian@centricular.com>
4455 * examples/egl/Makefile.am:
4456 examples: Only build RPi EGL example if RPi was chosen as target
4458 2014-03-12 12:42:23 +0100 Sebastian Dröge <sebastian@centricular.com>
4460 * omx/gstomxbufferpool.h:
4461 omxbufferpool: Fix header include guard
4463 2014-03-05 11:41:02 +0100 Christian König <christian.koenig@amd.com>
4466 * omx/gstomxbufferpool.c:
4467 * omx/gstomxbufferpool.h:
4468 * omx/gstomxvideodec.c:
4469 omxvideodec: separate the buffer pool from the decoder
4470 https://bugzilla.gnome.org/show_bug.cgi?id=726025
4472 2014-03-04 17:41:20 +0100 Christian König <christian.koenig@amd.com>
4476 * omx/gstomxvideodec.c:
4477 omx: simplify tunnel functions
4478 Specifying the component is error prone and unnecessary.
4479 https://bugzilla.gnome.org/show_bug.cgi?id=726021
4481 2014-03-07 17:12:24 +0100 Christian König <christian.koenig@amd.com>
4483 * omx/gstomxvideodec.c:
4484 omxvideodec: fix memory leak in gst_omx_video_dec_allocate_output_buffers
4485 https://bugzilla.gnome.org/show_bug.cgi?id=725907
4487 2014-03-07 13:18:49 +0100 Christian König <christian.koenig@amd.com>
4489 * omx/gstomxvideodec.c:
4490 omxvideodec: fix memory leak gst_omx_video_dec_negotiate
4491 https://bugzilla.gnome.org/show_bug.cgi?id=725907
4493 2014-03-05 18:54:05 +0100 Christian König <christian.koenig@amd.com>
4495 * omx/gstomxvideoenc.c:
4496 omxvideoenc: fix a memory leak in gst_omx_video_enc_getcaps
4497 https://bugzilla.gnome.org/show_bug.cgi?id=725826
4499 2014-03-05 17:43:33 +0100 Josep Torra <n770galaxy@gmail.com>
4502 Makefile.am: build examples
4503 There's no reason to not build the examples now that are ported to 1.x.
4505 2014-03-05 17:25:09 +0100 Josep Torra <n770galaxy@gmail.com>
4507 * examples/egl/testegl.c:
4508 examples: avoid a clashing name with the recently added GstEGLImagePool
4509 Fixes build with current master.
4511 2013-09-05 03:41:10 -0600 Christian König <christian.koenig@amd.com>
4513 * omx/gstomxvideoenc.c:
4514 omxvideoenc: simplify _find_nearest_frame
4515 Just the same as we did with the decoder. Also give the
4516 function a gst_omx_video_enc prefix to distinct it from
4517 the decoder function.
4518 https://bugzilla.gnome.org/show_bug.cgi?id=724236
4520 2013-09-05 02:23:39 -0600 Christian König <christian.koenig@amd.com>
4522 * omx/gstomxvideodec.c:
4523 omxvideodec: simplify _find_nearest_frame
4524 No need to make it more complicated and error prone than
4525 necessary. Also give the function a gst_omx_video_dec prefix
4526 to distinct it from the encoder function.
4527 https://bugzilla.gnome.org/show_bug.cgi?id=724236
4529 2013-09-05 02:05:52 -0600 Christian König <christian.koenig@amd.com>
4531 * omx/gstomxvideodec.c:
4532 omxvideodec: remove dead code
4533 This code doesn't seems to be used for quite a while,
4534 remove it before it starts to rot.
4535 https://bugzilla.gnome.org/show_bug.cgi?id=724236
4537 2014-03-01 22:28:24 +0100 Christian König <christian.koenig@amd.com>
4540 omx: fix two serious message handling bugs
4541 Waiting for the next message if we already got one
4542 is nonsense and can lead to lockups.
4543 https://bugzilla.gnome.org/show_bug.cgi?id=725468
4545 2014-03-01 18:49:41 +0100 Christian König <christian.koenig@amd.com>
4547 * omx/gstomxvideoenc.c:
4548 omxvideoenc: fix startup race condition
4549 The reset function shouldn't start the src pad
4550 loop if it wasn't started before.
4551 Signed-off-by: Christian König <christian.koenig@amd.com>
4553 2014-03-01 18:48:17 +0100 Christian König <christian.koenig@amd.com>
4555 * omx/gstomxvideodec.c:
4556 omxvideodec: fix startup race condition
4557 The reset function shouldn't start the src pad
4558 loop if it wasn't started before.
4559 Signed-off-by: Christian König <christian.koenig@amd.com>
4561 2014-02-28 09:36:13 +0100 Sebastian Dröge <sebastian@centricular.com>
4564 Automatic update of common submodule
4565 From fe1672e to bcb1518
4567 2014-02-26 22:15:00 +0100 Stefan Sauer <ensonic@users.sf.net>
4570 Automatic update of common submodule
4571 From 1a07da9 to fe1672e
4573 2014-01-30 10:45:18 +0100 Edward Hervey <bilboed@bilboed.com>
4576 Automatic update of common submodule
4577 From d48bed3 to 1a07da9
4579 2014-01-25 17:44:14 +0100 Sebastian Dröge <sebastian@centricular.com>
4581 * omx/gstomxaudioenc.c:
4582 * omx/gstomxvideodec.c:
4583 * omx/gstomxvideoenc.c:
4584 omx: Don't handle FLUSHING and NOT_LINKED as errors
4585 Also don't stop the task on NOT_LINKED. We're not a demuxer.
4587 2013-12-22 22:35:31 +0000 Tim-Philipp Müller <tim@centricular.com>
4590 Automatic update of common submodule
4591 From dbedaa0 to d48bed3
4593 2013-11-05 11:22:02 +0000 Tim-Philipp Müller <tim@centricular.com>
4596 Automatic update of common submodule
4597 From 865aa20 to dbedaa0
4599 2013-09-28 13:32:37 +0200 Josep Torra <n770galaxy@gmail.com>
4601 * examples/egl/testegl.c:
4602 examples: simplify the thread synchronization code
4603 Make everithing more simple and fix the races conditions remaining in
4604 the previous approaches.
4606 2013-09-25 19:17:17 +0200 Sebastian Dröge <slomo@circular-chaos.org>
4608 * config/rpi/gstomx.conf:
4609 rpi: The WMV/VC1 decoder can only do WMV9 and VC1, no older versions
4611 2013-09-24 18:34:42 +0100 Tim-Philipp Müller <tim@centricular.net>
4614 Automatic update of common submodule
4615 From 6b03ba7 to 865aa20
4617 2013-09-24 18:48:24 +0200 Josep Torra <n770galaxy@gmail.com>
4619 * examples/egl/testegl.c:
4620 examples: fix another race condition
4621 Fix a race condition that caused randome deadlocks on EOS.
4623 2013-09-20 17:19:53 +0200 Josep Torra <n770galaxy@gmail.com>
4625 * config/rpi/gstomx.conf:
4626 rpi: fix a copy paste error in the config file
4628 2013-09-20 17:09:52 +0200 Josep Torra <n770galaxy@gmail.com>
4630 * examples/egl/testegl.c:
4631 examples: fix a race condition when seeking
4632 Fixes a race condition that caused pipeline deadlock during seeks.
4634 2013-09-20 10:38:12 +0200 Josep Torra <n770galaxy@gmail.com>
4636 * examples/egl/testegl.c:
4637 examples: display QoS statistics
4639 2013-09-20 09:34:37 +0200 Josep Torra <n770galaxy@gmail.com>
4641 * examples/egl/testegl.c:
4642 examples: use dedicated thread for rendering the scene
4643 Produces smother animation and prevents dropping frames due busy
4646 2013-09-20 08:25:21 +0200 Josep Torra <n770galaxy@gmail.com>
4648 * examples/egl/testegl.c:
4649 examples: don't force an specific audio sink
4650 Let playbin2 choose the audiosink available in the system.
4652 2013-09-20 08:19:48 +0200 Josep Torra <n770galaxy@gmail.com>
4654 * examples/egl/Makefile.am:
4655 examples: drop remnants of initial appsink attempt
4657 2013-09-20 16:18:18 +0200 Edward Hervey <edward@collabora.com>
4660 Automatic update of common submodule
4661 From b613661 to 6b03ba7
4663 2013-09-19 18:45:36 +0100 Tim-Philipp Müller <tim@centricular.net>
4666 Automatic update of common submodule
4667 From 74a6857 to b613661
4669 2013-09-19 17:38:30 +0100 Tim-Philipp Müller <tim@centricular.net>
4672 Automatic update of common submodule
4673 From 01a7a46 to 74a6857
4675 2013-08-20 16:00:07 +0100 Tim-Philipp Müller <tim@centricular.net>
4678 * omx/gstomxvideodec.c:
4679 omx: don't use the 'z' modifier to print size_t
4680 gcc will warn in some cases even if the size of the type
4681 is exactly that of size_t on the platform.
4682 https://bugzilla.gnome.org/show_bug.cgi?id=699008
4684 2013-07-01 15:48:47 +0200 Roman Arutyunyan <arutyunyan.roman@gmail.com>
4686 * omx/gstomxvideoenc.c:
4687 gstomxvideoenc: Set bitrate in setcaps
4688 Otherwise it gets lost whenever we configure new caps
4689 https://bugzilla.gnome.org/show_bug.cgi?id=698049
4691 2013-06-30 18:17:05 +0700 Ilya Smelykh <ilya@videoexpertsgroup.com>
4693 * examples/egl/testegl.c:
4694 examples: enable audio in testegl example
4696 2013-06-12 09:38:22 +0200 Sebastian Dröge <slomo@circular-chaos.org>
4699 configure: Allow build without gstreamer-egl
4701 2013-06-07 12:39:18 +0700 Ilya Smelykh <ilya@videoexpertsgroup.com>
4703 * examples/egl/Makefile.am:
4704 * examples/egl/testegl.c:
4705 examples: testegl example port to 1.x
4706 https://bugzilla.gnome.org/show_bug.cgi?id=701706
4708 2013-06-05 15:17:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4711 Automatic update of common submodule
4712 From 098c0d7 to 01a7a46
4714 2013-05-20 12:06:34 +0200 Josep Torra <n770galaxy@gmail.com>
4716 * omx/gstomxaudioenc.c:
4717 * omx/gstomxvideodec.c:
4718 * omx/gstomxvideoenc.c:
4719 omx: Take lock on EOS to update the flow return value
4720 Fixes "GThread-ERROR **: file gthread-posix.c: line 171
4721 (g_mutex_free_posix_impl): error 'Device or resource busy' during
4722 'pthread_mutex_destroy ((pthread_mutex_t *) mutex)'" in _finalize.
4724 2013-05-15 10:54:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4727 Automatic update of common submodule
4728 From 5edcd85 to 098c0d7
4730 2013-04-11 17:35:19 +0200 Josep Torra <n770galaxy@gmail.com>
4734 * examples/Makefile.am:
4735 * examples/egl/Makefile.am:
4736 * examples/egl/cube_texture_and_coords.h:
4737 * examples/egl/testegl.c:
4738 examples: add an example aplication based OpenGL ES + EGL
4739 Application that shows how to integrate playbin with an OpenGL ES
4740 scene through EGL. Renders a video on the surfaces of an animated cube.
4741 The code is not ported to 1.x so it's not built by default.
4743 2013-05-10 12:25:07 +0200 Josep Torra <n770galaxy@gmail.com>
4745 * omx/gstomxvideodec.c:
4746 omxvideodec: Redesign video size change reconfiguration code
4747 Ensure stop the decoder before clossing the tunnel.
4749 2013-05-06 16:25:27 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4752 Makefile.am: Add -I common/m4
4753 This allows autoreconf to work correctly and automatic regeneration
4754 of autotools files if something changed.
4756 2013-05-06 19:03:59 +0530 jitendra <jvarshney20@gmail.com>
4760 * omx/gstomxaudioenc.c:
4761 * omx/gstomxvideodec.c:
4762 * omx/gstomxvideoenc.c:
4763 omx: Add pads based on element type
4764 This allows to later add sources and sink that only have a srcpad
4766 https://bugzilla.gnome.org/show_bug.cgi?id=699754
4768 2013-04-27 02:50:25 +0200 Carlos Rafael Giani <dv@pseudoterminal.org>
4771 omx: fixed type error in printf call
4773 https://bugzilla.gnome.org/show_bug.cgi?id=699008
4775 2013-04-08 17:26:16 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4779 * omx/gstomxvideodec.c:
4780 Check for gstreamer-egl
4781 And don't use if not available.
4782 https://bugzilla.gnome.org/show_bug.cgi?id=697574
4784 2013-04-23 09:53:18 +0100 Tim-Philipp Müller <tim@centricular.net>
4787 configure: error out if no OMX target has been set explicitly with --with-omx-target=x
4788 Avoids people building for e.g. the Raspberry Pi and then wondering
4789 why things don't work as expected (since structs are packed differently
4792 2013-04-22 23:55:03 +0100 Tim-Philipp Müller <tim@centricular.net>
4795 Automatic update of common submodule
4796 From 3cb3d3c to 5edcd85
4798 2013-04-18 22:07:28 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4801 * omx/gstomxaudioenc.c:
4802 * omx/gstomxh263enc.c:
4803 * omx/gstomxh264enc.c:
4804 * omx/gstomxmpeg4videoenc.c:
4805 * omx/gstomxvideodec.c:
4806 * omx/gstomxvideoenc.c:
4807 omx: more printf format fixes
4808 Fix printf formats again, so that gst-omx compiles warning-
4809 free on the Raspberry Pi as well. Unfortunately OMX_UINT32
4810 maybe be typedefed to uint32_t or unsigned long, which
4811 doesn't work well with our debugging printf format strings,
4812 so just use %u for those and cast to guint.
4814 2013-04-18 16:40:06 +0200 Josep Torra <n770galaxy@gmail.com>
4817 omx: fixes unused variable 'comp' when GStreamer is built without debug
4819 2013-04-18 16:03:56 +0200 Josep Torra <n770galaxy@gmail.com>
4821 * omx/gstomxvideodec.c:
4822 omxvideodec: don't use 'self->dec_out_port' anymore and use just 'port'
4823 Fixes some criticals.
4825 2013-04-18 15:21:32 +0200 Josep Torra <n770galaxy@gmail.com>
4827 * omx/gstomxvideodec.c:
4828 omxvideodec: fixes 'port' may be used uninitialized in this function
4830 2013-04-18 12:03:31 +0200 Josep Torra <n770galaxy@gmail.com>
4832 * omx/gstomxvideodec.c:
4833 omxvideodec: silence warnings building for RPI related to 'vcos_*'
4835 2013-04-18 11:19:52 +0200 Josep Torra <n770galaxy@gmail.com>
4837 * omx/gstomxvideodec.c:
4838 omxvideodec: Use new type from libgstvideo
4840 2013-04-16 14:50:49 +0530 jitendra <jvarshney20@gmail.com>
4842 * omx/gstomxaudioenc.c:
4843 * omx/gstomxvideodec.c:
4844 * omx/gstomxvideoenc.c:
4845 omx: Disable output port before transition to idle state
4846 https://bugzilla.gnome.org/show_bug.cgi?id=698109
4848 2012-10-24 12:19:41 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4851 gst: Add better support for static plugins
4853 2013-04-14 17:57:34 +0100 Tim-Philipp Müller <tim@centricular.net>
4856 Automatic update of common submodule
4857 From aed87ae to 3cb3d3c
4859 2013-04-12 17:58:30 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4862 configure: add --disable-fatal-warnings for disabling -Werror
4864 2013-04-09 21:02:09 +0200 Stefan Sauer <ensonic@users.sf.net>
4867 Automatic update of common submodule
4868 From 04c7a1e to aed87ae
4870 2013-04-08 17:02:32 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4873 * omx/gstomxaudioenc.c:
4874 * omx/gstomxh263enc.c:
4875 * omx/gstomxh264enc.c:
4876 * omx/gstomxmpeg4videoenc.c:
4877 * omx/gstomxvideodec.c:
4878 * omx/gstomxvideoenc.c:
4879 omx: fix printf formats in debug messages
4880 OMX_U32 is typedefed to an unsigned long,
4881 OMX_TICKS to a 64-bit integer.
4883 2013-04-08 16:52:19 +0200 Josep Torra <n770galaxy@gmail.com>
4885 * omx/gstomxvideodec.c:
4886 omxvideodec: use the correct printf format in a debug message
4888 2013-04-08 16:31:33 +0200 Josep Torra <n770galaxy@gmail.com>
4890 * omx/gstomxvideodec.c:
4891 omxvideodec: use the correct OMX_IndexParam value
4892 Fixes playback is not smooth in the EGL path.
4894 2013-04-05 13:45:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4896 * omx/gstomxvideodec.c:
4897 omxvideodec: Don't use API that is not in master yet
4898 It's not really needed here yet, will be needed in future versions
4900 2013-02-25 11:55:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4906 * omx/gstomxvideodec.c:
4907 * omx/gstomxvideodec.h:
4908 omxvideodec: Add support for egl_render on RPi
4910 2013-03-22 19:26:54 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4915 2013-03-22 19:23:14 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4917 * omx/gstomxh263enc.c:
4918 * omx/gstomxh264enc.c:
4919 * omx/gstomxmpeg4videoenc.c:
4920 omx: fix compiler warnings when compiling with -DG_DISABLE_ASSERT
4921 As we do for releases. Fixes 'variable may be used uninitialized'
4924 === release 1.0.0 ===
4926 2013-03-22 17:16:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4937 2013-03-19 16:40:09 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
4939 * omx/gstomxtheoradec.h:
4940 * omx/gstomxvp8dec.h:
4941 omx: fix typo in copyright headers
4943 2013-03-19 13:46:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4945 * config/rpi/gstomx.conf:
4946 rpi: Fix commit that added the VC1 decoder
4948 2013-03-19 13:27:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4950 * config/rpi/gstomx.conf:
4951 * omx/gstomxh263dec.c:
4952 * omx/gstomxh264dec.c:
4953 * omx/gstomxmjpegdec.c:
4954 * omx/gstomxmpeg2videodec.c:
4955 * omx/gstomxmpeg4videodec.c:
4956 * omx/gstomxtheoradec.c:
4957 * omx/gstomxvideodec.c:
4958 * omx/gstomxvp8dec.c:
4959 * omx/gstomxwmvdec.c:
4960 omx: Add more constraints to the default sink template caps
4962 2013-03-19 13:10:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4964 * config/rpi/gstomx.conf:
4965 rpi: Add VC1/WMV3 decoder
4966 WMV2 and WMV1 (aka WMV 1-8) are not supported by RPi.
4968 2013-03-19 12:59:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4970 * config/rpi/gstomx.conf:
4971 rpi: Add MJPEG decoder
4973 2013-03-19 12:56:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4975 * config/rpi/gstomx.conf:
4976 rpi: Add VP8 decoder
4978 2013-03-19 12:55:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4980 * omx/gstomxvideodec.c:
4981 omxvideodec: Set ENDOFFRAME flag for the end of frames
4983 2013-03-19 12:28:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4985 * config/rpi/gstomx.conf:
4986 rpi: Add Theora decoder to the config
4988 2013-03-19 09:36:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4993 * omx/gstomxtheoradec.c:
4994 * omx/gstomxtheoradec.h:
4995 omx: Add Theora decoder
4997 2013-03-18 16:43:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5000 omx: Remove additional comma
5002 2013-03-18 16:34:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5004 * config/rpi/gstomx.conf:
5007 * omx/gstomxmpeg2dec.h:
5008 * omx/gstomxmpeg2videodec.c:
5009 * omx/gstomxmpeg2videodec.h:
5010 omx: Rename MPEG2 decoder for consistency everywhere
5012 2013-03-18 16:30:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5016 * omx/gstomxmjpegdec.c:
5017 * omx/gstomxmjpegdec.h:
5018 omx: Add MJPEG decoder support
5020 2013-03-18 16:06:54 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5025 * omx/gstomxvp8dec.c:
5026 * omx/gstomxvp8dec.h:
5027 omx: Add VP8 decoder support
5029 2013-03-18 15:44:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5031 * config/rpi/gstomx.conf:
5032 rpi: Add h263 decoder and rename MPEG2 decoder for consistency
5034 2013-03-16 13:20:27 +0000 Tim-Philipp Müller <tim@centricular.net>
5036 * omx/gstomxmpeg2dec.c:
5037 omxmpeg2dec: mpeg-2 decoder should be able to handle mpeg-1 too
5038 https://bugzilla.gnome.org/show_bug.cgi?id=695879
5040 2013-03-16 10:13:06 +0100 Josep Torra <n770galaxy@gmail.com>
5043 omx: minor stylistic change for consistency with other similar code
5045 2013-03-16 10:00:24 +0100 Josep Torra <n770galaxy@gmail.com>
5047 * omx/gstomxaudioenc.c:
5048 * omx/gstomxvideodec.c:
5049 * omx/gstomxvideoenc.c:
5050 omx: Clarify that loop task is also paused in EOS
5052 2013-03-16 09:59:01 +0100 Josep Torra <n770galaxy@gmail.com>
5054 * omx/gstomxvideoenc.c:
5055 omxvideoenec: Don't forget propagate flow return value upstream
5057 2013-03-15 13:16:39 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5060 omx: improve debug logging some more
5062 2013-03-15 14:09:45 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5064 * omx/gstomxvideodec.c:
5065 omxvideodec: Make sure that the first frame we pass to OpenMAX is a sync frame
5067 2013-03-15 11:46:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5069 * omx/gstomxaudioenc.c:
5070 * omx/gstomxvideodec.c:
5071 * omx/gstomxvideoenc.c:
5072 omx: Stop output port task after draining
5074 2013-03-15 10:58:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5077 omx: Reset EOS flag in more places
5079 2013-03-15 10:38:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5081 * omx/gstomxvideodec.c:
5082 omxvideodec: Deallocate output buffers with the right function
5084 2013-03-15 01:06:05 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5088 omx: log commands as strings
5089 Makes logs easier to read.
5091 2013-03-15 00:47:47 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5095 omx: log states as strings
5097 2013-03-15 00:28:02 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5101 omx: log component name in debug messages
5102 Useful when we have more different components
5103 active at the same time.
5105 2013-03-15 09:51:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5107 * omx/gstomxvideodec.c:
5108 omxvideodec: Don't interpolate timestamps
5109 We will get exactly one frame per input buffer and assigning
5110 timestamps between frames if more than one OMX buffer is required
5111 per frame easily confuses timestamp tracking in OMX.
5113 2013-03-15 09:32:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5115 * omx/gstomxvideodec.c:
5116 omxvideodec: Give the codec_data the timestamp of the first frame and no duration
5118 2013-03-14 17:31:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5120 * config/rpi/gstomx.conf:
5121 omx: The MPEG4 encoder is not available on RPi and probably never will
5123 2013-03-14 17:26:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5126 omx: Reset some more buffer fields as required
5128 2013-03-14 17:01:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5130 * config/rpi/gstomx.conf:
5132 omx: The hack to disable usage of EOS buffers is not necessary anymore on RPi
5134 2013-03-14 17:00:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5137 omx: Reset the flags for output ports when releasing a buffer, not for input ports
5139 2013-03-14 15:03:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5141 * omx/gstomxh263enc.c:
5142 * omx/gstomxh264enc.c:
5143 * omx/gstomxmpeg4videoenc.c:
5144 omx: Only unref caps after usage of its fields
5146 2013-03-14 14:51:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5148 * omx/gstomxvideodec.c:
5149 omxvideodec: Simplify bufferpool implementation
5151 2013-03-13 13:23:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5153 * omx/gstomxvideodec.c:
5154 omxvideodec: Improve min/max buffer counts handling
5156 2013-03-14 12:49:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5160 * omx/gstomxaudioenc.c:
5161 * omx/gstomxvideodec.c:
5162 * omx/gstomxvideoenc.c:
5163 omx: Handle the OMX_EventBufferFlag to detect EOS too
5165 2013-03-13 10:29:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5169 omx: Mark OpenMAX buffers as EGLImage if they contain one
5170 Needs special handling in some places, e.g. because nFilledLen
5173 2013-03-13 10:21:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5175 * omx/gstomxvideoenc.c:
5176 omxvideoenc: Properly check the nVersion field
5178 2013-03-13 09:34:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5180 * omx/gstomxvideoenc.c:
5181 omxvideoenc: RPi returns garbage for OMX_IndexParamVideoBitrate, work around that
5183 2013-03-12 20:02:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5185 * omx/gstomxvideodec.c:
5186 omxvideodec: Make sure to always get the right buffer
5188 2013-03-12 19:35:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5190 * omx/gstomxvideodec.c:
5191 omxvideodec: Make sure the buffer is released to the pool if it's not the one we wanted
5193 2013-03-12 19:17:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5195 * omx/gstomxvideodec.c:
5196 omxvideodec: Drop too late frames instead of finishing them
5198 2013-03-12 19:16:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5200 * omx/gstomxvideodec.c:
5201 omx: Release buffers to the correct port
5203 2013-03-13 09:37:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5206 omx: Always load the OpenMAX IL cores with G_MODULE_BIND_LOCAL
5208 2013-03-12 18:20:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5211 omx: Lazy-load symbols of libbcm_host.so
5212 It exports eglIntOpenMAXILDoneMarker(), which is also
5213 exported by libopenmaxil.so... but we need the version
5214 from libopenmaxil.so as the other one is just a stub.
5216 2013-03-11 13:59:15 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5218 * omx/gstomxaacenc.c:
5219 * omx/gstomxh263enc.c:
5220 * omx/gstomxmpeg4videoenc.c:
5221 omx: Don't set profile/level in other encoders if downstream caps don't specify any
5223 2013-03-11 13:49:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5225 * omx/gstomxh264enc.c:
5226 omxh264enc: If caps specify no profile/level use the component's defaults
5228 2013-03-11 13:45:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5230 * omx/gstomxvideoenc.c:
5231 omxvideoenc: Always allocate output buffers from the loop function
5233 2013-03-11 13:12:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5235 * omx/gstomxh264enc.c:
5236 omxh264enc: The h264 encoders are supposed to output byte-stream/au
5238 2013-03-11 11:47:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5240 * omx/gstomxvideoenc.c:
5241 omxvideoenc: Wait until the Executing state is reached before passing buffers to the component
5243 2013-03-11 10:39:25 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5245 * omx/gstomxvideodec.c:
5246 omxvideodec: Don't provide buffers to downstream
5247 This only works reliable if we have a way to tell downstream to
5248 release all our buffers for reconfiguration.
5250 2013-03-11 10:29:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5252 * omx/gstomxaudioenc.c:
5253 omxaudioenc: Disable output port when setting a new format
5255 2013-03-11 10:29:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5257 * omx/gstomxvideoenc.c:
5258 omxvideoenc: Disable output port when setting a new format
5260 2013-03-11 10:22:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5262 * omx/gstomxvideodec.c:
5263 omxvideodec: Disable output port when setting a new format
5264 Based on a patch by Josep Torra <n770galaxy@gmail.com>
5266 2013-03-11 10:04:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5268 * omx/gstomxaudioenc.c:
5269 * omx/gstomxvideodec.c:
5270 * omx/gstomxvideoenc.c:
5271 omx: Catch errors when releasing buffers to a port and handle them
5273 2013-03-10 12:09:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5275 * omx/gstomxvideoenc.c:
5276 omxvideoenc: Use the correct video codec state when filling an input buffer
5278 2013-03-10 12:05:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5280 * omx/gstomxvideoenc.c:
5281 omxvideoenc: Store correct input state
5283 2013-03-10 11:27:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5285 * omx/gstomxvideoenc.c:
5286 omxvideoenc: Allocate output buffers as early as possible
5288 2013-03-10 11:01:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5291 omx: Log unknown events
5293 2013-03-09 14:14:40 +0100 Josep Torra <n770galaxy@gmail.com>
5295 * omx/gstomxaudioenc.c:
5296 * omx/gstomxvideodec.c:
5297 * omx/gstomxvideoenc.c:
5298 omx: Fix deadlock in encoders and add explainatory comments.
5300 2013-03-09 13:27:08 +0100 Josep Torra <n770galaxy@gmail.com>
5302 * omx/gstomxvideodec.c:
5303 omxvideodec: fix printf format identifier
5305 2013-03-09 13:07:59 +0100 Josep Torra <n770galaxy@gmail.com>
5307 * omx/gstomxvideodec.c:
5308 omx: Minor changes on debuging info
5310 2013-03-09 13:00:33 +0100 Josep Torra <n770galaxy@gmail.com>
5312 * omx/gstomxvideodec.c:
5313 omxvideodec: avoid a deadlock
5315 2013-03-08 15:56:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5317 * omx/gstomxvideodec.c:
5318 omxvideodec: Don't forget to populate output port
5320 2013-03-08 15:11:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5322 * omx/gstomxaudioenc.c:
5323 * omx/gstomxvideodec.c:
5324 * omx/gstomxvideoenc.c:
5325 omx: Flush and stop srcpad when configuring new caps
5327 2013-03-07 17:40:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5329 * config/rpi/gstomx.conf:
5331 Revert "omx: use no-component-reconfigure hack on the Raspberry PI"
5332 This reverts commit e123b2089f69a413241f30a2428ea6edd8f231e7.
5333 It's not required anymore after the fix from the last commit.
5335 2013-03-07 17:38:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5337 * omx/gstomxvideodec.c:
5338 omxvideodec: Only negotiate a color format with downstream on the initial caps
5340 2013-03-07 17:29:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5342 * omx/gstomxvideodec.c:
5343 omxvideodec: Make sure the output port is disabled while we allocate buffers
5345 2013-03-07 17:27:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5348 omx: Also wait for disabled output ports to be reconfigured
5350 2013-03-07 14:10:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5352 * omx/gstomxvideodec.c:
5353 * omx/gstomxvideodec.h:
5354 omxvideodec: Add buffer pool for sharing OpenMAX memory with downstream
5356 2013-03-07 11:11:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5360 * omx/gstomxaudioenc.c:
5361 * omx/gstomxvideodec.c:
5362 * omx/gstomxvideoenc.c:
5363 omx: Add timeout to the flush operation and move buffer populating to a separate function
5365 2013-03-06 17:33:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5367 * config/rpi/gstomx.conf:
5370 omx: Remove min buffer count hack for RPi again
5371 It's not necessary anymore
5373 2013-03-06 17:05:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5377 * omx/gstomxaudioenc.c:
5378 * omx/gstomxvideodec.c:
5379 * omx/gstomxvideoenc.c:
5380 omx: Do number of buffers configuration explicitely
5382 2013-03-07 11:24:54 +0100 Josep Torra <n770galaxy@gmail.com>
5384 * omx/gstomxvideodec.c:
5385 omxvideodec: fixes reconfiguration
5386 Avoid having fixed fields from previous caps on reconfiguration.
5388 2013-03-07 11:02:39 +0100 Josep Torra <n770galaxy@gmail.com>
5390 * config/rpi/gstomx.conf:
5392 omx: use no-component-reconfigure hack on the Raspberry PI
5394 2013-03-07 00:03:28 +0000 Tim-Philipp Müller <tim@centricular.net>
5397 Automatic update of common submodule
5398 From 2de221c to 04c7a1e
5400 2013-03-01 15:32:47 +0100 Josep Torra <n770galaxy@gmail.com>
5402 * omx/gstomxvideoenc.h:
5403 omxvideoenc: drop unused data member
5405 2013-03-01 12:23:54 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5407 * omx/gstomxh263enc.c:
5408 * omx/gstomxh264enc.c:
5409 * omx/gstomxmpeg4videoenc.c:
5410 omxvideoenc: And set it actually on the right port
5412 2013-03-01 12:18:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5414 * omx/gstomxh263enc.c:
5415 * omx/gstomxh264enc.c:
5416 * omx/gstomxmpeg4videoenc.c:
5417 omxvideoenc: Set the coding type in the subclasses to the specific codec
5419 2013-03-01 11:49:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5421 * omx/gstomxvideoenc.c:
5422 omxvideoenc: gst_omx_port_update_port_definition() returns a OMX_ERRORTYPE, not a gboolean
5424 2013-03-01 11:44:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5426 * omx/gstomxvideodec.c:
5427 * omx/gstomxvideoenc.c:
5428 omxvideo{dec,enc}: Don't use the input state if it wasn't set yet
5430 2013-03-01 11:25:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5432 * omx/gstomxaudioenc.c:
5433 omxaudioenc: Only enable the output port after we know the output format
5435 2013-03-01 11:24:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5437 * omx/gstomxvideoenc.c:
5438 omxvideoenc: Only enable the output port after we know the output format
5440 2013-02-28 17:02:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5442 * omx/gstomxvideodec.c:
5443 omxvideodec: Only enable the output port after we know the output format
5445 2013-03-01 11:18:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5449 omx: Handle errors more gracefully
5451 2013-02-28 15:48:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5455 * omx/gstomxaudioenc.c:
5456 * omx/gstomxh263dec.c:
5457 * omx/gstomxh264dec.c:
5458 * omx/gstomxmpeg2dec.c:
5459 * omx/gstomxmpeg4videodec.c:
5460 * omx/gstomxvideodec.c:
5461 * omx/gstomxwmvdec.c:
5462 omx: Return the OMX_ERRORTYPE from gst_omx_port_update_port_definition
5464 2013-02-28 15:37:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5467 omx: Return port definition update errors
5469 2013-02-28 13:57:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5471 * config/rpi/gstomx.conf:
5474 omx: Add hack for RPi for the minimum number of buffers required for a port
5475 The value in the port definition is invalid and the initial actual
5476 buffer count should be used.
5478 2013-02-28 13:26:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5481 omx: Always tell the component about the right number of buffers that we're going to allocate
5483 2013-02-28 13:07:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5486 omx: Invert assertion to let it express what was intended
5488 2013-02-28 11:19:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5492 * omx/gstomxaudioenc.c:
5493 * omx/gstomxvideodec.c:
5494 * omx/gstomxvideoenc.c:
5495 omx: Add API for allocating a specific number of buffers and using EGLImages or buffers allocated elsewhere
5497 2013-02-27 16:55:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5499 * omx/gstomxaudioenc.c:
5500 * omx/gstomxvideodec.c:
5501 * omx/gstomxvideoenc.c:
5502 omx: Refactor code flow a bit if output port settings have changed
5504 2013-02-27 15:49:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5508 * omx/gstomxaudioenc.c:
5509 * omx/gstomxvideodec.c:
5510 * omx/gstomxvideoenc.c:
5511 omx: Clean up port settings change handling
5513 2013-02-27 11:30:14 +0100 Josep Torra <n770galaxy@gmail.com>
5515 * omx/gstomxvideodec.c:
5516 omxvideodec: initialize param structure before using it
5518 2013-02-27 10:21:39 +0100 Josep Torra <n770galaxy@gmail.com>
5520 * omx/gstomxvideoenc.c:
5521 omxvideoenc: prevent a NULL pointer access
5523 2013-02-26 17:25:49 +0100 Josep Torra <n770galaxy@gmail.com>
5525 * omx/gstomxvideodec.c:
5526 omxvideodec: prevent a NULL pointer access
5528 2013-02-25 13:11:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5531 omx: Fix deadlock during reconfiguration
5533 2013-02-25 12:38:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5536 * omx/gstomxaudioenc.c:
5537 * omx/gstomxvideodec.c:
5538 * omx/gstomxvideoenc.c:
5539 omx: Auto-detect the port indizes if possible
5541 2013-02-25 11:42:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5543 * omx/gstomxvideodec.c:
5544 * omx/gstomxvideoenc.c:
5545 omx: Refactor querying of component supported caps into its own function
5547 2013-02-25 10:41:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5551 * omx/gstomxaudioenc.c:
5552 * omx/gstomxvideodec.c:
5553 * omx/gstomxvideoenc.c:
5554 omx: Refactor waiting for buffers to be released by the component to a separate function
5556 2013-01-11 17:44:13 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5560 omx: Add methods to set up and close a tunnel between components
5562 2013-02-25 09:15:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5564 * omx/gstomxaacenc.c:
5565 * omx/gstomxaudioenc.c:
5566 * omx/gstomxaudioenc.h:
5567 omxaudioenc: Rename component variable
5569 2013-02-25 09:15:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5571 * omx/gstomxh263enc.c:
5572 * omx/gstomxh264enc.c:
5573 * omx/gstomxmpeg4videoenc.c:
5574 * omx/gstomxvideoenc.c:
5575 * omx/gstomxvideoenc.h:
5576 omxvideoenc: Rename component variable
5578 2013-02-25 09:12:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5580 * omx/gstomxvideodec.c:
5581 * omx/gstomxvideodec.h:
5582 omxvideodec: Rename component variable
5584 2013-02-22 16:27:33 +0100 Josep Torra <n770galaxy@gmail.com>
5586 * omx/gstomxvideoenc.c:
5587 omxvideoenc: remove duplicated line
5589 2013-02-22 10:42:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5592 Retry loading libbcm_host.so without an absolute path if that failed
5594 2013-02-21 20:32:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5596 * config/bellagio/Makefile.am:
5597 Add missing file from last commit
5599 2013-02-21 11:01:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5601 * config/Makefile.am:
5602 * config/bellagio/gstomx.conf:
5605 Add OpenMAX IL target for Bellagio
5606 Not tested since a very long time though.
5608 2013-02-21 10:59:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5612 Allow using external OpenMAX IL headers
5614 2013-02-21 10:14:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5619 2013-02-21 10:13:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5621 * config/Makefile.am:
5622 * config/rpi/Makefile.am:
5623 * config/rpi/gstomx.conf:
5625 Install the RPI config when the RPI target is selected
5627 2013-02-21 10:08:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5630 Set default hacks for the RPI target and always initialize bcm_host
5632 2013-02-21 10:05:37 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5635 Add configure parameter for setting the OpenMAX IL target
5637 2013-02-12 11:55:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5640 omx: Add FIXME for the future
5642 2013-02-12 11:49:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5646 * omx/gstomxaudioenc.c:
5647 * omx/gstomxaudioenc.h:
5648 * omx/gstomxvideodec.c:
5649 * omx/gstomxvideodec.h:
5650 * omx/gstomxvideoenc.c:
5651 * omx/gstomxvideoenc.h:
5652 omx: Some minor refactoring and cleanup
5654 2013-02-12 11:45:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5657 omx: Don't access the port's buffers array if it wasn't allocated yet
5659 2013-02-12 11:44:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5662 omx: Mark an array as const
5664 2013-02-12 11:41:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5668 * omx/gstomxaudioenc.c:
5669 * omx/gstomxvideodec.c:
5670 * omx/gstomxvideoenc.c:
5671 omx: Split enabling/disabling of port into sending the command and waiting for it
5672 This allows to do anything necessary after sending the command to actually let it finish
5674 2013-02-12 11:37:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5677 omx: Flushing is also allowed in Paused state
5679 2013-02-12 11:28:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5681 * omx/gstomxvideoenc.c:
5682 omxvideoenc: Set stride, slice height and buffer size
5684 2013-02-12 11:09:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5686 * config/raspberry-pi.conf:
5687 config: Add h264 and mpeg2 encoders to the raspberry pi config
5688 Not completely working yet though.
5690 2013-02-12 11:03:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5692 * omx/gstomxvideoenc.c:
5693 omxvideoenc: Properly negotiate OMX color format with the component
5695 2013-02-12 10:53:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5697 * omx/gstomxvideoenc.c:
5698 omxvideoenc: Implement getcaps() vfunc
5700 2013-01-29 21:32:53 +0000 Tim-Philipp Müller <tim@centricular.net>
5703 configure: use 1.0 gstconfig.h to detect disabled subsystems
5704 Update unused configure check for GStreamer core subsystem
5705 features from 0.10 to 1.0.
5707 2013-01-28 20:44:41 +0100 Stefan Sauer <ensonic@users.sf.net>
5710 Automatic update of common submodule
5711 From a942293 to 2de221c
5713 2013-01-24 14:02:36 +0100 Julian Scheel <julian@jusst.de>
5715 * config/raspberry-pi.conf:
5718 * omx/gstomxmpeg2dec.c:
5719 * omx/gstomxmpeg2dec.h:
5720 omx: add mpeg2 video decoder
5721 This adds a decoder class for mpeg2, as well as an extended
5722 configuration for raspberry pi.
5723 https://bugzilla.gnome.org/show_bug.cgi?id=692446
5724 Signed-off-by: Julian Scheel <julian@jusst.de>
5726 2013-01-18 16:47:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5729 omx: Minimize the time when the messages lock is held
5730 Fixes a deadlock if any OMX functions are called when the
5731 messages are handled.
5732 Thanks to Nicolas Dufresne for noticing.
5734 2013-01-18 15:28:20 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5737 omx: improve debug message when we can't find the config file
5738 Mention where we looked for the config file.
5740 2013-01-18 12:34:38 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5743 build: fix autogen.sh with automake 1.13
5744 AM_CONFIG_HEADER -> AC_CONFIG_HEADERS
5746 2013-01-17 18:07:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5749 * omx/gstomxaudioenc.h:
5750 * omx/gstomxvideodec.h:
5751 * omx/gstomxvideoenc.h:
5752 omx: Fix includes to properly work with the 1.0 releases
5754 2013-01-15 15:08:28 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5757 Automatic update of common submodule
5758 From a72faea to a942293
5760 2013-01-15 14:34:45 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5763 omx: Update port definition when changing some port setting
5765 2013-01-14 11:41:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5769 omx: Rename from libgstopenmax.so to ligstomx.so for consistency
5771 2013-01-11 15:32:22 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
5774 omx: Add a method to send message
5776 2013-01-11 15:44:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5780 omx: Atomic ops are not required anymore for the reconfiguration
5782 2013-01-11 12:52:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5784 * omx/gstomxaudioenc.c:
5785 * omx/gstomxvideodec.c:
5786 * omx/gstomxvideoenc.c:
5787 omx: Fix some memory leaks and suboptimal locking
5789 2013-01-11 12:34:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5791 * omx/gstomxvideoenc.c:
5792 omxvideoenc: Don't forget to unmap frame in error cases
5794 2013-01-11 12:29:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5796 * omx/gstomxvideoenc.c:
5797 omxvideoenc: Fix copying of the video frames to the OMX buffers
5799 2013-01-11 12:24:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5801 * omx/gstomxvideodec.c:
5802 omxvideodec: Fix copying of the video frames from the OMX buffers
5804 2013-01-10 14:44:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5809 * omx/gstomxaudioenc.c:
5810 * omx/gstomxrecmutex.c:
5811 * omx/gstomxrecmutex.h:
5812 omx: Implement new approach for locking that should solve all deadlocks on RPi
5813 No mutex is locked while calling any OpenMAX functions anymore
5814 and everything from the OpenMAX callbacks is inserted into a message
5815 queue and handled from outside the callbacks.
5816 Also there's only a single mutex and condition variable per component
5817 now for handling anything from OpenMAX callbacks and a single mutex
5818 for keeping our component/port state sane.
5820 2012-12-20 19:30:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5822 * omx/gstomxvideodec.c:
5823 omxvideodec: Set the OMX buffer nFilledLength field properly
5825 2012-12-20 18:48:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5827 * omx/gstomxrecmutex.c:
5828 * omx/gstomxrecmutex.h:
5829 omxrecmutex: Fix another race condition when two threads are trying to lock for recursion at the same time
5831 2012-12-20 18:16:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5833 * omx/gstomxrecmutex.c:
5834 * omx/gstomxrecmutex.h:
5835 omxrecmutex: Fix yet another race condition that resulted in deadlocks
5837 2012-12-20 17:46:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5840 * omx/gstomxrecmutex.c:
5841 * omx/gstomxrecmutex.h:
5842 omx: Fix another race condition in the recursive mutex
5843 Between lock() and begin_recursion() it was possible for another thread to
5844 try to do a recursive_lock(). This would block because the mutex was already
5845 locked(), but not ready for recursive locking yet. unlock() would never
5846 happen in the original thread because it was waiting for the other thread
5848 Happened on the Raspberry Pi.
5850 2012-12-20 14:45:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5852 * omx/gstomxrecmutex.c:
5853 * omx/gstomxrecmutex.h:
5854 omxrecmutex: Fix a small race condition when unlocking a non-recursive lock
5856 2012-12-20 12:30:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5858 * omx/gstomxaudioenc.c:
5859 * omx/gstomxvideodec.c:
5860 * omx/gstomxvideoenc.c:
5861 omx: Fix ununsed variable compiler warning
5863 2012-12-20 12:27:47 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5865 * omx/gstomxaudioenc.c:
5866 * omx/gstomxvideodec.c:
5867 * omx/gstomxvideoenc.c:
5868 omx: No need to start the srcpad task in ::start() already
5869 It will be started properly after the caps are set.
5871 2012-12-20 12:23:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5873 * omx/gstomxvideodec.c:
5874 omxvideodec: OMX_ErrorNoMore is no error and just means we ended iteration
5876 2012-12-20 12:20:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5878 * omx/gstomxaudioenc.c:
5879 * omx/gstomxvideodec.c:
5880 * omx/gstomxvideoenc.c:
5881 omx: Improve debug output
5883 2012-12-20 12:02:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5885 * omx/gstomxvideodec.c:
5886 omxvideodec: Don't forget to free a GList
5888 2012-12-20 11:56:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5890 * omx/gstomxvideodec.c:
5891 omxvideodec: Map OMX_COLOR_FormatYUV420PackedPlanar to I420 too
5892 This is used on the Raspberry Pi.
5894 2012-12-20 11:55:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5896 * omx/gstomxvideodec.c:
5897 omxvideodec: During negotiation of the output format make sure we use the correct OpenMAX format
5899 2012-12-20 11:42:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5901 * omx/gstomxvideodec.c:
5902 omxvideodec: If negotiation fails this could also mean that the component can't do it at this point yet
5904 2012-12-20 11:40:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5906 * omx/gstomxvideodec.c:
5907 omxvideodec: Improve format negotiation a bit
5908 Don't leak caps and make sure to fixate caps.
5910 2012-12-19 13:05:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5913 omx: Also initialize nStep field of the OMX structures
5915 2012-12-19 13:03:37 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5918 omx: Initialize struct version with the OMX version we compiled with
5920 2012-12-19 12:44:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5922 * omx/gstomxvideodec.c:
5923 omxvideodec: Extract data from the input buffer, not the codec data
5925 2012-12-19 12:19:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5928 * tools/listcomponents.c:
5929 omx: Use has_suffix() instead of has_prefix() for the Broadcom hack
5931 2012-12-19 12:08:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5935 * tools/Makefile.am:
5936 * tools/listcomponents.c:
5937 tools: Add tool to list all components and their roles
5939 2012-12-19 11:31:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5942 omx: Add hack to load and initialize libbcm_host.so
5943 Needed on the Raspberry Pi. Patch based on a patch by
5944 George Kiagiadakis <george.kiagiadakis@collabora.com>
5946 2012-12-19 11:22:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5950 configure: Add configure option to pack OpenMAX structures
5951 This is required to set to 4 for the Raspberry Pi for example.
5953 2012-12-19 11:07:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5956 configure: Require GStreamer 1.0.0
5958 2012-04-20 17:13:52 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
5961 omx: Initialize structures to version 1.1.2
5963 2012-12-19 09:51:22 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5966 * config/Makefile.am:
5967 * config/raspberry-pi.conf:
5969 config: Add raspberry-pi configuration in a different directory
5971 2012-05-20 20:11:59 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
5973 * omx/gstomx-raspberry.conf:
5974 raspberry: Add a gstomx.conf for the Raspberry Pi
5976 2012-12-12 17:45:39 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5979 * omx/gstomxvideoenc.h:
5980 omx: Fix some compilation errors caused by circular includes
5982 2012-11-19 11:29:44 +0000 Tim-Philipp Müller <tim@centricular.net>
5985 Automatic update of common submodule
5986 From 6bb6951 to a72faea
5988 2012-11-12 15:14:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5990 * omx/gstomxvideodec.c:
5991 * omx/gstomxvideoenc.c:
5992 omx: Fix refcount problem with frames being dropped because of decoder bugs
5994 2012-11-12 11:29:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5998 * omx/gstomxaudioenc.c:
5999 * omx/gstomxaudioenc.h:
6000 * omx/gstomxrecmutex.c:
6001 * omx/gstomxrecmutex.h:
6002 * omx/gstomxvideodec.c:
6003 * omx/gstomxvideodec.h:
6004 * omx/gstomxvideoenc.c:
6005 * omx/gstomxvideoenc.h:
6006 omx: Update to new GLib thread API
6008 2012-10-22 14:34:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6010 * omx/gstomxvideodec.c:
6011 * omx/gstomxvideoenc.c:
6012 omx: Use open/close vfuncs
6014 2012-10-22 14:28:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6016 * omx/gstomxvideodec.c:
6017 * omx/gstomxvideoenc.c:
6018 omx: Handle video meta correctly
6020 2012-06-20 13:11:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6023 * omx/gstbasevideocodec.c:
6024 * omx/gstbasevideocodec.h:
6025 * omx/gstbasevideodecoder.c:
6026 * omx/gstbasevideodecoder.h:
6027 * omx/gstbasevideoencoder.c:
6028 * omx/gstbasevideoencoder.h:
6029 * omx/gstbasevideoutils.c:
6030 * omx/gstbasevideoutils.h:
6031 * omx/gstomxh263dec.c:
6032 * omx/gstomxh263enc.c:
6033 * omx/gstomxh264dec.c:
6034 * omx/gstomxh264enc.c:
6035 * omx/gstomxmpeg4videodec.c:
6036 * omx/gstomxmpeg4videoenc.c:
6037 * omx/gstomxvideodec.c:
6038 * omx/gstomxvideodec.h:
6039 * omx/gstomxvideoenc.c:
6040 * omx/gstomxvideoenc.h:
6041 * omx/gstomxwmvdec.c:
6042 omx: Port to video base classes from -base
6044 2012-10-17 17:57:43 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
6046 * omx/gstomxaacenc.c:
6047 * omx/gstomxh263dec.c:
6048 * omx/gstomxh263enc.c:
6049 * omx/gstomxh264dec.c:
6050 * omx/gstomxh264enc.c:
6051 * omx/gstomxmpeg4videodec.c:
6052 * omx/gstomxmpeg4videoenc.c:
6053 * omx/gstomxwmvdec.c:
6054 omx: gst_element_class_set_details_simple() -> set_static_metadata()
6056 2012-10-06 15:01:11 +0100 Tim-Philipp Müller <tim@centricular.net>
6059 Automatic update of common submodule
6060 From 6c0b52c to 6bb6951
6062 2012-09-22 16:10:38 +0100 Tim-Philipp Müller <tim@centricular.net>
6065 Automatic update of common submodule
6066 From 4f962f7 to 6c0b52c
6068 2012-06-21 20:22:13 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
6071 omx: fix debug statement
6073 2012-06-21 20:21:03 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
6076 omx: use recursive_lock inside set_last_error(), since this function may be called from an event handler
6078 2012-08-22 13:31:59 +0200 Stefan Sauer <ensonic@users.sf.net>
6081 Automatic update of common submodule
6082 From 668acee to 4f962f7
6084 2012-08-05 16:42:43 +0100 Tim-Philipp Müller <tim@centricular.net>
6087 Automatic update of common submodule
6088 From 94ccf4c to 668acee
6090 2012-08-03 19:32:13 +0100 Tim-Philipp Müller <tim@centricular.net>
6093 omx: fix plugin name for new GST_PLUGIN_DEFINE API
6095 2012-07-23 08:47:32 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6098 Automatic update of common submodule
6099 From 98e386f to 94ccf4c
6101 2012-07-10 09:57:09 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6103 * omx/gstbasevideodecoder.c:
6104 omx: Update for allocation query API changes
6106 2012-06-20 11:09:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6108 * omx/gstomxaudioenc.c:
6109 * omx/gstomxvideodec.c:
6110 * omx/gstomxvideoenc.c:
6111 omx: Fix compilation after gst_pad_start_task() API changes
6113 2012-06-08 15:06:35 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
6116 Automatic update of common submodule
6117 From 03a0e57 to 98e386f
6119 2012-06-06 18:20:18 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
6122 Automatic update of common submodule
6123 From 1fab359 to 03a0e57
6125 2012-06-01 10:30:27 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
6128 Automatic update of common submodule
6129 From f1b5a96 to 1fab359
6131 2012-05-31 13:10:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6134 Automatic update of common submodule
6135 From 92b7266 to f1b5a96
6137 2012-05-30 12:47:59 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6140 Automatic update of common submodule
6141 From ec1c4a8 to 92b7266
6143 2012-05-30 11:26:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6146 Automatic update of common submodule
6147 From 3429ba6 to ec1c4a8
6149 2012-05-13 15:58:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6152 Automatic update of common submodule
6153 From dc70203 to 3429ba6
6155 2012-05-08 16:13:32 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
6158 omx: Fix spelling mistake found by lintian: s/Seperate/Separate/
6160 2012-04-30 23:58:43 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
6165 * omx/gstomxaudioenc.c:
6166 * omx/gstomxrecmutex.c:
6167 * omx/gstomxrecmutex.h:
6168 * omx/gstomxvideodec.c:
6169 * omx/gstomxvideoenc.c:
6170 Implement a new custom recursive mutex type and fix locking in callbacks so that in-context calls are allowed.
6171 According to the OMX specification, implementations are allowed to call
6172 callbacks in the context of their function calls. However, our callbacks
6173 take locks and this causes deadlocks if the unerlying OMX implementation
6174 uses this kind of in-context calls.
6175 A solution to the problem would be a recursive mutex. However, a normal
6176 recursive mutex does not fix the problem because it is not guaranteed
6177 that the callbacks are called from the same thread. What we see in Broadcom's
6178 implementation for example is:
6180 - OMX_Foo waits on a condition
6181 - A callback is executed in a different thread
6182 - When the callback returns, its calling function
6183 signals the condition that OMX_Foo waits on
6184 - OMX_Foo wakes up and returns
6185 The solution I came up with here is to take a second lock inside the callback,
6186 but only if recursion is expected to happen. Therefore, all calls to OMX
6187 functions are guarded by calls to gst_omx_rec_mutex_begin_recursion() / _end_recursion(),
6188 which effectively tells the mutex that at this point we want to allow calls
6189 to _recursive_lock() to succeed, although we are still holding the master lock.
6191 2012-04-20 14:51:34 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
6195 omx: Add hack to disable setting roles to components.
6199 2012-04-30 23:20:24 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
6202 * omx/gstomxvideodec.c:
6203 omxvideodec: Implement no-empty-eos-buffer hack, as in omxvideoenc.
6205 omx/gstomxvideodec.c
6207 2012-04-30 23:19:55 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
6209 * omx/gstomxvideodec.c:
6210 omxvideodec: Fix coding style in the drain-may-not-return hack code
6212 2012-04-25 19:03:48 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
6215 omx: Fix trivial debug print bug
6217 2012-04-25 19:01:32 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
6221 * omx/gstomxvideodec.c:
6222 omxvideodec: Add hack for Ducati components not returning from drain
6223 This happens on the Galaxy Nexus, and causes the pipeline to hang waiting
6224 endlessly for a drain. The hack replaces the wait with a wait + 500ms timeout.
6226 2012-04-25 16:35:40 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
6229 omx: Fix deadlock between ending a flush and the event handler
6230 gst_omx_port_set_flushing() calls OMX_FillThisBuffer at the end of a flush
6231 without releasing the port lock, and this can cause a deadlock with the
6232 EventHandler. This patches fixes this by dropping the lock for the duration of
6233 the fill buffer call.
6235 2012-04-24 15:41:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6237 * omx/gstbasevideodecoder.c:
6238 * omx/gstbasevideoencoder.c:
6239 omx: Update video encoder/decoder base classes from gst-plugins-bad
6241 2012-04-16 09:16:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6244 configure: Modernize autotools setup a bit
6245 Also we now only create tar.bz2 and tar.xz tarballs.
6247 2012-04-16 09:12:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6250 Automatic update of common submodule
6252 2012-04-16 08:34:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6254 * omx/gstomxaudioenc.c:
6255 omxaudioenc: Use gst_buffer_extract() to copy the input buffer data to the OpenMAX buffer
6257 2012-04-13 17:16:42 -0400 Alessandro Decina <alessandro.decina@collabora.com>
6260 Fix relative/absolute path glitch
6261 Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
6263 2012-04-12 15:57:32 -0400 Olivier Crête <olivier.crete@collabora.com>
6268 * omx/gstbasevideocodec.c:
6269 * omx/gstbasevideocodec.h:
6270 * omx/gstbasevideodecoder.c:
6271 * omx/gstbasevideodecoder.h:
6272 * omx/gstbasevideoencoder.c:
6273 * omx/gstbasevideoencoder.h:
6276 * omx/gstomxaacenc.c:
6277 * omx/gstomxaudioenc.c:
6278 * omx/gstomxaudioenc.h:
6279 * omx/gstomxh263dec.c:
6280 * omx/gstomxh263enc.c:
6281 * omx/gstomxh264dec.c:
6282 * omx/gstomxh264enc.c:
6283 * omx/gstomxmpeg4videodec.c:
6284 * omx/gstomxmpeg4videoenc.c:
6285 * omx/gstomxvideodec.c:
6286 * omx/gstomxvideodec.h:
6287 * omx/gstomxvideoenc.c:
6288 * omx/gstomxvideoenc.h:
6289 * omx/gstomxwmvdec.c:
6292 2012-01-18 16:53:16 -0300 Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
6296 Enable building with Android's buildsystem
6297 This change adds prelimary buildsystem hooks to
6298 build gst-omx with the Android buildsystem. Like
6299 the rest of GStreamer's Android hooks, the process
6300 relies on the availability of androgenizer. A tool
6301 developed by Collabora to automatically generate
6302 Android.mk files from within the auto* setup.
6303 Androgenizer is currently available at:
6304 http://cgit.collabora.com/git/user/derek/androgenizer.git/
6306 2011-12-13 10:17:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6308 * omx/gstbasevideocodec.c:
6309 basevideocodec: Don't use G_TYPE_REGISTER_BOXED() yet
6310 This would require GLib 2.26.
6312 2011-12-14 10:09:34 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
6314 * omx/gstomxaudioenc.c:
6315 omxaudioenc: Add hack for encoder components that don't allow empty EOS buffers
6317 2011-12-14 10:07:29 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
6319 * omx/gstomxvideoenc.c:
6320 omxvideoenc: Fix deadlock when using the EOS hack
6322 2011-12-12 14:26:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6324 * omx/gstomxvideoenc.c:
6325 omxvideoenc: Remove workaround for basevideocodec bug
6327 2011-12-12 14:26:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6329 * omx/gstomxvideodec.c:
6330 omxvideodec: Remove workaround for basevideocodec bug
6332 2011-12-05 17:57:01 +0000 Matej Knopp <matej.knopp@gmail.com>
6334 * omx/gstbasevideocodec.c:
6335 * omx/gstbasevideocodec.h:
6336 * omx/gstbasevideodecoder.c:
6337 * omx/gstbasevideoencoder.c:
6338 basevideo: Make GstVideoFrame a reference counted boxed object
6339 ...and also clear all existing frames when resetting the decoder or encoder.
6341 2011-12-09 12:17:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6345 * omx/gstomxvideoenc.c:
6346 omx: Add hack for encoder components that don't allow empty EOS buffers
6348 2011-12-09 10:21:47 +0100 Dake Gu <Dake.Gu@palm.com>
6350 * omx/gstomxaacenc.c:
6351 omxaacenc: Generate and set codec_data on the caps for raw AAC
6353 2011-10-31 11:36:06 +0100 Alessandro Decina <alessandro.decina@collabora.co.uk>
6355 * omx/gstbasevideoencoder.c:
6356 basevideoencoder: handle failures in start() and stop()
6358 2011-08-26 10:50:38 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
6360 * omx/gstbasevideoencoder.c:
6361 basevideoenc: do not try to calculate latency from an unknown framerate
6362 It'll divide by zero, and latency is unknown for an unknown framerate.
6363 Fixes an assert in the schroenc test.
6364 https://bugzilla.gnome.org/show_bug.cgi?id=657419
6366 2011-12-08 11:50:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6368 * omx/gstbasevideoencoder.c:
6369 basevideoencoder: Only make the header buffer metadata writable, not the buffer
6371 2011-12-08 10:18:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6373 * omx/gstbasevideoencoder.c:
6374 basevideoencoder: Fix handling of force-keyunit events
6376 2011-12-06 13:28:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6378 * omx/gstomxaudioenc.c:
6379 omxaudioenc: Don't forward EOS events immediately but let all other events be handled by the base class
6380 Previously this logic was inversed, which did not make any sense at all.
6382 2011-12-06 12:47:25 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6384 * omx/gstomxaudioenc.c:
6385 * omx/gstomxaudioenc.h:
6386 omxaudioenc: Use correct timestamp, duration and filled length for the EOS buffers
6388 2011-12-06 12:47:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6390 * omx/gstomxvideodec.c:
6391 * omx/gstomxvideodec.h:
6392 omxvideodec: Use correct timestamp, duration and filled length for the EOS buffers
6394 2011-12-06 12:46:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6396 * omx/gstomxvideoenc.c:
6397 * omx/gstomxvideoenc.h:
6398 omxvideoenc: Use correct timestamp, duration and filled length for the EOS buffers
6400 2011-12-05 13:18:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6403 omx: Improve debugging of buffer handling
6405 2011-12-05 08:12:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6407 * omx/gstomxvideoenc.c:
6408 omxvideoenc: Drop EOS events in ::finish()
6409 The event will be forwarded downstream from the srcpad
6410 loop function after the last buffer was generated by the
6411 component. Forwarding it after ::finish() will use the
6412 sinkpad streaming thread and does not guarantee that
6413 the encoder is completely drained.
6415 2011-12-01 16:20:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6417 * omx/gstomxvideodec.c:
6418 omxvideodec: Properly drop frames due to QoS
6419 Instead of finishing them they should be passed to drop(), which
6420 will then send QoS messages.
6422 2011-11-29 12:21:32 +0100 Jonas Larsson <jonas@hallerud.se>
6424 * omx/gstomxh264enc.c:
6425 omxh264enc: Add support for resending headers after a forced-keyframe
6427 2011-11-29 12:12:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6429 * omx/gstbasevideocodec.h:
6430 * omx/gstbasevideoencoder.c:
6431 basevideoencoder: Pass the all-headers field of the force-key-unit event to the subclass
6433 2011-11-29 12:12:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6435 * omx/gstbasevideoencoder.c:
6436 * omx/gstbasevideoencoder.h:
6437 basevideoencoder: Implement full support for the new force-key-unit event
6438 Including support for the running-time and count fields.
6440 2011-11-29 09:31:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6442 * omx/gstbasevideoencoder.c:
6443 basevideoencoder: Use new force-keyunit event API from gst-plugins-base
6445 2011-11-29 09:18:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6447 * omx/gstbasevideoencoder.c:
6448 * omx/gstbasevideoencoder.h:
6449 basevideoencoder: Adjusting padding is not required for -bad libraries
6451 2011-11-28 19:48:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6453 * omx/gstbasevideoencoder.h:
6454 basevideoencoder: Move some fields to the private part of the instance struct
6456 2011-11-28 19:36:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6458 * omx/gstbasevideoencoder.c:
6459 basevideoencoder: Make headers metadata writable before pushing downstream
6460 The timestamp, duration, etc of the headers has to be changed.
6462 2011-11-28 19:35:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6464 * omx/gstbasevideoencoder.c:
6465 * omx/gstbasevideoencoder.h:
6466 basevideoencoder: Push the downstream force-keyframe event after the next keyframe
6467 Even if the corresponding GstVideoFrame doesn't have the is_sync_point
6470 2011-11-28 19:29:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6472 * omx/gstbasevideoencoder.c:
6473 * omx/gstbasevideoencoder.h:
6474 basevideoencoder: Don't push an upstream force-keyunit event downstream
6476 2011-11-25 11:48:08 +0100 Jonas Larsson <jonas@hallerud.se>
6478 * omx/gstbasevideoencoder.c:
6479 * omx/gstbasevideoencoder.h:
6480 basevideoencoder: Add initial support for the all-headers field of the force-keyframe event
6483 2011-11-25 11:37:39 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
6485 * omx/gstbasevideodecoder.c:
6486 basevideodecoder: some more debug logging
6488 2011-11-23 20:03:32 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
6490 * omx/gstbasevideodecoder.c:
6491 * omx/gstbasevideodecoder.h:
6492 basevideodecoder: add API to drop a frame and post a QoS message on the bus
6493 https://bugzilla.gnome.org/show_bug.cgi?id=640017
6494 API: gst_base_video_decoder_drop_frame()
6496 2011-11-22 23:04:49 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
6498 * omx/gstbasevideodecoder.c:
6499 docs: fix comment in gst_base_video_decoder_get_max_decode_time() docs
6501 2011-11-22 19:57:07 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
6503 * omx/gstbasevideodecoder.c:
6504 basevideodecoder: fix weird event list handling
6505 Get rid of weird code that copies a list manually, taking
6506 ownership of the elements and then frees the old list. Instead,
6507 just take over the old list entirely. (If the intent was to
6508 reverse the list, one could use g_list_reverse() instead).
6509 Then, push events in the list out from last to first (since they
6510 were prepended as they came in) instead of just pushing out the
6511 last in the list and leaking the others.
6513 2011-11-25 11:31:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6517 * omx/gstbaseaudiodecoder.c:
6518 * omx/gstbaseaudiodecoder.h:
6519 * omx/gstbaseaudioencoder.c:
6520 * omx/gstbaseaudioencoder.h:
6521 * omx/gstbaseaudioutils.c:
6522 * omx/gstbaseaudioutils.h:
6523 * omx/gstomxaacenc.c:
6524 * omx/gstomxaudioenc.c:
6525 * omx/gstomxaudioenc.h:
6526 omxaudioenc: Use audio base classes from gst-plugins-base instead of having our own copies
6528 2011-11-18 10:00:31 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6530 * omx/gstomxaudioenc.c:
6531 omxaudioenc: First set ports to flushing before waiting for the srcpad streaming thread to finish
6533 2011-11-18 09:59:43 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6535 * omx/gstomxvideoenc.c:
6536 omxvideoenc: First set ports to flushing before waiting for the srcpad streaming thread to finish
6538 2011-11-18 09:58:58 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6540 * omx/gstomxvideodec.c:
6541 omxvideodec: First set ports to flushing before waiting for the srcpad streaming thread to finish
6543 2011-11-17 14:38:54 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6546 omx: Only disabling of a port is like flushing, enabling is like unflushing
6548 2011-11-17 13:33:35 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6551 omx: Enabling/disabling a port is also like flushing
6552 The component returns all buffers to us and shouldn't get any
6553 new buffers passed anymore.
6555 2011-11-17 11:26:33 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6557 * omx/gstomxaudioenc.c:
6558 omxaudioenc: Signal the drain GCond even if downstream returned an error
6560 2011-11-17 11:26:20 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6562 * omx/gstomxvideoenc.c:
6563 omxvideoenc: Signal the drain GCond even if downstream returned an error
6565 2011-11-17 11:25:52 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6567 * omx/gstomxvideodec.c:
6568 omxvideodec: Signal the drain GCond even if downstream returned an error
6570 2011-11-17 10:34:19 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6572 * omx/gstbasevideoencoder.c:
6573 basevideoencoder: Only call ::reset once in READY->PAUSED
6575 2011-11-17 10:19:35 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6577 * omx/gstomxaudioenc.c:
6578 omxaudioenc: Shutdown component in PAUSED->READY and deallocate buffers
6580 2011-11-17 10:19:30 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6582 * omx/gstomxvideoenc.c:
6583 omxvideoenc: Shutdown component in PAUSED->READY and deallocate buffers
6585 2011-11-17 10:19:10 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6587 * omx/gstomxvideodec.c:
6588 omxvideodec: Shutdown component in PAUSED->READY and deallocate buffers
6590 2011-11-16 12:02:08 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6592 * omx/gstomxvideoenc.c:
6593 omxvideoenc: Set force_keyframe to FALSE after handling it
6594 There's no reason why the base class should forward the event
6595 further downstream if we already handled it and will insert a
6598 2011-11-16 11:21:25 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6600 * omx/gstomxvideodec.c:
6601 omxvideodec: Always push buffers downstream, even if we didn't find a corresponding GstVideoFrame
6603 2011-11-15 09:47:55 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6606 omx: Fix debug level for flushing in wrong state from ERROR to DEBUG
6607 It's not really an error and doesn't matter at all if flush is called
6608 when the component is not running.
6610 2011-11-15 08:40:07 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6612 * omx/gstomxh264enc.c:
6613 omxh264enc: Detect bytestream stream format and don't put SPS/PPS into the caps for this format
6615 2011-11-15 08:28:32 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6617 * omx/gstomxvideoenc.c:
6618 * omx/gstomxvideoenc.h:
6619 omxvideoenc: Add vfunc for handling the output frames
6620 This can be used by subclasses to override the buffer flags
6621 or to handle some frames differently than the default behaviour.
6623 2011-11-14 12:50:26 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6625 * omx/gstomxvideodec.c:
6626 omxvideodec: Don't release buffers twice if dropping because of QoS
6628 2011-11-14 09:13:06 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6631 omx: Add XXX to the nOffset reset hack comment for QCOM
6633 2011-11-10 15:18:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6635 * omx/gstomxaudioenc.c:
6636 omxaudioenc: Make srcpad caps setting threadsafe
6638 2011-11-10 15:17:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6640 * omx/gstomxvideoenc.c:
6641 omxvideoenc: Make srcpad caps setting threadsafe
6643 2011-11-10 15:17:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6645 * omx/gstomxvideodec.c:
6646 omxvideodec: Make srcpad caps setting threadsafe
6648 2011-11-10 15:10:14 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6650 * omx/gstomxaudioenc.c:
6651 omxaudioenc: Make the srcpad task and the sinkpad streaming thread handling threadsafe
6653 2011-11-10 15:03:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6655 * omx/gstomxaudioenc.c:
6656 omxaudioenc: Always flush the ports and make sure no processing is happening in ::flush
6657 This fixes a race condition that happened when seeking
6658 very often in a short period of time.
6660 2011-11-10 15:02:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6662 * omx/gstomxvideoenc.c:
6663 omxvideoenc: Always flush the ports and make sure no processing is happening in ::reset
6664 This fixes a race condition that happened when seeking
6665 very often in a short period of time.
6667 2011-11-10 15:01:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6669 * omx/gstomxvideoenc.c:
6670 omxvideoenc: Fix minor race condition when draining after upstream signalled EOS
6672 2011-11-10 14:56:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6674 * omx/gstomxaudioenc.c:
6675 omxaudioenc: Improve EOS handling
6676 If downstream return UNEXPECTED we should still signal the
6677 drain cond because nothing will trigger this again later.
6679 2011-11-10 14:56:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6681 * omx/gstomxvideoenc.c:
6682 omxvideoenc: Improve EOS handling
6683 If downstream return UNEXPECTED we should still signal the
6684 drain cond because nothing will trigger this again later.
6686 2011-11-10 14:54:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6688 * omx/gstomxaudioenc.c:
6689 omxaudioenc: Improve debugging of EOS and draining
6691 2011-11-10 14:54:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6693 * omx/gstomxvideoenc.c:
6694 omxvideoenc: Improve debugging of EOS and draining
6696 2011-11-10 14:51:06 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6698 * omx/gstomxvideodec.c:
6699 omxvideodec: Log if acquiring buffer for EOS failed
6701 2011-11-10 14:42:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6703 * omx/gstomxvideodec.c:
6704 omxvideodec: The component is not started in READY
6706 2011-11-10 14:39:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6708 * omx/gstomxaudioenc.c:
6709 omxaudioenc: No need to signal the drain cond when going from READY to PAUSED
6710 Also the component is not started in READY
6712 2011-11-10 14:40:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6714 * omx/gstomxvideoenc.c:
6715 omxvideoenc: No need to signal the drain cond when going from READY to PAUSED
6716 Also the component is not started in READY.
6718 2011-11-09 15:46:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6720 * omx/gstomxvideodec.c:
6721 omxvideodec: Always flush the ports and make sure no processing is happening in ::reset
6722 This fixes a race condition that happened when seeking
6723 very often in a short period of time.
6725 2011-11-09 15:45:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6727 * omx/gstomxvideodec.c:
6728 omxvideodec: Fix minor race condition when draining after upstream signalled EOS
6730 2011-11-09 15:44:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6732 * omx/gstomxvideodec.c:
6733 omxvideodec: Improve EOS handling
6734 If downstream return UNEXPECTED we should still signal the
6735 drain cond because nothing will trigger this again later.
6737 2011-11-09 15:43:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6739 * omx/gstomxvideodec.c:
6740 omxvideodec: Improve debugging of EOS and draining
6742 2011-11-09 15:42:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6744 * omx/gstomxvideodec.c:
6745 omxvideodec: The component is not started already when going from READY to PAUSED
6747 2011-11-09 15:42:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6749 * omx/gstomxvideodec.c:
6750 omxvideodec: No need to signal the drain cond when going from READY to PAUSED
6752 2011-11-09 15:41:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6755 omx: Always reset buffer flags for output ports, even in flushing/error state
6757 2011-11-09 09:00:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6759 * omx/gstomxvideodec.c:
6760 omxvideodec: Improve debugging in case of QoS-related frame drops
6762 2011-11-08 12:46:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6764 * omx/gstomxvideoenc.c:
6765 omxvideoenc: Release the video codec stream lock before acquiring an input buffer
6766 Otherwise the srcpad task might block on this lock and
6767 no buffers ever become available again.
6769 2011-11-08 12:45:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6771 * omx/gstomxaudioenc.c:
6772 omxaudioenc: Release the audio encoder stream lock before acquiring an input buffer
6773 Otherwise the srcpad task might block on this lock and
6774 no buffers ever become available again.
6776 2011-11-08 12:42:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6778 * omx/gstomxvideodec.c:
6779 omxvideodec: Release the video codec stream lock before acquiring an input buffer
6780 Otherwise the srcpad task might block on this lock and
6781 no buffers ever become available again.
6783 2011-11-08 11:07:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6785 * omx/gstomxaudioenc.c:
6786 * omx/gstomxaudioenc.h:
6787 omxaudioenc: Don't try to drain the component after EOS
6788 And don't send EOS twice in any case. This most likely
6789 will cause the component to not output it again and
6790 is not necessary anyway.
6792 2011-11-08 11:03:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6794 * omx/gstomxvideoenc.c:
6795 * omx/gstomxvideoenc.h:
6796 omxvideoenc: Don't try to drain the component after EOS
6797 And don't send EOS twice in any case. This most likely
6798 will cause the component to not output it again and
6799 is not necessary anyway.
6801 2011-11-08 10:46:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6803 * omx/gstomxvideodec.c:
6804 * omx/gstomxvideodec.h:
6805 omxvideodec: Don't try to drain the component after EOS
6806 And don't send EOS twice in any case. This most likely
6807 will cause the component to not output it again and
6808 is not necessary anyway.
6810 2011-11-08 09:09:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6812 * omx/gstomxvideodec.c:
6813 omxvideodec: Implement dropping of too late frames via QoS
6815 2011-11-08 08:31:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6817 * omx/gstomxaudioenc.c:
6818 omxaudioenc: Minor code refactoring
6820 2011-11-08 08:31:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6822 * omx/gstomxvideoenc.c:
6823 omxvideoenc: Minor code refactoring
6825 2011-11-08 08:31:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6827 * omx/gstomxvideodec.c:
6828 omxvideodec: Make sure to always release buffers back to OMX
6830 2011-11-08 08:24:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6833 omx: Also properly release buffers when in error state
6835 2011-11-08 08:22:08 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
6838 omx: Properly release buffers during flushing
6839 We can't pass them back to OMX_FillThisBuffer() or OMX_EmptyThisBuffer()
6840 but instead of doing nothing we have to put them back into our queue.
6841 Otherwise the buffer is leaked and we will have too few buffers in
6844 2011-11-07 14:00:47 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6846 * omx/gstomxvideodec.c:
6847 omxvideodec: Free pending frames after draining component
6849 2011-11-07 14:00:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6851 * omx/gstomxvideoenc.c:
6852 omxvideoenc: Free pending frames after draining the component
6854 2011-11-07 11:07:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6856 * omx/gstomxvideoenc.c:
6857 omxvideoenc: Make handling and usage of the base video codec frames threadsafe
6859 2011-11-07 11:05:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6861 * omx/gstomxvideoenc.c:
6862 omxvideoenc: Fix deadlock between srcpad stream lock and ::reset()
6864 2011-11-07 11:04:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6866 * omx/gstomxvideodec.c:
6867 omxvideoenc: Make handling and usage of the base video codec frames threadsafe
6869 2011-11-07 10:58:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6871 * omx/gstomxvideoenc.c:
6872 omxvideoenc: Free all pending frames after draining the component
6874 2011-11-07 10:58:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6876 * omx/gstomxvideodec.c:
6877 omxvideodec: Always free all pending frames when caps changes require reconfiguration
6879 2011-11-04 09:43:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6881 * omx/gstomxaudioenc.c:
6882 omxaudioenc: Only drain the component a single time and only after processing started
6884 2011-11-04 09:43:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6886 * omx/gstomxvideodec.c:
6887 omxvideodec: Only drain the component a single time and only after processing started
6889 2011-11-04 09:43:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6891 * omx/gstomxvideoenc.c:
6892 omxvideoenc: Only drain the component a single time and only after processing started
6894 2011-11-04 09:04:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6897 omx: Reset buffer flags to 0 after it was consumed by the component or the element
6898 Some implementations don't reset the flags and the standard is not
6899 really clear on the expected behaviour. Let's just always reset the
6900 flags as they're not valid at this point anymore.
6902 2011-11-02 13:50:14 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6904 * omx/gstomxvideoenc.c:
6905 * omx/gstomxvideoenc.h:
6906 omxvideoenc: Better handling of encoder parameters
6907 Only set them if necessary and allow to use the component
6910 2011-11-02 13:22:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6912 * omx/gstomxvideoenc.c:
6913 omxvideoenc: Make unsupported bitrate/quantizer settings less fatal
6915 2011-11-02 10:39:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6917 * omx/gstomxvideodec.c:
6918 omxvideodec: If no stride was set for the OMX output port assume GStreamer stride
6919 This is not really correct but there's nothing else we could do.
6921 2011-11-02 10:39:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6923 * omx/gstomxvideoenc.c:
6924 omxvideoenc: If no stride was set for the OMX input port assume GStreamer stride
6925 This is not really correct but there's nothing else we could do.
6927 2011-11-01 16:46:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6929 * omx/gstomxaudioenc.c:
6930 * omx/gstomxaudioenc.h:
6931 omxaudioenc: Implement draining of the component and use it
6932 This makes sure that all buffers are encoded and pushed downstream
6933 before flushing the ports and losing some buffers.
6935 2011-11-01 16:41:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6937 * omx/gstomxvideoenc.c:
6938 * omx/gstomxvideoenc.h:
6939 omxvideoenc: Implement draining of the component and use it
6940 This makes sure that all buffers are encoded and pushed downstream
6941 before flushing the ports and losing some buffers.
6943 2011-11-01 16:08:59 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6945 * omx/gstomxvideodec.c:
6946 * omx/gstomxvideodec.h:
6947 omxvideodec: Implement draining of the component and use it
6948 This makes sure that all buffers are decoded and pushed downstream
6949 before flushing the ports and losing some buffers.
6951 2011-10-20 14:32:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6953 * omx/gstomxvideodec.c:
6954 omxvideodec: Fix deadlock if ::reset is called before finding the corresponding frame of a decoded buffer
6956 2011-11-01 15:10:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6958 * omx/gstomxaudioenc.c:
6959 * omx/gstomxaudioenc.h:
6960 * omx/gstomxvideoenc.h:
6961 omxaudioenc: Forward downstream flow returns to upstream
6963 2011-11-01 15:10:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6965 * omx/gstomxvideoenc.c:
6966 omxvideoenc: Forward downstream flow returns to upstream
6968 2011-11-01 13:58:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6970 * omx/gstomxvideodec.c:
6971 * omx/gstomxvideodec.h:
6972 omxvideodec: Forward downstream flow returns to upstream
6974 2011-10-25 14:23:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6977 omx: Add minimal README file
6979 2011-10-20 15:21:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6981 * omx/gstomxvideodec.c:
6982 omxvideodec: Fix deadlock caused by calling reset while the loop function does something with the base video codec stream lock
6984 2011-10-20 15:20:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6986 * omx/gstomxvideoenc.c:
6987 omxvideoenc: Fix deadlock caused by calling reset while the loop function does something with the base video codec stream lock
6989 2011-10-20 14:30:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6991 * omx/gstomxvideodec.c:
6992 omxvideodec: Move locking at the correct place
6994 2011-10-14 10:27:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6998 omx: Remove QCOM hack to reset nOffset in EmptyBufferDone
6999 This is now done in a generic way that does not require any
7000 hacks because it will work without any side effects on any
7003 2011-10-14 10:26:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7006 omx: Reset nOffset to 0 in EmptyBufferDone if nFilledLen is 0
7007 Some OMX implementations don't reset nOffset when the complete
7008 buffer is emptied but instead only reset nFilledLen. We reset
7009 nOffset to 0 if nFilledLen == 0, which is safe to do because
7010 the offset *must* be 0 if the buffer is not filled at all.
7011 Seen in QCOM's OMX implementation.
7013 2011-10-04 10:56:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7015 * omx/gstomxvideoenc.c:
7016 omxvideoenc: If one parameter/configuration is not supported don't skip the next
7018 2011-10-03 09:12:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7020 * omx/gstomxh264dec.c:
7021 omxh264dec: Require stream-format=byte-stream
7022 Other stream-formats are unlikely to be supported by OMX components.
7024 2011-09-29 10:37:32 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7026 * omx/gstomxvideodec.c:
7027 * omx/gstomxvideodec.h:
7028 omxvideodec: Add API for subclasses to prepare/convert frames
7030 2011-09-27 15:08:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7032 * omx/gstomxaudioenc.c:
7033 omxaudioenc: Switch to Idle first and wait before switching to Loaded and deallocating buffers
7034 Allocating buffers before the Idle state is reached can lead to crashes.
7036 2011-09-27 15:08:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7038 * omx/gstomxvideoenc.c:
7039 omxvideoenc: Switch to Idle first and wait before switching to Loaded and deallocating buffers
7040 Allocating buffers before the Idle state is reached can lead to crashes.
7042 2011-09-27 15:05:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7044 * omx/gstomxvideodec.c:
7045 omxvideodec: Switch to Idle first and wait before switching to Loaded and deallocating buffers
7046 Allocating buffers before the Idle state is reached can lead to crashes.
7048 2011-09-27 14:15:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7052 * omx/gstomxvideodec.c:
7053 omxvideodec: New hack for QCOM to recreate the component instead of reconfiguring it on caps changes
7055 2011-09-27 12:13:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7058 omx: Change a g_assert() into a GST_WARNING_OBJECT()
7060 2011-09-26 13:04:18 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7064 omx: Add hack for Qualcomm's OMX implementation to manually reset nOffset in EmptyBufferDone
7066 2011-09-23 17:02:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7068 * omx/gstomxaudioenc.c:
7069 omxaudioenc: Add a check to prevent a zero-sized OMX buffer
7071 2011-09-23 17:02:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7073 * omx/gstomxvideoenc.c:
7074 omxvideoenc: Add some more checks for correct OMX buffer sizes
7076 2011-09-23 15:53:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7078 * omx/gstomxvideodec.c:
7079 omxvideodec: Add some more checks for OMX buffer sizes
7081 2011-09-14 10:15:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7085 * omx/gstomxaudioenc.c:
7086 * omx/gstomxvideodec.c:
7087 * omx/gstomxvideoenc.c:
7088 omx: Wait until the Executing state is reached before calling OMX_FillThisBuffer()
7089 This correctly works around the QCOM race condition that happens when calling
7090 FTB after setting the new state and before reaching it.
7092 2011-09-02 14:43:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7094 * omx/gstomxvideodec.c:
7095 omxvideodec: Negotiate video format with downstream and what the component claims to support
7097 2011-08-25 19:56:58 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
7099 * omx/gstbasevideoencoder.c:
7100 basevideoencoder: fix element leak
7101 and this concludes an hour of yelling at the bloody test failing,
7102 only to track down the problem not being in the test.
7103 https://bugzilla.gnome.org/show_bug.cgi?id=657368
7105 2011-08-19 09:20:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7107 * omx/gstomxvideoenc.c:
7108 omxvideoenc: Release basevideocodec stream lock while waiting for a buffer
7109 This prevents deadlocks if no empty input buffers are available and
7110 releasing input buffers requires the loop function to handle some
7111 output buffers first.
7113 2011-08-19 09:19:22 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7115 * omx/gstomxvideodec.c:
7116 omxvideodec: Release basevideocodec stream lock while waiting for a buffer
7117 This prevents deadlocks if no empty input buffers are available and
7118 releasing input buffers requires the loop function to handle some
7119 output buffers first.
7121 2011-08-18 10:24:26 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7123 * omx/gstbasevideodecoder.c:
7124 basevideodecoder: Fix deadlock
7126 2011-08-18 10:03:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7128 * omx/gstbaseaudiodecoder.c:
7129 baseaudiodecoder: Don't take the stream lock in the seek handler
7130 This will lead to deadlocks
7132 2011-08-18 10:02:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7134 * omx/gstbasevideocodec.c:
7135 * omx/gstbasevideocodec.h:
7136 * omx/gstbasevideodecoder.c:
7137 * omx/gstbasevideoencoder.c:
7138 basevideo: Fix locking, especially if both pads have different streaming threads
7140 2011-08-18 09:42:02 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7142 * omx/gstbasevideodecoder.c:
7143 * omx/gstbasevideoencoder.c:
7144 basevideo: Don't call g_type_class_peek_parent() in class_init
7145 This is already done by the GObject boilerplate macro
7147 2011-08-18 09:40:46 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7149 * omx/gstbaseaudiodecoder.c:
7150 baseaudiodecoder: Don't call g_type_class_peek_parent() in class_init
7151 This is already done by the boilerplate macro
7153 2011-08-18 09:34:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7155 * omx/gstbaseaudiodecoder.c:
7156 * omx/gstbaseaudiodecoder.h:
7157 baseaudiodecoder: Fix thread safety issues if both pads have different streaming threads
7159 2011-08-18 09:17:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7161 * omx/gstbaseaudiodecoder.c:
7162 baseaudiodecoder: Delay sending of serialized events to finish_frame()
7164 2011-08-17 14:33:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7166 * omx/gstomxaudioenc.c:
7167 omxaudioenc: Always require at least OMX_MIN_PCMPAYLOAD_MSEC per input buffer
7169 2011-08-17 14:28:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7171 * omx/gstbaseaudioencoder.c:
7172 * omx/gstbaseaudioencoder.h:
7173 baseaudioencoder: Add support for requesting a minimum and maximum number of samples per frame
7174 This extends the special case of a fixed number of samples per frame
7175 that was supported before already.
7177 2011-08-17 14:17:18 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7179 * omx/gstomxaudioenc.c:
7180 omxaudioenc: Handle inbuf==NULL properly in ::handle_frame()
7182 2011-08-17 13:04:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7184 * omx/gstomxaacenc.c:
7185 omxaacenc: Implement ::get_num_samples() vfunc
7187 2011-08-17 13:03:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7189 * omx/gstomxaudioenc.c:
7190 * omx/gstomxaudioenc.h:
7191 omxaudioenc: Add vfunc to get the number of samples inside a buffer
7193 2011-08-17 11:34:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7195 * omx/gstomxaudioenc.c:
7196 omxaudioenc: Release baseaudioencoder stream lock while waiting for a buffer in ::handle_frame()
7197 This prevents deadlocks if no empty input buffers are available and
7198 releasing input buffers requires the loop function to handle some
7199 output buffers first.
7201 2011-08-17 11:34:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7203 * omx/gstbaseaudioencoder.c:
7204 * omx/gstbaseaudioencoder.h:
7205 baseaudioencoder: Fix thread safety issues if both pads have different streaming threads
7207 2011-08-17 09:58:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7209 * omx/gstbaseaudioencoder.c:
7210 baseaudioencoder: Taking the OBJECT lock in reset() is not needed
7212 2011-08-16 11:03:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7214 * omx/gstomxaudioenc.c:
7215 omxaudioenc: Remove hack that only applies to the video encoder class
7217 2011-08-16 10:49:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7222 * omx/gstomxaacenc.c:
7223 * omx/gstomxaacenc.h:
7224 omxaacenc: Add initial version of OpenMAX AAC encoder element
7226 2011-08-15 15:10:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7229 * omx/gstomxaudioenc.c:
7230 * omx/gstomxaudioenc.h:
7231 omxaudioenc: Add initial version of audio encoder base class
7233 2011-08-15 14:14:11 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7235 * omx/gstbaseaudioencoder.c:
7236 baseaudioencoder: Delay sending of serialized events to finish_frame()
7238 2011-08-15 13:06:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7241 * omx/gstbaseaudiodecoder.c:
7242 * omx/gstbaseaudiodecoder.h:
7243 * omx/gstbaseaudioencoder.c:
7244 * omx/gstbaseaudioencoder.h:
7245 audio: Integrate audio base classes into the build system and fixup
7247 2011-08-15 12:56:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7249 * omx/gstbaseaudiodecoder.c:
7250 * omx/gstbaseaudiodecoder.h:
7251 * omx/gstbaseaudioencoder.c:
7252 * omx/gstbaseaudioencoder.h:
7253 * omx/gstbaseaudioutils.c:
7254 * omx/gstbaseaudioutils.h:
7255 audio: Add audio decoder/encoder base classes
7256 Taken from http://cgit.collabora.com/git/user/manauw/gst-plugins-bad.git/log/?h=baseaudio
7258 2011-08-12 12:25:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7260 * omx/gstbasevideoencoder.c:
7261 basevideoencoder: Proxy the width/height/framerate/PAR constraints of downstream caps to upstream
7262 This allows to specify constraints on the compressed downstream caps
7263 by muxers or capsfilters, which will then be forwarded to upstream
7264 and allows video converters to fulfill the constraints.
7265 Code based on Mark Nauwelaerts audio encoder base class.
7267 2011-08-12 12:13:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7269 * omx/gstbasevideoencoder.h:
7270 basevideoencoder: Remove old ::getcaps() comment
7272 2011-08-12 12:06:23 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7274 * omx/gstbasevideoencoder.c:
7275 * omx/gstbasevideoencoder.h:
7276 basevideoencoder: Remove ::get_caps() vfunc
7277 Subclasses can set the caps more efficiently and this only
7278 caused additional indirections.
7280 2011-08-10 10:24:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7282 * omx/gstomxh263enc.c:
7283 * omx/gstomxh264enc.c:
7284 * omx/gstomxmpeg4videoenc.c:
7285 * omx/gstomxvideoenc.c:
7286 omxvideoenc: Use "video/x-raw-yuv" as sink template caps instead of strict I420 caps
7288 2011-08-10 10:23:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7290 * omx/gstomxmpeg4videodec.c:
7291 omxmpeg4videodec: Don't require width/height on sink pad caps
7293 2011-08-10 10:11:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7295 * omx/gstomxh263dec.c:
7296 * omx/gstomxh264dec.c:
7297 * omx/gstomxmpeg4videodec.c:
7298 * omx/gstomxvideodec.c:
7299 * omx/gstomxwmvdec.c:
7300 omxvideodec: Use "video/x-raw-yuv" as src template caps instead of strict I420 caps
7302 2011-08-10 09:56:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7304 * omx/gstomxvideoenc.c:
7305 omxvideoenc: Set the state back to StateLoaded even if an error happened
7307 2011-08-10 09:49:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7310 omx: Don't hold any locks while calling OMX_SendCommand()
7311 It might call into one of the callbacks and lead to deadlocks, e.g.
7312 with the Qualcomm OMX implementation.
7314 2011-08-10 09:32:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7319 2011-08-10 09:23:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7322 omx: Reset pending reconfigure output ports when changing the state from Executing to any lower state
7324 2011-08-10 09:08:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7327 omx: Fix crash when setting last error after the ports were freed
7329 2011-08-10 09:03:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7332 omx: Free component structure
7334 2011-08-10 09:02:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7337 omx: Make component destruction safer
7339 2011-08-10 08:53:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7342 omx: Set pAppPrivate of buffers to NULL when deallocating buffers
7343 This prevents usage of freed memory later if the OMX component
7344 has weird behaviour.
7346 2011-08-10 08:52:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7348 * omx/gstomxvideodec.c:
7349 omxvideodec: Set the state back to StateLoaded even if an error happened
7351 2011-08-10 08:51:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7354 omx: Add some assertions to check if the buffer pAppPrivate is still correct
7356 2011-08-08 13:04:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7359 omx: Add parenthesis at correct places in the struct init macro
7361 2011-08-08 12:12:58 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7364 omx: Only prevent setting a higher state if the component is in an error state
7366 2011-08-03 16:02:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7368 * omx/gstbasevideodecoder.c:
7369 basevideodecoder: Use the cached video frame size instead of recalculating it
7371 2011-08-03 15:35:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7374 omx: Improve debugging in param/config getter/setter wrappers
7376 2011-08-03 13:10:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7378 * omx/gstomxvideodec.c:
7379 omxvideodec: Don't abort if the color format is not supported but give a useful error message
7381 2011-08-02 15:14:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7383 * omx/gstomxh263enc.c:
7384 * omx/gstomxh264enc.c:
7385 * omx/gstomxmpeg4videoenc.c:
7386 * omx/gstomxvideoenc.c:
7387 omxvideoenc: Don't fail if setting the bitrate or profile is not supported by the component
7388 Also always set/get the profile, even if there are no peer caps.
7390 2011-08-02 15:14:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7392 * omx/gstbasevideoencoder.c:
7393 basevideoencoder: Make access to the list of frames threadsafe
7395 2011-08-01 13:22:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7399 omx: Add a hacks flag for the Qualcomm 7x30 OMX_FillThisBuffer() race and make it optional
7401 2011-07-29 13:56:59 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7404 omx: Add workaround for QCOM 7x30 race condition
7406 2011-07-29 12:06:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7410 * omx/gstomxh263enc.c:
7411 * omx/gstomxh263enc.h:
7412 omxh263enc: Add H.263 encoder element
7414 2011-07-29 11:26:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7416 * omx/gstomxmpeg4videoenc.c:
7417 omxmpeg4videoenc: Add support for setting profile/level via caps
7419 2011-07-28 14:14:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7421 * omx/gstomxh264enc.c:
7422 omxh264enc: Add support for setting profile/level via caps
7424 2011-07-28 12:58:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7426 * omx/gstomxvideoenc.c:
7427 omxvideoenc: Add support for forcing the next frame to be a keyframe
7429 2011-07-28 11:54:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7431 * omx/gstomxvideoenc.c:
7432 * omx/gstomxvideoenc.h:
7433 omxvideoenc: Add support for setting bitrate/quantization related parameters
7435 2011-07-28 10:23:08 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7439 omx: Add wrapper functions for OMX_[GS]et{Config,Parameter}
7441 2011-07-28 09:54:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7445 omx: Add macro to initialize OpenMAX structures
7447 2011-07-28 09:08:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7449 * omx/gstomxvideoenc.c:
7450 omxvideoenc: Don't output 0-byte buffers
7452 2011-07-25 15:05:08 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7455 omx: Ensure that the pAppPrivate pointer in OMX buffers is set correctly
7457 2011-07-25 13:19:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7459 * omx/gstomxvideodec.c:
7460 * omx/gstomxvideoenc.c:
7461 omxvideo{enc,dec}: Only set/unset flushing state on ports if they were created already
7463 2011-07-25 12:01:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7467 * omx/gstomxwmvdec.c:
7468 * omx/gstomxwmvdec.h:
7469 omxwmvdec: Add WMV video decoder element
7471 2011-07-25 11:44:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7475 * omx/gstomxh263dec.c:
7476 * omx/gstomxh263dec.h:
7477 omxh263dec: Add H.263 decoder element
7479 2011-07-25 11:32:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7483 * omx/gstomxh264enc.c:
7484 * omx/gstomxh264enc.h:
7485 omxh264enc: Add H.264 encoder element
7487 2011-07-25 10:48:58 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7489 * omx/gstomxvideodec.c:
7490 omxvideodec: Try harder to deallocate the buffers after errors happened
7492 2011-07-25 10:47:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7494 * omx/gstomxvideoenc.c:
7495 omxvideoenc: Try harder to deallocate the buffers after errors happened
7497 2011-07-25 10:46:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7500 omx: Deallocate port buffers before freeing the component
7501 They should be deallocated by the caller before reaching the
7502 Loaded state but to be on the safe side we will make sure
7503 they're really deallocated here.
7505 2011-07-21 11:15:14 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7507 * omx/gstomxvideoenc.c:
7508 omxvideoenc: Add initial support for stride conversion
7510 2011-07-21 10:38:26 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7512 * omx/gstomxh264dec.c:
7513 * omx/gstomxmpeg4videodec.c:
7514 * omx/gstomxmpeg4videoenc.c:
7515 omx: Set default roles for the components if none were set from the config file
7517 2011-07-21 10:36:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7520 omx: Failure to set the component role is fatal
7522 2011-07-21 07:53:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7524 * omx/gstomxvideoenc.c:
7525 omxvideoenc: Add support for setting codec_data on the srcpad caps
7527 2011-07-21 07:44:34 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7529 * omx/gstomxvideoenc.c:
7530 omxvideoenc: Free/drop GstVideoFrames that resulted in an empty buffer
7532 2011-07-21 07:44:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7534 * omx/gstbasevideoencoder.c:
7535 basevideoencoder: Allow finishing of frames with no src_buffer to drop/free the GstVideoFrame
7537 2011-07-21 07:31:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7539 * omx/gstomxvideoenc.c:
7540 omxvideoenc: Remove obsolete TODO comment
7542 2011-07-20 11:09:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7546 omx: Use libgstopenmax.so for the plugin filename and openmax for the plugin name
7547 Resolves conflicts with gst-openmax.
7549 2011-07-20 08:34:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7555 * omx/gstomxmpeg4videoenc.c:
7556 * omx/gstomxmpeg4videoenc.h:
7557 * omx/gstomxvideoenc.c:
7558 * omx/gstomxvideoenc.h:
7559 omxvideoenc: Add video encoder base class and MPEG4 video encoder
7560 Unfortunately requires lots of hacks again to work properly with
7563 2011-07-20 10:39:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7565 * omx/gstbasevideoencoder.c:
7566 basevideoencoder: Only get caps from the subclass if they were not set yet by the subclass
7568 2011-07-20 09:25:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7570 * omx/gstbasevideoencoder.c:
7571 * omx/gstbasevideoencoder.h:
7572 basevideoencoder: Delay sending of serialized sink events until finish_frame()
7574 2011-07-20 09:09:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7576 * omx/gstbasevideoencoder.c:
7577 * omx/gstbasevideoencoder.h:
7578 basevideoencoder: Add ::reset vfunc and handle ::reset/::finish the same way as in the decoder
7580 2011-07-19 12:50:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7582 * omx/gstbasevideoencoder.c:
7583 basevideoencoder: Use a temporary GstVideoState until the subclass accepted the caps
7584 Also store the caps in the GstVideoState and assume a PAR of 1/1 instead
7585 of 0/1 if no PAR is specified in the caps.
7587 2011-07-19 12:29:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7590 * omx/gstomxvideodec.c:
7591 omx: Improve debug output a bit
7593 2011-07-19 10:33:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7597 * omx/gstomxvideodec.c:
7598 omx: Rework port reconfiguration again and only use the Bellagio specific hacks with Bellagio
7599 We only reconfigure ports that need to be reconfigured now instead of
7602 2011-07-19 10:33:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7607 * omx/gstomxvideodec.c:
7608 * omx/gstomxvideodec.h:
7609 omx: Add infrastructure to enable special hacks for broken OpenMAX implementations
7611 2011-07-18 13:10:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7614 omx: When acquiring a buffer from an input port always wait until all output ports are reconfigured
7616 2011-07-18 08:41:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7618 * omx/gstomxvideodec.c:
7619 omxvideodec: Add support for converting between omx and gst rowstrides
7621 2011-07-14 10:34:09 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7624 omx: Provide all buffers to output ports after enabling them
7626 2011-07-14 08:29:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7628 * omx/gstomxvideodec.c:
7629 omxvideodec: Add support for NV12 / OMX_COLOR_FormatYUV420SemiPlanar
7631 2011-07-14 07:58:41 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7633 * omx/gstomxvideodec.c:
7634 * omx/gstomxvideodec.h:
7635 omxvideodec: Only flush the component ports after we passed input to them
7637 2011-07-13 21:19:34 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7639 * omx/gstomxvideodec.c:
7640 omxvideodec: Only change states downwards if an upper state was reached
7642 2011-07-13 20:37:02 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7646 * omx/gstomxvideodec.c:
7647 * omx/gstomxvideodec.h:
7648 omx: Add support for setting the component-role
7650 2011-07-13 20:22:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7654 * omx/gstomxvideodec.c:
7655 omx: Improve error reporting by formatting the error codes better and also providing their string representation
7657 2011-07-13 14:36:14 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7660 build: Dist autogen.sh
7662 2011-07-13 14:35:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7666 build: Only require GStreamer >= 0.10.29 and GLib >= 2.16
7668 2011-07-13 14:04:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7671 build: Dist gstomx.conf
7673 2011-07-13 14:04:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7676 build: Clean _stdint.h on "make distclean"
7678 2011-07-13 14:02:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7680 * omx/gstomxvideodec.c:
7681 omxvideodec: Fix typo
7683 2011-07-13 13:59:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7688 2011-07-13 12:46:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7690 * omx/gstomxvideodec.c:
7691 omxvideodec: Set SYNCFRAME flag on the OMX buffers for non-delta units
7693 2011-07-13 12:37:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7695 * omx/gstomxvideodec.c:
7696 omxvideodec: Free all pending frames when resetting the decoder
7697 Workaround for https://bugzilla.gnome.org/show_bug.cgi?id=654529
7699 2011-07-13 09:59:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7701 * omx/gstomxvideodec.c:
7702 omxvideodec: Handle output buffers without a corresponding GstVideoFrame more gracefully
7703 This can happen on EOS in some cases and when the input is not
7706 2011-07-13 09:31:22 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7708 * omx/gstomxvideodec.c:
7709 omxvideodec: Fix deadlock when finishing old frames that are left over by the decoder
7711 2011-07-12 11:37:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7713 * omx/gstomxh264dec.c:
7714 omxh264dec: It's called H.264, not H264
7716 2011-07-12 11:36:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7718 * omx/gstomxh264dec.c:
7719 * omx/gstomxmpeg4videodec.c:
7720 * omx/gstomxvideodec.c:
7721 * omx/gstomxvideodec.h:
7722 omxvideodec: Make sink/src pad template caps configurable
7724 2011-07-12 11:13:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7727 omx: Allow to set a preferred configuration directory with the GST_OMX_CONFIG_DIR environment variable
7729 2011-07-12 10:55:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7731 * omx/gstomxh264dec.c:
7732 * omx/gstomxmpeg4videodec.c:
7733 * omx/gstomxvideodec.c:
7734 omxvideodec: Make core/component-name and in/outport index configurable
7736 2011-07-12 10:05:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7741 omx: Add initial version of configuration system
7742 This now only registers elements that are specified in the
7744 The configuration file is a keyfile in the first XDG configuration
7745 directory with the name gstomx.conf.
7747 2011-07-12 08:53:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7751 * omx/gstomxh264dec.c:
7752 * omx/gstomxh264dec.h:
7753 * omx/gstomxh264videodec.h:
7754 omxh264dec: Rename from omxh264videodec to omxh264dec
7756 2011-07-12 08:40:48 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7758 * omx/gstomxh264videodec.c:
7759 omxh264videodec: Require alignment=au and stream-format={avc,bytestream}
7761 2011-07-11 12:59:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7763 * omx/gstbasevideodecoder.c:
7764 basevideodecoder: First inform subclass about resetting before resetting/freeing all internal state
7765 The subclass might want to access the old state.
7767 2011-07-11 12:36:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7769 * omx/gstbasevideodecoder.c:
7770 basevideodecoder: Track present position on discont before resetting it
7772 2011-07-11 11:52:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7774 * omx/gstbasevideodecoder.c:
7775 basevideodecoder: Also protect the list of pending frames from concurrent access when pushing all pendings events
7777 2011-07-11 11:28:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7779 * omx/gstbasevideocodec.c:
7780 * omx/gstbasevideocodec.h:
7781 * omx/gstbasevideodecoder.c:
7782 basevideocodec: Protect access to the list of pending frames with the object lock
7783 This is required if ::finish_frame() and all buffer output happens
7784 on a different thread than the sinkpad streaming thread.
7786 2011-07-11 09:35:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7788 * omx/gstbasevideodecoder.c:
7789 basevideodecoder: Set the correct lists to NULL after freeing
7791 2011-07-11 08:54:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7793 * omx/gstbasevideodecoder.c:
7794 basevideodecoder: Work with a copy of the GstVideoState in setcaps until the caps are accepted
7795 Also fix a refcount problem with the codec_data.
7797 2011-07-12 08:34:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7801 * omx/gstomxh264videodec.c:
7802 * omx/gstomxh264videodec.h:
7803 omxh264videodec: Add h.264 video decoder
7805 2011-07-12 08:29:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7807 * omx/gstomxmpeg4videodec.c:
7808 omxmpeg4videodec: Fix debug category name
7810 2011-07-09 11:41:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7813 * omx/gstbasevideocodec.h:
7814 * omx/gstbasevideodecoder.c:
7815 * omx/gstbasevideoencoder.c:
7816 * omx/gstbasevideoutils.c:
7817 * omx/gstbasevideoutils.h:
7818 basevideo: Move the utils from the codec header to its own header
7820 2011-07-09 11:32:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7822 * omx/gstbasevideocodec.c:
7823 * omx/gstbasevideodecoder.c:
7824 basevideo: Use GSlice for allocating GstVideoFrame and don't duplicate code in the decoder base class
7826 2011-07-09 11:05:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7828 * omx/gstomxvideodec.c:
7829 omxvideodec: Use the destroy notify to free the coder_hook
7831 2011-07-09 10:57:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7833 * omx/gstbasevideocodec.c:
7834 * omx/gstbasevideocodec.h:
7835 * omx/gstbasevideodecoder.c:
7836 basevideo: Add destroy notify for the coder_hook to prevent memory leaks
7839 2011-07-09 10:44:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7842 basevideo: Fix GType names to not conflict with the public video base classes
7843 It's still not possible to include headers of both in the same file
7844 or compile/link both into the same plugin but that shouldn't be
7847 2011-07-08 15:42:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7849 * omx/gstomxvideodec.c:
7850 omxvideodec: Fix some minor memory leaks
7852 2011-07-08 15:25:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7856 * omx/gstomxvideodec.c:
7857 omx: Rework port reconfiguration
7858 We always reconfigure all ports now if the settings of one
7859 port changes to prevent lots of race conditions, dropped
7860 frames and similar issues.
7862 2011-07-08 13:16:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7864 * omx/gstomxvideodec.c:
7865 * omx/gstomxvideodec.h:
7866 omxvideodec: Use the frames storage of the base class instead of implementing our own
7867 They could get out of sync and we could store already destroyed frames.
7869 2011-07-07 12:51:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7872 omx: Clarify GQueue/GPtrArray element types
7874 2011-07-07 12:23:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7878 * omx/gstomxvideodec.c:
7879 omx: Add more checks to acquire_buffer() and return the current state additional to the buffer
7880 Also refactor the code flow in the video decoder for this. This makes
7881 the usage of acquire_buffer() easier and more atomic.
7883 2011-07-07 12:22:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7885 * omx/gstomxvideodec.c:
7886 omxvideodec: Also flush/unflush the input port when changing the state PAUSED<->READY
7888 2011-07-07 12:21:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7891 omx: Don't broadcast port->port_cond after allocating buffers successfully
7892 Allocating buffers must happen while no thread is waiting for the
7893 cond and especially must happen from the thread that would acquire
7894 buffers from the port.
7896 2011-07-07 11:27:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7898 * omx/gstomxvideodec.c:
7899 omxvideodec: Don't leak the codec_data after sending it
7901 2011-07-07 10:27:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7904 omx: Always check if the component is in an error state before waiting for a condition variable to be signalled
7905 Otherwise we might wait forever because nothing is going to signal
7906 the condition variable anymore.
7908 2011-07-07 10:22:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7911 omx: Always hold port->port_lock before signalling port->port_cond when notifying about errors
7912 Otherwise a port might be in the critical section, has checked the error state
7913 already but waits after port->port_cond is signalled, which will lead
7916 2011-07-07 10:07:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7918 * omx/gstomxvideodec.c:
7919 omxvideodec: Remove reconfiguration test hack
7921 2011-07-06 13:27:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7924 omx: Improve debug output a bit
7926 2011-07-06 13:26:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7929 omx: Always try to deallocate buffers, even if there's a component error
7931 2011-07-06 13:26:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7934 omx: Use G_USEC_PER_SEC for clarity instead of 1000000
7936 2011-07-06 13:19:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7938 * omx/gstomxvideodec.c:
7939 omxvideodec: Error out if the GStreamer allocated buffer is smaller than the OpenMAX output buffer
7940 Usually this must never happen but currently it happens during reconfigurations
7941 because of a race condition. Still it's better than crashing.
7943 2011-07-06 10:40:13 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7947 omx: Don't use port_def.bEnabled to check if the Enable/Disable command is finished
7948 bEnabled should be set immediately after sending the command, it's only
7949 Bellagio that waits until the command is finished before setting it.
7951 2011-07-06 10:30:11 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7953 * omx/gstomxvideodec.c:
7954 omxvideodec: Remove obsolete FIXME comment
7956 2011-07-06 10:29:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7960 omx: Improve error handling and reporting
7962 2011-07-06 08:48:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7964 * omx/gstomxmpeg4videodec.c:
7965 * omx/gstomxvideodec.c:
7966 * omx/gstomxvideodec.h:
7967 omxvideodec: Make the inport and outport index configurable by the subclass
7969 2011-06-28 08:51:23 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7974 * omx/gstomxmpeg4videodec.c:
7975 * omx/gstomxmpeg4videodec.h:
7976 * omx/gstomxvideodec.c:
7977 * omx/gstomxvideodec.h:
7978 omx: Add initial version of OpenMAX framework, video decoder base class and MPEG4 video decoder
7979 This currently hardcodes a lot of stuff but works at least.
7980 Also adds a generic framework for handling OpenMAX cores, components
7983 2011-06-28 11:47:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7985 * omx/gstbasevideocodec.c:
7986 * omx/gstbasevideocodec.h:
7987 * omx/gstbasevideodecoder.c:
7988 * omx/gstbasevideodecoder.h:
7989 basevideodecoder: Don't reorder serialized src events
7990 And allow to drop EOS by the subclass if ::finish returns
7994 2011-06-27 09:41:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7996 * omx/gstbasevideocodec.c:
7997 * omx/gstbasevideocodec.h:
7998 * omx/gstbasevideodecoder.c:
7999 basevideo: Add the caps to the GstVideoState and clean up caps/codec_data properly
8001 2011-06-27 09:37:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8003 * omx/gstbasevideocodec.c:
8004 * omx/gstbasevideocodec.h:
8005 * omx/gstbasevideodecoder.c:
8006 * omx/gstbasevideodecoder.h:
8007 * omx/gstbasevideoencoder.c:
8008 * omx/gstbasevideoencoder.h:
8009 * omx/gstbasevideoutils.c:
8010 basevideo: Add video encoder/decoder base classes from gst-plugins-bad
8012 2011-06-21 11:17:35 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8014 * omx/openmax/OMX_Audio.h:
8015 * omx/openmax/OMX_Component.h:
8016 * omx/openmax/OMX_ComponentExt.h:
8017 * omx/openmax/OMX_ContentPipe.h:
8018 * omx/openmax/OMX_Core.h:
8019 * omx/openmax/OMX_CoreExt.h:
8020 * omx/openmax/OMX_IVCommon.h:
8021 * omx/openmax/OMX_Image.h:
8022 * omx/openmax/OMX_Index.h:
8023 * omx/openmax/OMX_IndexExt.h:
8024 * omx/openmax/OMX_Other.h:
8025 * omx/openmax/OMX_Types.h:
8026 * omx/openmax/OMX_Video.h:
8027 * omx/openmax/OMX_VideoExt.h:
8028 openmax: Add OpenMAX IL 1.1.2 headers