b7b02d09703e85fb1fe19d6222ca8424650527f7
[platform/upstream/gstreamer.git] / ChangeLog
1 === release 1.19.1 ===
2
3 2021-06-01 00:16:41 +0100  Tim-Philipp Müller <tim@centricular.com>
4
5         * ChangeLog:
6         * NEWS:
7         * RELEASE:
8         * gst-omx.doap:
9         * meson.build:
10           Release 1.19.1
11
12 2020-11-04 18:48:13 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
13
14         * meson.build:
15           meson: Enable some MSVC warnings for parity with GCC/Clang
16           This makes it easier to do development with MSVC by making it warn
17           on common issues that GCC/Clang error out for in our CI configuration.
18           Continuation from https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/223
19           Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/75>
20
21 2020-10-16 12:45:09 +0200  Stéphane Cerveau <scerveau@collabora.com>
22
23         * examples/egl/testegl.c:
24         * meson.build:
25           meson: update glib minimum version to 2.56
26           In order to support the symbol g_enum_to_string in various
27           project using GStreamer ( gst-validate etc.), the glib minimum
28           version should be 2.56.0.
29           Remove compat code as glib requirement
30           is now > 2.56
31           Version used by Ubuntu 18.04 LTS
32           Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/74>
33
34 2020-10-05 12:32:10 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
35
36         * omx/gstomxvideodec.c:
37           omxvideodec: support interlace-mode=interleaved input
38           interlace-mode=alternate is a special case of interlace-mode=interleaved
39           where the fields are split using two different buffers.
40           The Zynq decoder always produces alternate content and we
41           used to assume that upstream will set interlace-mode=alternate in its
42           caps as well.
43           This is no longer the case as h265parse is now setting
44           alternate-mode=interleaved on alternate content to not break compat with
45           elements not supporting alternate.
46           As a result the decoder now accept both 'interleaved' and 'alternate' on
47           its input and ensures that its ouput has interlace-mode=alternate.
48           Needed to fix https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/825
49           Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/72>
50
51 2020-09-08 17:31:06 +0100  Tim-Philipp Müller <tim@centricular.com>
52
53         * .gitlab-ci.yml:
54           ci: include template from gst-ci master branch again
55
56 2020-09-08 16:59:09 +0100  Tim-Philipp Müller <tim@centricular.com>
57
58         * meson.build:
59           Back to development
60
61 === release 1.18.0 ===
62
63 2020-09-08 00:10:02 +0100  Tim-Philipp Müller <tim@centricular.com>
64
65         * .gitlab-ci.yml:
66         * ChangeLog:
67         * NEWS:
68         * RELEASE:
69         * gst-omx.doap:
70         * meson.build:
71           Release 1.18.0
72
73 2020-08-27 17:19:44 +0100  Tim-Philipp Müller <tim@centricular.com>
74
75         * config/tizonia/meson.build:
76           meson: fix Tizonia build
77           Was failing for release versions with
78           meson.build:414:10: ERROR: Can not set values on configuration object that has been used.
79           Caused by !69, but CI didn't notice at the time because it was set to a git version.
80
81 === release 1.17.90 ===
82
83 2020-08-20 16:16:35 +0100  Tim-Philipp Müller <tim@centricular.com>
84
85         * ChangeLog:
86         * NEWS:
87         * RELEASE:
88         * gst-omx.doap:
89         * meson.build:
90           Release 1.17.90
91
92 2020-07-08 17:39:20 +0100  Tim-Philipp Müller <tim@centricular.com>
93
94         * gst-omx.doap:
95         * meson.build:
96         * scripts/extract-release-date-from-doap-file.py:
97           meson: set release date from .doap file for releases
98           Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/69>
99
100 2020-07-03 02:04:16 +0100  Tim-Philipp Müller <tim@centricular.com>
101
102         * meson.build:
103           Back to development
104
105 === release 1.17.2 ===
106
107 2020-07-03 00:37:06 +0100  Tim-Philipp Müller <tim@centricular.com>
108
109         * ChangeLog:
110         * NEWS:
111         * RELEASE:
112         * gst-omx.doap:
113         * meson.build:
114           Release 1.17.2
115
116 2020-06-20 00:28:37 +0100  Tim-Philipp Müller <tim@centricular.com>
117
118         * meson.build:
119           Back to development
120
121 === release 1.17.1 ===
122
123 2020-06-19 19:27:38 +0100  Tim-Philipp Müller <tim@centricular.com>
124
125         * ChangeLog:
126         * NEWS:
127         * RELEASE:
128         * gst-omx.doap:
129         * meson.build:
130           Release 1.17.1
131
132 2020-06-16 01:20:27 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
133
134         * docs/gst_plugins_cache.json:
135           docs: Update plugin cache json
136           https://gitlab.freedesktop.org/alatiera/gst-ci/-/jobs/3109574
137           Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/68>
138
139 2020-06-03 22:24:09 -0400  Thibault Saunier <tsaunier@igalia.com>
140
141         * docs/gst_plugins_cache.json:
142           docs: Update documentation cache
143
144 2019-12-23 18:23:55 -0800  Dylan Yip <dylan.yip@xilinx.com>
145
146         * omx/gstomx.c:
147           omx: Add latest OMX_ALG_Index's to omx_index_type_to_str
148           Add following indexes to omx_index_type_to_str:
149           OMX_ALG_IndexParamVideoAccessUnitDelimiter
150           OMX_ALG_IndexParamVideoBufferingPeriodSEI
151           OMX_ALG_IndexParamVideoPictureTimingSEI
152           OMX_ALG_IndexParamVideoRecoveryPointSEI
153           OMX_ALG_IndexParamVideoMasteringDisplayColourVolumeSEI
154           OMX_ALG_IndexParamVideoContentLightLevelSEI
155           OMX_ALG_IndexConfigVideoRegionOfInterestByValue
156           OMX_ALG_IndexConfigVideoColorPrimaries
157
158 2020-05-20 17:05:33 +0200  Stéphane Cerveau <scerveau@collabora.com>
159
160         * omx/gstomx.c:
161           zynq: change API to use public 2020.01 from vcu-omx-il
162           This new release 2020.01 fixes an API typo
163           Change to OMX_ALG_IndexConfigVideoHighDynamicRangeSEI
164           instead of OMX_ALG_IndexConfigVideoHighDynamicRangeSEIs
165           among others.
166
167 2017-12-27 17:18:54 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
168
169         * omx/gstomxvideoenc.c:
170           omxvideoenc: factor out gst_omx_video_enc_allocate_out_buffers()
171           No semantic change.
172           Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/66>
173
174 2020-04-10 11:47:03 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
175
176         * omx/gstomxh265enc.c:
177         * omx/gstomxvideo.c:
178         * omx/gstomxvideo.h:
179         * omx/gstomxvideodec.c:
180         * omx/gstomxvideoenc.c:
181           omxvideoenc: remove unsupported formats from caps template
182           Our encoder implementation actually supports a small subset of the
183           formats supported by the decoder. Those are the formats for which we
184           have a copy path in gst_omx_video_enc_fill_buffer() and which are not
185           filtered out in filter_supported_formats().
186
187 2020-04-10 09:59:02 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
188
189         * omx/gstomxvideo.h:
190           video: remove BGR from supported format
191           It's not supported by either decoder or encoder and is even not listed in
192           gst_omx_video_get_format_from_omx() so it can't work.
193
194 2020-04-10 10:21:16 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
195
196         * omx/gstomxvideoenc.c:
197           omxvideoenc: add GRAY8 support
198           It's supported by Zynq encoder and was already in the sink caps
199           template.
200
201 2020-04-10 11:18:49 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
202
203         * omx/gstomxvideoenc.c:
204           omxvideoenc: factor out gst_omx_video_enc_copy_plane()
205           No semantic change, I'm going to use it to copy GRAY8 buffers which is
206           actually a single plane 8-bits format.
207
208 2020-04-10 10:58:34 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
209
210         * omx/gstomxvideoenc.c:
211           omxvideoenc: use gst_video_meta_get_plane_height() to compute slice height
212           This new API saves us from doing manual computation and actually work
213           with single planar formats, such as GRAY8.
214
215 2020-04-07 19:59:12 +0200  Stéphane Cerveau <scerveau@collabora.com>
216
217         * omx/gstomxh264enc.c:
218         * omx/gstomxh265enc.c:
219         * omx/gstomxvideo.c:
220         * omx/gstomxvideoenc.c:
221           omxh26xenc: fix coverity with frame test
222           Coverity was complaining with:
223           Null pointer dereferences  (REVERSE_INULL) Null-checking "frame"
224           suggests that it may be null, but it has already been
225           dereferenced on all paths leading to the check.
226           The frame == NULL has been removed as 'frame' is actively used
227           in the code above without any change of dereferencing and setting
228           its value to NULL before the test.
229           CID: 1461287
230
231 2020-03-19 16:23:41 +0100  Stéphane Cerveau <scerveau@collabora.com>
232
233         * omx/gstomxvideoenc.c:
234           gstomxvideoenc: fix subframe output_buffer
235           Using more than 1 subframes was failing with
236           frame->output_buffer = NULL
237
238 2020-02-06 10:21:49 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
239
240         * omx/gstomxvideodec.c:
241           omxvideodec: add support of alternate interlace mode on zynq
242
243 2020-02-06 10:11:13 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
244
245         * omx/gstomxh265enc.c:
246         * omx/gstomxvideoenc.c:
247           omxvideoenc: add support of alternate interlace mode on zynq
248           It's only supported by the Zynq HEVC encoder for now.
249
250 2020-02-06 10:12:50 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
251
252         * omx/gstomx.c:
253           omx: add alternate flags to buffer_flags_map
254           Zynq specific flags used to tag top/bottom fields in alternate mode.
255
256 2020-02-06 09:57:48 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
257
258         * omx/gstomxvideo.c:
259         * omx/gstomxvideoenc.c:
260           omxvideo(enc): use GST_VIDEO_INFO_FIELD_RATE_N()
261           Does not change anything for now but will be needed when we'll support
262           interlace-mode=alternate as the field rate will be twice the frame rate.
263           Made the code safe from division by 0 while I was on it.
264
265 2020-02-06 09:36:20 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
266
267         * omx/gstomxvideodec.c:
268         * omx/gstomxvideoenc.c:
269           omxvideo{enc,dec}: use GST_VIDEO_INFO_FIELD_HEIGHT()
270           Does not change anything for now but will be needed when we'll support
271           interlace-mode=alternate as the fields will have half the frame height.
272
273 2020-02-25 10:45:47 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
274
275         * omx/gstomx.c:
276           omx: don't log error when failing to load conf file with generic target
277           The generic target is meant to only test building gst-omx. It doesn't
278           provide any configuration file and so is not supposed to register any
279           element.
280           I'm not aware of any user building gst-omx with this target and
281           providing their own conf file to actually register elements. But best to
282           not break this use case anyway so let's just downgrade the log message.
283           Fix GST_ERROR in the 'check fedora' CI job.
284
285 2020-01-27 11:56:53 +0100  Stéphane Cerveau <scerveau@collabora.com>
286
287         * meson.build:
288           meson: add glib project fallback
289           Add a fallback from glib project to provide glib, gio and
290           gmodule dependencies.
291
292 2020-01-15 11:06:12 +0000  Stéphane Cerveau <scerveau@collabora.com>
293
294         * omx/gstomxvideoenc.c:
295           omxvideoenc: fix warning
296           Fix warning test when OMX_BUFFERFLAG_ENDOFFRAME
297           is not set.
298
299 2018-08-28 13:03:14 -0700  Varunkumar Allagadapa <varunkum@xilinx.com>
300
301         * omx/gstomxvideoenc.c:
302         * omx/gstomxvideoenc.h:
303           omxvideoenc: Add look-ahead property to ZYNQ_USCALE_PLUS encoder
304           This patch adds look-ahead property to encoder
305           The value indicates look ahead size in frames,
306           the number of frames processed ahead of second pass encoding.
307           Dual pass encoding is disabled if look-ahead
308           value is less than 2.
309
310 2018-08-06 13:02:41 -0700  Varunkumar Allagadapa <varunkum@xilinx.com>
311
312         * omx/gstomxvideoenc.c:
313         * omx/gstomxvideoenc.h:
314           omxvideoenc: Add long-term-ref support to ZYNQ_USCALE_PLUS encoder
315           Custom API that upstream elements can use to notify encoders about
316           marking longterm ref. pictures or using longterm ref. pictures in
317           encoding process.
318           This patch adds below properties:
319           long-term-ref: Enable/Disable dynamically marking long-term
320           reference pictures in encoding process
321           long-term-freq: Periodicity of long-term reference picture
322           marking in encoding process.
323           If a picture is marked as long-term reference picture then it remains
324           in the DPB list for ever unless it overrides with new long-term pitcure with
325           same index. Encoder can use this long-term picture as refence for
326           encoding.
327           This feature is mostly useful to avoid visual artifacts propagation in streaming use cases
328           when packet loss happens. Instead of requesting for IDR, client can request for use long-term
329           reference picture for encoding.
330
331 2020-01-07 10:24:19 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
332
333         * meson.build:
334           meson: display OMX target when configuring
335           I'm adding more gst-omx CI (
336           https://gitlab.freedesktop.org/gstreamer/gst-ci/issues/20 ) having the
337           OMX targets displayed in the logs makes things clearer.
338
339 2019-08-30 10:27:32 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
340
341         * omx/gstomx.c:
342           omx: remove useless double negations
343           flush and port->flushing are both gboolean.
344
345 2019-12-20 22:19:06 -0800  Julien Isorce <jisorce@oblong.com>
346
347         * meson.build:
348           meson: fix tizonia build
349           meson.build was both using path to gst-omx/openmax/OMX*
350           headers and path to OMX headers provided by tizilheaders.pc
351           so this patch makes sure we only use the later.
352           Also bump tizonia minimum version to 0.19.0 which
353           is the latest release.
354
355 2019-05-16 10:50:18 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
356
357         * omx/gstomxh265enc.c:
358         * omx/gstomxh265enc.h:
359           omxh265enc: handle CODECCONFIG buffers
360           Exact same code as omxh264enc.
361
362 2019-05-16 10:38:49 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
363
364         * omx/gstomxh264enc.c:
365           omxh264enc: send codec data downstream
366           We are operating in stream-format=byte-stream so the codec data buffer
367           is meant to be part of the buffer flow.
368           The base class will push it when a key frame is requested (as we stored
369           it with gst_video_encoder_set_headers()) but we still have to push it
370           right away as part of the normal buffer flow.
371           Also set the HEADER flag on this buffer.
372
373 2019-05-16 10:38:49 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
374
375         * omx/gstomxh264enc.c:
376           omxh264enc: no need to check if codeconfig has startcode
377           We currently only support stream-format=byte-stream so there is no point
378           re-checking for it when handling CODECCONFIG buffer.
379
380 2018-09-04 20:12:17 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>
381
382         * omx/gstomxh264enc.c:
383         * omx/gstomxh265enc.c:
384           omxh26xenc: Negotiate subframe mode
385           We now negotiate subframe mode through the caps. To enabled subframe
386           mode, the caps need to specify alignment=nal:
387           ... ! omxh264enc ! video/x-h264,alignment=nal ! ...
388           ... ! omxh265enc ! video/x-h265,alignment=nal ! ...
389
390 2018-08-31 12:24:34 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
391
392         * omx/gstomxvideoenc.c:
393           omxvideoenc: use subframe base class API
394           Use subframe base class support.
395
396 2018-09-04 19:34:59 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>
397
398         * omx/gstomx.c:
399         * omx/gstomx.h:
400           omx: Add helper to enable/disable/read subframe mode
401
402 2019-12-19 13:51:17 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
403
404         * omx/gstomx.c:
405           zynq: add mapping for latest custom indexes
406           Fix warning when building using version 2019.2 of OMX headers.
407
408 2019-09-12 16:29:59 -0700  Varunkumar Allagadapa <varunkumar.allagadapa@xilinx.com>
409
410         * omx/gstomxvideoenc.c:
411           omxvideoenc: update qp-mode settings
412           Adds load-qp-absolute and load-qp-relative qp-modes
413
414 2019-12-10 18:34:25 +0900  Shinya Saito <ssaito@igel.co.jp>
415
416         * omx/gstomxvideoenc.c:
417           omxvideoenc: Add stride check for input buffer extraction
418           Stride of input buffer may be different from
419           that of omx input port even if both sizes are the same.
420
421 2019-05-15 14:04:47 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
422
423         * omx/gstomxvideoenc.c:
424           omxvideoenc: pass padding requirements to ALLOCATION query
425           By passing the expected video buffer layout, the upstream producer
426           may be able to produce buffers fitting those requierements allowing
427           gst-omx to use dynamic buffer mode rather than having to copy each input
428           buffer.
429           This is particularly useful with v4l2src as it can request the capture
430           driver to produce buffers with the required paddings.
431
432 2019-07-09 13:07:32 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.com>
433
434         * omx/gstomxbufferpool.c:
435         * omx/gstomxvideo.c:
436         * omx/gstomxvideo.h:
437           omxbufferpool: use gst_video_meta_set_alignment()
438           Tell buffer consumer about our paddings.
439           v4l2src can now uses these paddings information when trying to import
440           buffers to configure the v4l2 driver accordingly.
441
442 2019-05-30 11:11:34 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
443
444         * omx/gstomxvideoenc.c:
445           omxvideoenc: fix buffer size in debug log
446           Use the actual OMX buffer size rather than the info.size as OMX
447           may require larger buffer if the port requires some padding.
448
449 2019-10-14 00:48:32 +0100  Tim-Philipp Müller <tim@centricular.com>
450
451         * .gitignore:
452         * .gitmodules:
453         * Makefile.am:
454         * autogen.sh:
455         * common:
456         * config/Makefile.am:
457         * config/bellagio/Makefile.am:
458         * config/rpi/Makefile.am:
459         * config/tizonia/Makefile.am:
460         * config/zynqultrascaleplus/Makefile.am:
461         * configure.ac:
462         * examples/Makefile.am:
463         * examples/egl/Makefile.am:
464         * m4/Makefile.am:
465         * omx/Makefile.am:
466         * tests/Makefile.am:
467         * tests/check/.gitignore:
468         * tests/check/Makefile.am:
469         * tests/check/generic/.gitignore:
470         * tools/Makefile.am:
471           Remove autotools build
472
473 2019-10-07 16:59:10 +0000  Stéphane Cerveau <scerveau@collabora.com>
474
475         * omx/gstomxallocator.c:
476           omxallocator: fix leak with a proper chaining finalize
477
478 2019-09-20 15:02:24 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
479
480         * omx/gstomxvideoenc.c:
481           omxvideoenc: revert draining on ALLOCATION and DRAIN query
482           My latest patch introduces some regressions which I have no time to
483           debug properly at the moment so just revert it for now.
484
485 2019-09-17 13:02:54 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
486
487         * omx/gstomxvideoenc.c:
488           omxvideoenc: let encoder base class handle ALLOCATION query
489           Fixing a regression introduced in my previous patch
490           (7c40a91c31aa4bcbb191f7c6a5d222edf9dfd9d1).
491           The ALLOCATION query needs to be handled by GstVideoEncoder (to call
492           propose_allocation()) so chain up the query handling rather than early
493           returning.
494
495 2019-08-29 12:20:56 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
496
497         * omx/gstomxvideoenc.c:
498           omxvideoenc: drain encoder on ALLOCATION and DRAIN queries
499           Ensure that the encoder releases all its input buffers when requested by
500           upstream. Encoder input buffers may be shared with downstreaming (when
501           using dmabuf), upstream may then request the encoder to
502           drain when reconfiguring before destroying its buffers.
503           Also drain on ALLOCATION query as we already do in kmssink as that
504           notify of a format change.
505           Fix "decoder ! encoder" pipeline when decoding a file with different
506           resolutions on Zynq.
507
508 2019-08-28 15:52:41 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
509
510         * omx/gstomx.c:
511           omx: log the number of pending buffers when port is EOS
512
513 2019-08-28 15:49:00 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
514
515         * omx/gstomx.c:
516           omx: log when an output port is eos
517
518 2019-08-27 15:47:28 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
519
520         * omx/gstomxvideoenc.c:
521           omxvideoenc: log the full input format
522           Make it easier to debug dynamic format changes.
523
524 2019-08-21 12:25:40 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
525
526         * omx/gstomxvideodec.c:
527           omxvideodec: fix dmabuf import
528           When importing dmabuf, UseBuffer() has to be called with the fd as
529           pBuffer rather than the mapped address of the buffer.
530
531 2019-08-21 12:48:25 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
532
533         * omx/gstomxbufferpool.c:
534           omxbufferpool: fix dmabuf import
535           When importing dmabuf from downstream, we want the allocator to be in
536           OTHER_POOL mode despite output_mode being DMABUF.
537           So check first if other_pool is set before checking for pool's
538           output_mode.
539
540 2019-08-22 17:55:54 +0900  Shinya Saito <ssaito@igel.co.jp>
541
542         * omx/gstomxvideoenc.c:
543           omxvideoenc: Remove unnecessary gst_video_frame_unmap()
544
545 2019-07-25 16:30:13 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
546
547         * omx/gstomxvideodec.c:
548           omxvideodec: log supported caps by the decoder
549           Can be useful when debugging to check the caps supported by the decoder
550           before filtering.
551
552 2019-07-11 12:03:46 +0900  Shinya Saito <ssaito@igel.co.jp>
553
554         * omx/gstomxvideoenc.c:
555           omxvideoenc: Unref frame of codec config buffer
556           After handling codec config, codec frame should be unreffed.
557
558 2019-06-14 16:27:37 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
559
560         * omx/gstomxvideo.c:
561           omxvideo: check difference between frame and requested ts
562           This has proven to be very useful when debugging to detect bugs where we
563           match the wrong gst frame with an output OMX buffer.
564
565 2019-06-14 10:57:29 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
566
567         * omx/gstomxvideo.c:
568         * omx/gstomxvideo.h:
569         * omx/gstomxvideodec.c:
570         * omx/gstomxvideoenc.c:
571           omxvideo: add debug infos to find_nearest_frame()
572           Those debug infos have proved to be very helpful when debugging
573           timestamp issues. They are often linked to gst-omx picking the wrong
574           frame when trying to map from OMX.
575
576 2019-03-05 16:57:40 +0900  Shinya Saito <ssaito@igel.co.jp>
577
578         * omx/gstomxvideodec.c:
579           omxvideodec: Deactivate negotiated pool when output own buffer
580           If decoder outputs internal buffer and not use OMX_UseBuffer,
581           downstream bufferpool should be stopped.
582
583 2019-06-03 12:21:05 +0900  Shinya Saito <ssaito@igel.co.jp>
584
585         * omx/gstomxh264enc.c:
586         * omx/gstomxh264enc.h:
587           omxh264enc: Add 'ref-frames' property
588           Add a property to control the number of frames for reference.
589           Min and max value is based on OpenMAX IL 1.2.0 Specification.
590
591 2019-06-03 07:57:02 +0200  Niels De Graef <niels.degraef@barco.com>
592
593         * configure.ac:
594         * meson.build:
595           meson: Bump minimal GLib version to 2.44
596           This means we can use some newer features and get rid of some
597           boilerplate code using the G_DECLARE_* macros.
598           As discussed on IRC, 2.44 is old enough by now to start depending on it.
599
600 2019-04-19 12:38:54 -0400  Thibault Saunier <tsaunier@igalia.com>
601
602         * docs/gst_plugins_cache.json:
603         * docs/index.md:
604         * docs/meson.build:
605         * docs/sitemap.txt:
606         * meson.build:
607         * meson_options.txt:
608         * omx/meson.build:
609           doc: Build documentation of hotdoc
610
611 2019-03-26 12:26:03 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>
612
613         * omx/gstomx.c:
614         * omx/gstomx.h:
615           gstomx: remove gst_omx_buffer_set_omx_buf/get_omx_buf
616           They are no longer used anywhere
617
618 2019-03-22 12:11:13 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>
619
620         * omx/Makefile.am:
621         * omx/gstomxallocator.c:
622         * omx/gstomxallocator.h:
623         * omx/gstomxbufferpool.c:
624         * omx/gstomxbufferpool.h:
625         * omx/gstomxvideoenc.c:
626         * omx/meson.build:
627           omxbufferpool: refactor to allow memory sharing
628           One big restriction of the OMX buffer pool has always been
629           that the GstMemory objects were flagged with NO_SHARE.
630           This was because the buffer pool needed to be sure that when
631           a buffer returned to the pool, it would be safe to release the
632           OMX buffer back to OpenMAX.
633           With this change, this is no longer a restriction. What this
634           commit introduces is a new allocator that allows us to track
635           the GstMemory objects independently. Now, when a buffer returns
636           to the pool, it is not necessary for the memory to be released
637           as well. We simply track the memory's ref count in the allocator
638           and we return the OMX buffer back when the memory's ref count
639           drops to 0.
640           The reason for doing this is to allow implementing zero-copy
641           transfers in situations where we may need to copy or map a
642           certain region of the buffer. For instance, omxh264enc ! h264parse
643           should be possible to be zero-copy by using an OMX buffer pool
644           between them.
645
646 2019-04-23 15:13:23 +0530  Guillaume Desmottes <guillaume.desmottes@collabora.com>
647
648         * omx/gstomxbufferpool.c:
649           omxbufferpool: fix memory mapping with offset
650           gst_memory_map() is already adding the offset to the mapped pointer.
651           Doing it in the memory implementation was resulting in the offset being
652           accounted twice.
653           It doesn't matter yet as we are only creating memory without offset for
654           now but it will once we'll start sharing OMX memories.
655
656 2019-04-19 10:43:58 +0100  Tim-Philipp Müller <tim@centricular.com>
657
658         * RELEASE:
659         * configure.ac:
660         * meson.build:
661           Back to development
662
663 === release 1.16.0 ===
664
665 2019-04-19 00:38:44 +0100  Tim-Philipp Müller <tim@centricular.com>
666
667         * ChangeLog:
668         * NEWS:
669         * RELEASE:
670         * configure.ac:
671         * gst-omx.doap:
672         * meson.build:
673           Release 1.16.0
674
675 2019-04-16 12:23:10 -0700  Julien Isorce <jisorce@oblong.com>
676
677         * omx/gstomx.c:
678           Fixes build with omx >= 1.2.0
679           gstomx.c:1405:10: error: ‘OMX_IndexParamCustomContentPipe’ undeclared (first use in this function)
680           case OMX_IndexParamCustomContentPipe
681           Some enums have been deprecated in 1.2.0
682           https://gitlab.freedesktop.org/gstreamer/gst-omx/issues/27
683
684 2018-05-18 10:55:21 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
685
686         * configure.ac:
687         * examples/egl/Makefile.am:
688         * examples/egl/meson.build:
689           testegl: properly detect and use rpi specific libs
690           Use pkg-config to detect and configure rpi specific libs used in testegl
691           rather than hardcoding their flags.
692
693 2018-05-18 10:53:34 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
694
695         * examples/egl/testegl.c:
696           testelg: include eglext.h
697           Neded for the declaration of eglSaneChooseConfigBRCM().
698
699 2018-05-18 10:38:33 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
700
701         * examples/egl/testegl.c:
702           testegl: move up pi specific macros
703           We need to define __VCCOREVER__ and disable redundant-decls before
704           including the egl.h from the pi.
705
706 === release 1.15.90 ===
707
708 2019-04-11 00:40:52 +0100  Tim-Philipp Müller <tim@centricular.com>
709
710         * ChangeLog:
711         * NEWS:
712         * RELEASE:
713         * configure.ac:
714         * gst-omx.doap:
715         * meson.build:
716           Release 1.15.90
717
718 2019-04-10 00:19:55 +0100  Tim-Philipp Müller <tim@centricular.com>
719
720         * meson.build:
721           meson: add -Wundef as additional warning flag
722
723 2019-04-10 00:16:27 +0100  Tim-Philipp Müller <tim@centricular.com>
724
725         * omx/gstomxvideoenc.c:
726           omx: fix autotools build for generic target
727           gstomxvideoenc.c:2874:7: error: "USE_OMX_TARGET_ZYNQ_USCALE_PLUS" is not defined, evaluates to 0 [-Werror=undef]
728           #elif USE_OMX_TARGET_ZYNQ_USCALE_PLUS
729           Works on meson because it doesn't use -Wundef
730
731 2018-11-12 12:51:28 +0200  Jordan Petridis <jordan@centricular.com>
732
733         * .gitlab-ci.yml:
734           Add Gitlab CI configuration
735           This commit adds a .gitlab-ci.yml file, which uses a feature
736           to fetch the config from a centralized repository. The intent is
737           to have all the gstreamer modules use the same configuration.
738           The configuration is currently hosted at the gst-ci repository
739           under the gitlab/ci_template.yml path.
740           Part of https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/29
741
742 2019-03-25 16:30:11 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.com>
743
744         * omx/gstomx.c:
745           omx: disable OMX_API_TRACE code if gst debug is disabled
746           No need to create debug structs which won't be used as DEBUG macros are
747           no-op.
748
749 2018-10-11 10:55:04 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
750
751         * omx/gstomx.c:
752           omx: log Get/SetParameter/Config calls
753           Extend OMX_API_TRACE by logging component configuration calls.
754
755 2019-02-06 14:57:05 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.com>
756
757         * omx/gstomxbufferpool.c:
758           omxbufferpool: don't use CAT_PERFORMANCE if pool will copy
759           This was the single place where this category was used in gst-omx so
760           most users, including me, are generally not turning it and were missing this
761           important information from logs.
762           The copying code uses gst_video_frame_copy() which is already logging
763           with CAT_PERFORMANCE so we can still have this information when using
764           only this debug category.
765
766 2019-02-06 14:50:44 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.com>
767
768         * omx/gstomxvideodec.c:
769           omxvideodec: add debug if proposed pool can't provide enough buffers
770           We were silently ignoring the pool which was pretty confusing when
771           debugging.
772
773 2019-03-26 12:17:26 +0000  Charlie Turner <cturner@igalia.com>
774
775         * omx/gstomxaacdec.c:
776         * omx/gstomxaacenc.c:
777         * omx/gstomxamrdec.c:
778         * omx/gstomxh263dec.c:
779         * omx/gstomxh263enc.c:
780         * omx/gstomxh264dec.c:
781         * omx/gstomxh264enc.c:
782         * omx/gstomxh265dec.c:
783         * omx/gstomxh265enc.c:
784         * omx/gstomxmjpegdec.c:
785         * omx/gstomxmp3dec.c:
786         * omx/gstomxmp3enc.c:
787         * omx/gstomxmpeg2videodec.c:
788         * omx/gstomxmpeg4videodec.c:
789         * omx/gstomxmpeg4videoenc.c:
790         * omx/gstomxtheoradec.c:
791         * omx/gstomxvp8dec.c:
792         * omx/gstomxwmvdec.c:
793           omx: Add hardware classifiers to encoders/decoders
794
795 2019-03-25 16:01:48 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.com>
796
797         * meson.build:
798           meson: sync warnings flags with -good
799           Add more warnings flags and disabled unused variable warnings if gst
800           debug system is disabled.
801           Copied from gst-plugins-good/meson.build
802
803 2019-03-04 09:16:40 +0000  Tim-Philipp Müller <tim@centricular.com>
804
805         * NEWS:
806         * RELEASE:
807         * configure.ac:
808         * meson.build:
809           Back to development
810
811 === release 1.15.2 ===
812
813 2019-02-26 12:02:23 +0000  Tim-Philipp Müller <tim@centricular.com>
814
815         * ChangeLog:
816         * NEWS:
817         * RELEASE:
818         * configure.ac:
819         * gst-omx.doap:
820         * meson.build:
821           Release 1.15.2
822
823 2019-02-14 23:57:09 +0000  Tim-Philipp Müller <tim@centricular.com>
824
825         * meson.build:
826         * meson_options.txt:
827           meson: add options to disable examples, tests and tools and bump meson requirement
828
829 2019-01-04 10:11:38 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.com>
830
831         * omx/gstomxvideo.c:
832         * omx/gstomxvideo.h:
833         * omx/gstomxvideodec.c:
834         * omx/gstomxvideoenc.c:
835           omxvideo: use GST_VIDEO_CAPS_MAKE() for template caps
836           Simplify the code and so we advertise the formats actually supported by
837           gst-omx.
838
839 2018-06-04 12:20:03 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
840
841         * omx/gstomxvideoenc.c:
842           omxvideoenc: validate cpb-size and initial-delay
843           cpb-size cannot be smaller than initial-delay.
844
845 2018-10-02 10:47:06 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
846
847         * omx/gstomxvideodec.c:
848           omxvideodec: Remove duplicated QoS code
849           The 'finish' function do the exact same check / drop, there is no
850           need to duplicate this here.
851
852 2018-09-20 14:44:09 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
853
854         * omx/gstomxvideodec.c:
855         * omx/gstomxvideodec.h:
856           omxvideodec: Remove dead code
857           The omxvideodec base class have a totally unused prepare_frame() vritual
858           function, remove it.
859
860 2018-07-11 17:38:22 -0700  Varunkumar Allagadapa <varunkum@xilinx.com>
861
862         * omx/gstomxvideoenc.c:
863           omxvideoenc: add adaptive gop-mode option
864           Added adaptive gop-mode option to ZYNQ_USCALE_PLUS encoder properties
865
866 2018-02-13 18:25:51 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>
867
868         * omx/gstomxvideoenc.c:
869           omxvideoenc: Add dynamic framerate support
870           Instead of going through a full reset, try and change the framerate
871           config on the encoder when only the framerate have change.
872
873 === release 1.15.1 ===
874
875 2019-01-17 02:38:28 +0000  Tim-Philipp Müller <tim@centricular.com>
876
877         * ChangeLog:
878         * NEWS:
879         * RELEASE:
880         * configure.ac:
881         * gst-omx.doap:
882         * meson.build:
883           Release 1.15.1
884
885 2018-02-20 10:57:42 -0800  Varunkumar Allagadapa <varunkum@xilinx.com>
886
887         * omx/gstomxvideoenc.c:
888           omxvideoenc: Add dynamic IDR insertion support on zynq
889           As the pi, the zynq has its own API to request keyframe.
890
891 2019-01-07 13:29:37 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.com>
892
893         * omx/gstomx.c:
894         * omx/gstomx.h:
895         * omx/gstomxbufferpool.c:
896           omxbufferpool: fix race when releasing input buffers
897           If buffers were released from the pool while
898           gst_omx_video_enc_handle_frame() was waiting for new buffers,
899           gst_omx_port_acquire_buffer() was never awaken as the buffers weren't
900           released through OMX's messaging system.
901           GQueue isn't thread safe so also protect it with the lock mutex.
902
903 2018-11-15 11:17:59 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
904
905         * omx/gstomxbufferpool.c:
906         * omx/gstomxbufferpool.h:
907         * omx/gstomxvideodec.c:
908         * omx/gstomxvideoenc.c:
909           omxbufferpool: fix early input buffer release
910           We used to track the 'allocating' status on the pool. It is used while
911           allocating so output buffers aren't passed right away to OMX and input
912           ones are not re-added to the pending queue.
913           This was causing a bug when exporting buffers to v4l2src. On start
914           v4l2src acquires a buffer, read its stride and release it right away.
915           As no buffer was received by the encoder element at this point, 'allocating'
916           was still on TRUE and so the the buffer wasn't put back to the pending
917           queue and, as result, no longer available to the pool.
918           Fix this by checking the active status of the pool instead of manually
919           tracking it down. The pool is considered as active at the very end of
920           the activation process so we're good when buffers are released during
921           the activation.
922
923 2018-12-05 17:24:48 -0300  Thibault Saunier <tsaunier@igalia.com>
924
925         * common:
926           Automatic update of common submodule
927           From ed78bee to 59cb678
928
929 2018-11-23 12:57:15 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.com>
930
931         * omx/gstomx.c:
932           omx: fix OMX_EventBufferFlag OMX_API_TRACE struct
933           The GType was missing from the second field of the struct.
934
935 2018-11-05 05:43:43 +0000  Matthew Waters <matthew@centricular.com>
936
937         * .gitmodules:
938         * gst-omx.doap:
939           Update git locations to gitlab
940
941 2018-09-18 16:50:11 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
942
943         * omx/gstomx.c:
944           omx: rename OMX_PERFORMANCE debug cat to OMX_API_TRACE
945           This debug category can now be used to track more OMX calls and events
946           so best to rename it to something more generic.
947           https://bugzilla.gnome.org/show_bug.cgi?id=797171
948
949 2018-08-21 17:35:04 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
950
951         * omx/gstomx.c:
952           omx: log OMX commands with OMX_PERFORMANCE debug category
953           It has been useful to have a clear raw and structured view of the gst
954           <-> OMX exchanges when debugging.
955           https://bugzilla.gnome.org/show_bug.cgi?id=797171
956
957 2018-08-21 16:50:38 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
958
959         * omx/gstomx.c:
960           omx: factor out gst_omx_component_send_command()
961           No semantic change. I'm going to add extra debug in this function.
962           https://bugzilla.gnome.org/show_bug.cgi?id=797171
963
964 2018-08-21 15:14:09 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
965
966         * omx/gstomx.c:
967           omx: log OMX events with OMX_PERFORMANCE debug category
968           It has been useful to have a clear raw and structured view of the gst
969           <-> OMX exchanges when debugging.
970           https://bugzilla.gnome.org/show_bug.cgi?id=797171
971
972 2018-08-22 12:51:30 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
973
974         * omx/gstomx.c:
975           omx: rename log_omx_performance() to log_omx_performance_buffer()
976           I'm about to log more things under this category
977           https://bugzilla.gnome.org/show_bug.cgi?id=797171
978
979 2018-09-07 22:57:30 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
980
981         * omx/gstomxvideoenc.c:
982           omxvideoenc: Remove spurious locking
983           The method we call in the context of pushing a buffer are all thread
984           safe. Holding a lock would prevent input buffers from being queued while
985           pushing.
986           https://bugzilla.gnome.org/show_bug.cgi?id=715192
987
988 2018-09-07 23:09:29 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
989
990         * omx/gstomxvideoenc.c:
991           omxvideoenc: Remove unneeded size check
992           We only enter this branch if nFilledLen > 0, there is not need
993           to check again.
994           https://bugzilla.gnome.org/show_bug.cgi?id=715192
995
996 2018-09-07 22:55:41 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
997
998         * omx/gstomxvideodec.c:
999           omxvideodec: Remove spurious unlock in error case
1000           This was forgotton in previous patch. We no long hold the lock when goto
1001           invalid_buffer is called.
1002           https://bugzilla.gnome.org/show_bug.cgi?id=715192
1003
1004 2018-08-31 17:28:03 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
1005
1006         * omx/gstomxvideodec.c:
1007           omxvideodec: don't hold the stream lock when trying to push a frame
1008           The base class methods will lock this properly when needed, there seems
1009           to be no need to lock it explicitly.
1010           This allows the patch in gstvideodec for unlocking the stream lock
1011           when pushing buffers out to work.
1012           https://bugzilla.gnome.org/show_bug.cgi?id=715192
1013
1014 2018-07-31 13:22:31 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1015
1016         * omx/gstomxvideodec.c:
1017           omxvideodec: don't import OMX buffers from downstream
1018           We already have code configuring the encoder stride and slice height
1019           when receiving the first buffer from upstream.
1020           We don't have an equivalent when the encoder is exporting its buffers to the
1021           decoder.
1022           There is no point adding it and making the code even more
1023           complex as we wouldn't gain anything by exporting from the encoder to
1024           the decoder. The dynamic buffer mode already ensures 0-copy between OMX
1025           components.
1026           https://bugzilla.gnome.org/show_bug.cgi?id=796918
1027
1028 2018-05-15 11:59:26 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1029
1030         * omx/gstomx.c:
1031         * omx/gstomx.h:
1032         * omx/gstomxbufferpool.c:
1033         * omx/gstomxvideoenc.c:
1034         * omx/gstomxvideoenc.h:
1035           omxvideoenc: implement dmabuf export on input buffers
1036           Propose pool upstream so input buffers can be allocated by the port and
1037           exported as dmabuf.
1038           The actual OMX buffers are allocated when the pool is activated, so we
1039           don't end up doing useless allocations if the pool isn't used.
1040           https://bugzilla.gnome.org/show_bug.cgi?id=796918
1041
1042 2018-08-13 15:10:37 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1043
1044         * omx/gstomx.c:
1045         * omx/gstomx.h:
1046         * omx/gstomxaudiodec.c:
1047         * omx/gstomxaudioenc.c:
1048         * omx/gstomxaudiosink.c:
1049         * omx/gstomxvideodec.c:
1050         * omx/gstomxvideoenc.c:
1051           omx: allow gst_omx_port_acquire_buffer() to not wait for buffers
1052           Will be needed to implement GST_BUFFER_POOL_ACQUIRE_FLAG_DONTWAIT.
1053           https://bugzilla.gnome.org/show_bug.cgi?id=796918
1054
1055 2018-07-31 15:04:33 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1056
1057         * omx/gstomxvideodec.c:
1058           omxvideodec: don't import non-dmabuf when dec is in dmabuf mode
1059           Fix 'omxh264dec ! videocrop' pipeline.
1060           https://bugzilla.gnome.org/show_bug.cgi?id=796918
1061
1062 2018-08-02 11:29:12 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1063
1064         * omx/gstomxvideodec.c:
1065           omxvideodec: factor out gst_omx_try_importing_buffer()
1066           No semantic change, just make the code clearer and improve debug output.
1067           https://bugzilla.gnome.org/show_bug.cgi?id=796918
1068
1069 2018-07-26 16:30:08 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1070
1071         * omx/gstomxvideodec.c:
1072           omxvideodec: fix gst_video_info_from_caps() caps assertion
1073           The "use buffers" code path uses gst_video_info_from_caps() which is
1074           asserting if caps is NULL (because pool was rejected).
1075           https://bugzilla.gnome.org/show_bug.cgi?id=796918
1076
1077 2018-07-26 16:22:50 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1078
1079         * omx/gstomxvideodec.c:
1080           omxvideodec: fix pool caps reference stealing
1081           gst_buffer_pool_config_get_params() doesn't ref the returning caps;
1082           so gst_caps_replace() was unreffing the reference owned by the pool.
1083           https://bugzilla.gnome.org/show_bug.cgi?id=796918
1084
1085 2018-07-25 09:57:20 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1086
1087         * omx/gstomxvideodec.c:
1088           omxvideodec: prevent timeout when shutting down because of pending out buffers
1089           The OMX transition state to Loaded won't be complete until all buffers
1090           have been freed. There is no point waiting, and timeout, if we know that
1091           output buffers haven't been freed yet.
1092           The typical scenario is output buffers being still used downstream
1093           and being freed later when released back to the pool.
1094           https://bugzilla.gnome.org/show_bug.cgi?id=796918
1095
1096 2018-07-24 15:14:31 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1097
1098         * omx/gstomxbufferpool.c:
1099           omxbufferpool: reference the OMX component
1100           Now that the pool is responsible of freeing the OMX buffers, we need to
1101           ensure that the OMX component stay alive while the pool is as we rely on
1102           the component to free the buffers.
1103           The GstOMXPort is owned by the component so no need to ref this one.
1104           https://bugzilla.gnome.org/show_bug.cgi?id=796918
1105
1106 2018-07-24 15:06:01 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1107
1108         * omx/gstomx.c:
1109         * omx/gstomx.h:
1110         * omx/gstomxaudiodec.c:
1111         * omx/gstomxaudioenc.c:
1112         * omx/gstomxaudiosink.c:
1113         * omx/gstomxvideodec.c:
1114         * omx/gstomxvideoenc.c:
1115           turn GstOMXComponent to a GstMiniObject
1116           Will use it for refcounting.
1117           https://bugzilla.gnome.org/show_bug.cgi?id=796918
1118
1119 2018-05-28 12:20:45 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1120
1121         * omx/gstomxbufferpool.c:
1122         * omx/gstomxvideodec.c:
1123           omxbufferpool: deallocate OMX buffers when stopping
1124           The pool is stopped when all the buffers have been released. Deallocate
1125           when stopping so we are sure that the buffers aren't still used by
1126           another element.
1127           https://bugzilla.gnome.org/show_bug.cgi?id=796918
1128
1129 2018-05-24 16:28:21 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1130
1131         * omx/gstomx.c:
1132           omx: call gst_omx_buffer_unmap() when handling BUFFER_DONE
1133           When using a input buffer pool, the buffer may be released to the pool when
1134           gst_omx_buffer_unmap() is called. We need to have buf->used unset at
1135           this point as the pool may use it to check the status of the pool.
1136           {Empty,Fill}BufferDone is called from OMX internal threads while
1137           messages are handled from gst elements' thread. Best to do all this
1138           when handling the message so we don't mess with OMX threads and keep
1139           the original thread/logic split.
1140           https://bugzilla.gnome.org/show_bug.cgi?id=796918
1141
1142 2018-05-25 14:44:16 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1143
1144         * omx/gstomxvideodec.c:
1145         * omx/gstomxvideoenc.c:
1146           omxvideo{enc,dec}: stop calling shutdown() in change_state
1147           This is no longer needed since we implemented close() vfuncs as the
1148           encoder/decoder base class already take care of calling close() (which
1149           is calling shutdown()) in its own change_state implementation.
1150           We also move the shut down of the component from PAUSED_TO_READY to READY_TO_NULL.
1151           By doing so upstream will have already deactivated the pool from the
1152           encoder and so won't be preventing the OMX state change as the buffers
1153           will all be released.
1154           https://bugzilla.gnome.org/show_bug.cgi?id=796918
1155
1156 2018-05-15 16:21:26 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1157
1158         * omx/gstomx.c:
1159         * omx/gstomx.h:
1160         * omx/gstomxbufferpool.c:
1161           omx: factor out gst_omx_buffer_get/set_omx_buf()
1162           Move the qdata code to helper functions as I'm going to need them in
1163           omxvideoenc to implement dmabuf export.
1164           https://bugzilla.gnome.org/show_bug.cgi?id=796918
1165
1166 2018-05-15 11:01:13 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1167
1168         * omx/gstomxvideoenc.c:
1169           omxvideoenc: factor out gst_omx_video_enc_set_to_idle()
1170           No semantic change. We'll have to use this when the input pool is
1171           activated so we can allocate buffers.
1172           https://bugzilla.gnome.org/show_bug.cgi?id=796918
1173
1174 2018-05-15 09:56:10 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1175
1176         * omx/gstomxvideoenc.c:
1177           omxvideoenc: factor out gst_omx_video_enc_deallocate_in_buffers()
1178           Will add extra code when adding input buffer pool.
1179           https://bugzilla.gnome.org/show_bug.cgi?id=796918
1180
1181 2018-05-14 15:16:38 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1182
1183         * omx/gstomx.c:
1184           omx: add pBuffer to OMX_PERFORMANCE logs
1185           Can be useful to check the fd being passed when using dmabuf.
1186           https://bugzilla.gnome.org/show_bug.cgi?id=796918
1187
1188 2018-03-21 12:43:33 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1189
1190         * omx/gstomx.c:
1191         * omx/gstomx.h:
1192         * omx/gstomxvideodec.c:
1193         * omx/gstomxvideoenc.c:
1194           omx: factor out gst_omx_port_set_dmabuf()
1195           No semantic change. I also made the debug message a bit clearer.
1196           https://bugzilla.gnome.org/show_bug.cgi?id=796918
1197
1198 2018-08-22 15:56:18 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1199
1200         * omx/gstomx.c:
1201           omx: wait for flush complete and buffers being released when flushing
1202           When flusing we should wait for OMX to send the flush command complete event
1203           AND all ports being released.
1204           We were stopping as soon as one of those condition was met.
1205           Fix a race between FillThisBufferDone/EmptyBufferDone and the flush
1206           EventCmdComplete messages. The OMX implementation is supposed to release
1207           its buffers before posting the EventCmdComplete event but the ordering
1208           isn't guaranteed as the FillThisBufferDone/EmptyBufferDone and
1209           EventHandler callbacks can be called from different threads (cf 2.7
1210           'Thread Safety' in the spec).
1211           Only wait for buffers currently used by OMX as some buffers may not be
1212           in the pending queue because they are held downstream.
1213           https://bugzilla.gnome.org/show_bug.cgi?id=789475
1214
1215 2018-08-22 15:52:23 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1216
1217         * omx/gstomx.c:
1218           omx: factor out should_wait_until_flushed()
1219           No semantic change. Makes the code easier to understand and I'm about to
1220           change the waiting condition.
1221           https://bugzilla.gnome.org/show_bug.cgi?id=789475
1222
1223 2018-08-28 13:10:35 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1224
1225         * omx/gstomxvideoenc.c:
1226           omxvideoenc: pause component when flushing
1227           As stated in the spec ("6.1.3 Seek Event Sequence") we should pause
1228           before flushing.
1229           We were pausing the decoder but not the encoder so I just aligned the
1230           two code paths.
1231           https://bugzilla.gnome.org/show_bug.cgi?id=797038
1232
1233 2018-07-12 12:41:18 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1234
1235         * omx/gstomxvideoenc.c:
1236           omxvideoenc: fix vertical padding in NV16 formats
1237           My previous patch to calculate the vertical padding was always halfing
1238           the height of the chroma plane which is incorrect for NV16 formats.
1239           https://bugzilla.gnome.org/show_bug.cgi?id=796749
1240
1241 2018-07-05 15:13:47 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1242
1243         * omx/gstomxvideoenc.c:
1244           omxvideoenc: include vertical padding in nFilledLen when copying
1245           According to the OMX spec (3.1.3.7.1) nFilledLen is meant to include any
1246           padding. We use to include the horizontal one (stride) but not the
1247           vertical one if nSliceHeight is bigger than the actual height.
1248           The calculated nFilledLen was wrong as it didn't include the padding
1249           between planes.
1250           https://bugzilla.gnome.org/show_bug.cgi?id=796749
1251
1252 2018-04-26 12:30:47 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1253
1254         * omx/gstomx.c:
1255         * omx/gstomx.h:
1256         * omx/gstomxvideodec.c:
1257         * omx/gstomxvideoenc.c:
1258         * omx/gstomxvideoenc.h:
1259           omxvideoenc: implement decide_allocation
1260           Increase the number of output buffers by the number of buffers requested
1261           downstream.
1262           Prevent buffers starvation if downstream is going to use dynamic buffer
1263           mode on its input.
1264           https://bugzilla.gnome.org/show_bug.cgi?id=795746
1265
1266 2018-04-26 12:29:16 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1267
1268         * omx/gstomxvideodec.c:
1269           omxvideodec: implement propose_allocation
1270           Tell upstream about how many buffer we plan to use so they can adjust
1271           their own number of buffers accordingly if needed.
1272           Same logic as the existing gst_omx_video_enc_propose_allocation().
1273           https://bugzilla.gnome.org/show_bug.cgi?id=795746
1274
1275 2018-05-17 09:54:11 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1276
1277         * omx/gstomxvideoenc.c:
1278         * omx/gstomxvideoenc.h:
1279           omxvideoenc: always signal drain cond when stopping streaming loop
1280           Similar change as the one I just did in omxvideodec.
1281           https://bugzilla.gnome.org/show_bug.cgi?id=796207
1282
1283 2018-05-16 17:06:29 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1284
1285         * omx/gstomxvideodec.c:
1286         * omx/gstomxvideodec.h:
1287           omxvideodec: always signal drain cond when stopping streaming loop
1288           If for some reason something goes wrong and we stop the streaming loop
1289           we may end up with other threads still waiting on the drain cond.
1290           No more buffers will be produced by the component so they were waiting
1291           forever.
1292           Fix this by always signalling this cond when stopping the streaming
1293           loop.
1294           https://bugzilla.gnome.org/show_bug.cgi?id=796207
1295
1296 2018-05-16 17:02:01 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1297
1298         * omx/gstomxvideodec.c:
1299           omxvideoenc: factor out gst_omx_video_enc_pause_loop()
1300           No semantic change. I'm going to use it in more failure cases.
1301           https://bugzilla.gnome.org/show_bug.cgi?id=796207
1302
1303 2018-05-17 14:24:52 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1304
1305         * config/zynqultrascaleplus/gstomx.conf:
1306           zynqultrascaleplus: enable 'ensure-buffer-count-actual' hack
1307           https://bugzilla.gnome.org/show_bug.cgi?id=791211
1308
1309 2018-04-27 16:26:36 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1310
1311         * omx/gstomx.c:
1312         * omx/gstomx.h:
1313         * omx/gstomxvideodec.c:
1314         * omx/gstomxvideoenc.c:
1315           omxvideodec/enc: add hack updating nBufferCountActual before allocating
1316           The OMX specs states that the nBufferCountActual of a port has to default
1317           to its nBufferCountMin. If we don't change nBufferCountActual we purely rely
1318           on this default. But in some cases, OMX may change nBufferCountMin before we
1319           allocate buffers. Like for example when configuring the input ports with the
1320           actual format, it may decrease the number of minimal buffers required.
1321           This method checks this and update nBufferCountActual if needed so we'll use
1322           less buffers than the worst case in such scenarios.
1323           SetParameter() needs to be called when the port is either disabled or
1324           the component in the Loaded state.
1325           Don't do this for the decoder output as
1326           gst_omx_video_dec_allocate_output_buffers() already check
1327           nBufferCountMin when computing the number of output buffers.
1328           On some platform, like rpi, the default nBufferCountActual is much
1329           higher than nBufferCountMin so only enable this using a specific gst-omx
1330           hack.
1331           https://bugzilla.gnome.org/show_bug.cgi?id=791211
1332
1333 2018-05-28 15:02:13 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1334
1335         * omx/gstomxvideodec.c:
1336         * omx/gstomxvideoenc.c:
1337           omxvidee{enc,dec}: refresh input port definition after setting format
1338           Setting the input format and the associated encoder/decoder settings
1339           may also affect the nBufferCountMin of the input port.
1340           Refresh the input port so we'll use up to date values in propose/decide
1341           allocation.
1342           https://bugzilla.gnome.org/show_bug.cgi?id=796445
1343
1344 2018-05-07 11:59:08 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1345
1346         * omx/gstomx.c:
1347           omx: always consider component in 'invalid' state when an error occured
1348           gst_omx_component_get_state() used to early return if there was no
1349           pending state change. So if the component raised an error it wasn't
1350           considered in the invalid state until the next requested state change.
1351           Fix this by checking first if we received an error.
1352           https://bugzilla.gnome.org/show_bug.cgi?id=795874
1353
1354 2018-05-25 01:35:58 +1000  Matthew Waters <matthew@centricular.com>
1355
1356         * meson.build:
1357         * meson_options.txt:
1358           meson: Update option names to omit 'with_omx' prefixes
1359           Companion commit to:
1360           https://cgit.freedesktop.org/gstreamer/gstreamer/commit/?id=4fb02fc85b70be631f5331b2547e5dc61ef7a43a
1361           https://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=1e1a5d658e4a031535c44823fd398d3052ca2000
1362           etc...
1363
1364 2018-03-21 13:52:23 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1365
1366         * omx/gstomxvideodec.c:
1367           omxvideodec: pass a GstOMXBufferMode to gst_omx_buffer_pool_new()
1368           The output_mode is supposed to be a GstOMXBufferMode, not a boolean.
1369
1370 2018-05-03 09:27:15 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1371
1372         * config/zynqultrascaleplus/gstomx.conf:
1373           zynq: remove 'no-disable-outport' hack
1374           No longer needed with newer version of the OMX stack.
1375
1376 2018-03-13 16:15:30 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1377
1378         * omx/gstomxh264enc.c:
1379         * omx/gstomxh265enc.c:
1380           omxh26{4,5}enc: don't pick default 10-bit profile
1381           The OMX stack of the zynqultrascaleplus (the only one supporting
1382           NV12_10LE32 and NV16_10LE32) will now pick the proper profile if none
1383           has been requested. Best to rely on its default than hardcoding a
1384           specific one in gst-omx.
1385           https://bugzilla.gnome.org/show_bug.cgi?id=794319
1386
1387 2018-03-06 14:16:56 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1388
1389         * omx/gstomxh264utils.c:
1390           omxh264: sync with supported profiles on zynqultrascaleplus
1391           Add extra supported AVC profiles and remove extended and 4:4:4 profiles
1392           which are actually not implemented.
1393           https://bugzilla.gnome.org/show_bug.cgi?id=794177
1394
1395 2018-03-06 10:45:14 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1396
1397         * omx/gstomxh264enc.c:
1398         * omx/gstomxh264utils.c:
1399         * omx/gstomxh264utils.h:
1400           omxh264: factor out gst_omx_h264_utils_get_profile_from_enum()
1401           Move the profile <-> enum mapping to one place. Make changes easier as
1402           I'm about to add extra profiles.
1403           No semantic change.
1404           https://bugzilla.gnome.org/show_bug.cgi?id=794177
1405
1406 2018-03-06 11:02:44 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1407
1408         * omx/gstomxh265utils.c:
1409           omxh265: add format range extension profiles on zynqultrascaleplus
1410           The zynqultrascaleplus OMX gained support for more format range
1411           extensions profiles (A.3.5).
1412           https://bugzilla.gnome.org/show_bug.cgi?id=794177
1413
1414 2018-03-06 10:45:14 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1415
1416         * omx/gstomxh265enc.c:
1417         * omx/gstomxh265utils.c:
1418         * omx/gstomxh265utils.h:
1419           omxh265: factor out gst_omx_h265_utils_get_profile_from_enum()
1420           Move the profile <-> enum mapping to one place. Make changes easier as
1421           I'm about to add some profiles.
1422           No semantic change.
1423           https://bugzilla.gnome.org/show_bug.cgi?id=794177
1424
1425 2018-03-08 12:22:26 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1426
1427         * omx/gstomxvideoenc.c:
1428           omxvideoenc: add NV16 support
1429           NV16 format wasn't supported on encoder input while it was on decoder
1430           output.
1431           https://bugzilla.gnome.org/show_bug.cgi?id=794175
1432
1433 2018-03-08 12:09:38 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1434
1435         * omx/gstomxvideo.c:
1436           omxvideo: display port number when listing supported formats
1437           More convenient when debugging.
1438           https://bugzilla.gnome.org/show_bug.cgi?id=794175
1439
1440 2018-03-29 16:42:40 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1441
1442         * omx/gstomx.h:
1443         * omx/gstomxvideoenc.c:
1444         * omx/gstomxvideoenc.h:
1445           omxvideoenc: restore OMX default target-bitrate if requested by user
1446           0xffffffff is the magic number in gst-omx meaning 'the default value
1447           defined in OMX'. This works fine with OMX parameters which are only set
1448           once when starting the component but not with configs which can be
1449           changed while PLAYING.
1450           Save the actual OMX default bitrate so we can restore it later if user
1451           sets back 0xffffffff on the property.
1452           Added GST_OMX_PROP_OMX_DEFAULT so we stop hardcoding magic numbers
1453           everywhere.
1454           https://bugzilla.gnome.org/show_bug.cgi?id=794998
1455
1456 2018-03-29 11:36:00 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1457
1458         * omx/gstomxvideoenc.c:
1459           omxvideoenc: use gst_omx_video_enc_set_bitrate() when setting bitrate in set_format
1460           We weren't using the usual pattern when re-setting the bitrate:
1461           - get parameters from OMX
1462           - update only the fields different from 0xffffffff (OMX defaults)
1463           - set parameters
1464           Also added a comment explaining why we re-set this param.
1465           https://bugzilla.gnome.org/show_bug.cgi?id=794998
1466
1467 2018-03-29 11:26:04 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1468
1469         * omx/gstomxvideoenc.c:
1470           omxvideoenc: factor out gst_omx_video_enc_set_bitrate()
1471           No semantic change, I'm about to re-use this function in set_format().
1472           https://bugzilla.gnome.org/show_bug.cgi?id=794998
1473
1474 2018-04-20 11:54:14 +0100  Tim-Philipp Müller <tim@centricular.com>
1475
1476         * meson.build:
1477           meson: fix miscellaneous meson warnings
1478           cc.has_header*() doesn't have a 'required:' kwarg.
1479
1480 2018-04-18 12:42:55 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1481
1482         * omx/gstomxvideodec.c:
1483         * omx/gstomxvideoenc.c:
1484           omxvideoenc/dec: fix handling of component enabling failing
1485           - Report the error from OMX if any (OMX_EventError)
1486           - If not report the failing to the application (GST_ELEMENT_ERROR)
1487           - return GST_FLOW_ERROR rather than FALSE
1488           - don't leak @frame
1489           https://bugzilla.gnome.org/show_bug.cgi?id=795352
1490
1491 2018-04-16 10:53:41 +0100  Tim-Philipp Müller <tim@centricular.com>
1492
1493         * common:
1494           Automatic update of common submodule
1495           From 3fa2c9e to ed78bee
1496
1497 2018-03-14 14:53:50 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1498
1499         * omx/gstomx.c:
1500           log_omx_performance: convert pointers to strings
1501           G_TYPE_POINTER are not serialized in logs.
1502           https://bugzilla.gnome.org/show_bug.cgi?id=794331
1503
1504 2018-04-02 15:14:51 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1505
1506         * omx/gstomxvideoenc.c:
1507           omxvideoenc: remove duplicated debug message
1508           We already have the exact same message at the beginning of
1509           gst_omx_video_enc_handle_frame(). Having it twice is confusing when
1510           reading/grepping logs.
1511           I kept the earlier one to keep the symetry with
1512           gst_omx_video_dec_handle_frame().
1513           https://bugzilla.gnome.org/show_bug.cgi?id=794897
1514
1515 2018-02-22 11:27:03 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1516
1517         * omx/gstomxvideoenc.c:
1518           omxvideoenc: add 'roi' qp-mode on zynqultrascaleplus
1519           New QP mode used to handle ROI metadata.
1520           https://bugzilla.gnome.org/show_bug.cgi?id=793696
1521
1522 2018-03-20 10:31:10 +0000  Tim-Philipp Müller <tim@centricular.com>
1523
1524         * NEWS:
1525         * RELEASE:
1526         * configure.ac:
1527         * meson.build:
1528           Back to development
1529
1530 === release 1.14.0 ===
1531
1532 2018-03-19 20:31:02 +0000  Tim-Philipp Müller <tim@centricular.com>
1533
1534         * ChangeLog:
1535         * NEWS:
1536         * RELEASE:
1537         * configure.ac:
1538         * gst-omx.doap:
1539         * meson.build:
1540           Release 1.14.0
1541
1542 === release 1.13.91 ===
1543
1544 2018-03-13 19:32:39 +0000  Tim-Philipp Müller <tim@centricular.com>
1545
1546         * ChangeLog:
1547         * NEWS:
1548         * RELEASE:
1549         * configure.ac:
1550         * gst-omx.doap:
1551         * meson.build:
1552           Release 1.13.91
1553
1554 2018-03-09 12:02:29 +0000  Tim-Philipp Müller <tim@centricular.com>
1555
1556         * meson.build:
1557           meson: fix typo in package name define
1558
1559 2018-02-27 15:42:53 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1560
1561         * omx/gstomxh265enc.c:
1562         * omx/gstomxh265utils.c:
1563           omxh265: update 422 profile names
1564           h265parse is gaining support for the format range extension profile
1565           (bgo#793876).
1566           Use the profile names defined in h265parse.
1567           https://bugzilla.gnome.org/show_bug.cgi?id=793928
1568
1569 2018-03-05 13:49:18 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
1570
1571         * omx/gstomxvideoenc.c:
1572           omxvideoenc: Don't drop the frame on empty payload
1573           This otherwise may lead to "No reference frame found" warning.
1574
1575 2018-03-01 15:16:55 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
1576
1577         * omx/gstomxvideodec.c:
1578           omxvideodec: Don't drop the frame on empty payload
1579           This otherwise may lead to "No reference frame found" warning.
1580
1581 2018-03-02 15:36:06 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
1582
1583         * omx/gstomx.c:
1584           omx: Free empty buffers list in use_dynamic_buffers
1585           To indicate we are doing dynamic buffers importation, we pass
1586           a list of NULL pointers, but we forgot to free that list.
1587
1588 2018-03-01 15:16:32 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
1589
1590         * omx/gstomxvideodec.c:
1591           omxvideodec: Fix CodecState leak
1592
1593 === release 1.13.90 ===
1594
1595 2018-03-03 23:00:59 +0000  Tim-Philipp Müller <tim@centricular.com>
1596
1597         * ChangeLog:
1598         * NEWS:
1599         * RELEASE:
1600         * configure.ac:
1601         * gst-omx.doap:
1602         * meson.build:
1603           Release 1.13.90
1604
1605 2018-03-03 20:21:06 +0000  Tim-Philipp Müller <tim@centricular.com>
1606
1607         * config/Makefile.am:
1608           config: dist tizonia config files
1609
1610 2018-03-02 11:06:08 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
1611
1612         * omx/gstomx.c:
1613           Revert "omx: wait for flush complete and buffers being released when flushing"
1614           This reverts commit 4211e4c29a262f110cb92ddf9c06b403ced233ef.
1615
1616 2018-02-21 12:50:42 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1617
1618         * omx/gstomxvideoenc.c:
1619           videoenc: don't set stride padding to 0 when copying frames
1620           Padding can be left undefined there is no point filling it with 0.
1621           https://bugzilla.gnome.org/show_bug.cgi?id=793694
1622
1623 2018-02-16 11:50:35 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1624
1625         * omx/gstomxbufferpool.c:
1626         * omx/gstomxh264enc.c:
1627         * omx/gstomxh265enc.c:
1628         * omx/gstomxvideo.c:
1629         * omx/gstomxvideodec.c:
1630         * omx/gstomxvideoenc.c:
1631           add support for NV12_10LE32 and NV16_10LE32 on zynqultrascaleplus
1632           The encoder and decoder on zynqultrascaleplus support these new 10 bits
1633           format.
1634           https://bugzilla.gnome.org/show_bug.cgi?id=793694
1635
1636 2018-02-16 11:46:47 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1637
1638         * omx/gstomxvideoenc.c:
1639           omxvideoenc: factor out gst_omx_video_enc_nv12_manual_copy()
1640           No semantic change, I'm going to re-use it to copy the NV12_10LE32
1641           format.
1642           https://bugzilla.gnome.org/show_bug.cgi?id=793694
1643
1644 2018-01-17 10:40:49 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1645
1646         * omx/gstomxvideoenc.c:
1647           omxvideoenc: display the computed buffer size when configuring input
1648           https://bugzilla.gnome.org/show_bug.cgi?id=793694
1649
1650 2018-02-06 14:25:57 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1651
1652         * omx/gstomxvideoenc.c:
1653         * omx/gstomxvideoenc.h:
1654           videoenc: implement ROI on zynqultrascaleplus
1655           Check input buffers for ROI meta and pass them to the encoder by using
1656           zynqultrascaleplus's custom OMX extension. Also add a new
1657           "default-roi-quality" in order to tell the encoder what quality level
1658           should be applied to ROI by default.
1659           https://bugzilla.gnome.org/show_bug.cgi?id=793696
1660
1661 2018-02-14 17:23:39 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1662
1663         * omx/gstomxvideoenc.c:
1664           omxvideoenc: remove GST_PARAM_MUTABLE_PLAYING from 'max-bitrate' property
1665           This property isn't actually mutable in the PLAYING state.
1666           https://bugzilla.gnome.org/show_bug.cgi?id=793458
1667
1668 2018-02-14 17:20:02 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1669
1670         * omx/gstomxvideoenc.c:
1671         * omx/gstomxvideoenc.h:
1672           omxvideoenc: protect target_bitrate with the object lock
1673           The 'target-bitrate' property can be changed while PLAYING
1674           (GST_PARAM_MUTABLE_PLAYING). Make it thread-safe to prevent concurrent
1675           accesses between the application and streaming thread.
1676           https://bugzilla.gnome.org/show_bug.cgi?id=793458
1677
1678 2018-02-20 11:46:49 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1679
1680         * omx/gstomxbufferpool.c:
1681           omxbufferpool: add PERFORMANCE DEBUG message when copying output frames
1682           I spent quiet some time figuring out why performance of my pipeline were
1683           terrible. Turned out it was because of output frames being copied
1684           because of stride/offset mismatch.
1685           Add a PERFORMANCE DEBUG message to make it easier to spot and debug from logs.
1686           https://bugzilla.gnome.org/show_bug.cgi?id=793637
1687
1688 2018-02-15 19:44:37 +0000  Tim-Philipp Müller <tim@centricular.com>
1689
1690         * configure.ac:
1691         * meson.build:
1692           Back to development
1693
1694 === release 1.13.1 ===
1695
1696 2018-02-15 17:50:14 +0000  Tim-Philipp Müller <tim@centricular.com>
1697
1698         * Makefile.am:
1699         * NEWS:
1700         * configure.ac:
1701         * gst-omx.doap:
1702         * meson.build:
1703           Release 1.13.1
1704
1705 2017-06-30 15:15:06 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1706
1707         * omx/gstomxh265enc.c:
1708           omxh265enc: fix typo in "periodicty-idr" property name
1709           Also fix the 'nick' of the property.
1710           omxh265enc is based on the code from omxh264enc and suffers the same
1711           typo as we fixed in https://bugzilla.gnome.org/show_bug.cgi?id=784370
1712           This element isn't part of a stable release yet so it's not an API
1713           break.
1714           https://bugzilla.gnome.org/show_bug.cgi?id=793390
1715
1716 2018-02-08 19:18:59 +0000  Tim-Philipp Müller <tim@centricular.com>
1717
1718         * meson.build:
1719           meson: make version numbers ints and fix int/string comparison
1720           WARNING: Trying to compare values of different types (str, int).
1721           The result of this is undefined and will become a hard error
1722           in a future Meson release.
1723           Also remove unused libversion/soversion.
1724
1725 2017-12-12 16:50:00 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1726
1727         * configure.ac:
1728         * meson.build:
1729         * omx/gstomx.h:
1730           include all OMX extension headers if present
1731           The OMX specs defines 8 headers that implementations can use to define
1732           their custom extensions. We were checking and including 3 and ignoring
1733           the other ones.
1734           https://bugzilla.gnome.org/show_bug.cgi?id=792043
1735
1736 2018-01-30 10:31:03 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1737
1738         * meson.build:
1739         * omx/meson.build:
1740         * tools/meson.build:
1741           meson: simplify OMX extensions detection
1742           We are now always checking which files are present or not, even when using our
1743           internal copy of OMX, rather than hardcoding the ones present in it.
1744           https://bugzilla.gnome.org/show_bug.cgi?id=792043
1745
1746 2018-01-30 11:54:24 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>
1747
1748         * meson.build:
1749         * omx/meson.build:
1750         * tools/meson.build:
1751           Revert "meson: use include_directories() with external OMX headers path"
1752           This reverts commit 9d37a92a615e54e8ee12f8c65bcfe386ec9de2d0.
1753
1754 2017-11-27 14:52:10 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1755
1756         * omx/gstomxh265enc.c:
1757         * omx/gstomxh265enc.h:
1758           omxh265enc: add some encoding properties
1759           constrained-intra-prediction and loop-filter-mode.
1760           Those map standard OMX settings.
1761           https://bugzilla.gnome.org/show_bug.cgi?id=792528
1762
1763 2017-11-23 15:54:15 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1764
1765         * omx/gstomxh264enc.c:
1766         * omx/gstomxh264enc.h:
1767           omxh264enc: add some encoding properties
1768           entropy-mode, constrained-intra-prediction and loop-filter-mode.
1769           Those map standard OMX settings.
1770           https://bugzilla.gnome.org/show_bug.cgi?id=792528
1771
1772 2017-06-08 12:31:21 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1773
1774         * omx/gstomxvideoenc.c:
1775         * omx/gstomxvideoenc.h:
1776           omxvideoenc: add zynqultrascaleplus specific properties
1777           https://bugzilla.gnome.org/show_bug.cgi?id=792528
1778
1779 2017-10-31 12:24:39 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1780
1781         * omx/gstomxvideoenc.c:
1782           omxvideoenc: document unit of target-bitrate property
1783           nTargetBitrate and nEncodeBitrate are defined in bits per second in the
1784           OMX spec.
1785           https://bugzilla.gnome.org/show_bug.cgi?id=792528
1786
1787 2017-07-06 10:18:48 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1788
1789         * omx/gstomxvideodec.c:
1790         * omx/gstomxvideodec.h:
1791           omxvideodec: add internal-entropy-buffers property on zynqultrascaleplus
1792           Custom property to control the number of internal buffers used in the
1793           decoder to smooth out entropy decoding performance.
1794           https://bugzilla.gnome.org/show_bug.cgi?id=792528
1795
1796 2018-01-30 10:31:03 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1797
1798         * meson.build:
1799         * omx/meson.build:
1800         * tools/meson.build:
1801           meson: use include_directories() with external OMX headers path
1802           It seems cleaner to use the proper meson tools to include this path
1803           rather than manually tweak the build flags.
1804           This also allows us to simplify the OMX extensions detection code. We
1805           are now always checking which files are present, even when using our
1806           internal copy of OMX, rather than hardcoding the ones present in it.
1807           https://bugzilla.gnome.org/show_bug.cgi?id=792043
1808
1809 2017-11-07 15:09:35 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1810
1811         * omx/gstomxvideoenc.c:
1812           omxvideoenc: expose chroma format and bit depth in output caps
1813           As we added in the parser (bgo#792039) expose the chroma and bit
1814           depth information in output caps.
1815           https://bugzilla.gnome.org/show_bug.cgi?id=792040
1816
1817 2017-11-07 14:30:45 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1818
1819         * omx/gstomxvideoenc.c:
1820           omxvideoenc: factor out get_output_caps()
1821           No semantic change so far.
1822           https://bugzilla.gnome.org/show_bug.cgi?id=792040
1823
1824 2017-12-29 11:59:36 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1825
1826         * config/zynqultrascaleplus/gstomx.conf:
1827         * omx/gstomx.c:
1828         * omx/gstomx.h:
1829         * omx/gstomxvideodec.c:
1830           omxvideodec: add hack to pass color format from caps to OMX decoder
1831           This hack tries to pass as much information as possible from caps to the
1832           decoder before it receives any buffer. These information can be used by
1833           the OMX decoder to, for example, pre-allocate its internal buffers
1834           before starting to decode and so reduce its initial latency.
1835           This mechanism is currently supported by the zynqultrascaleplus decoder.
1836           https://bugzilla.gnome.org/show_bug.cgi?id=792040
1837
1838 2017-12-01 12:43:19 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1839
1840         * omx/gstomx.c:
1841           log failing OMX calls as errors
1842           I find it confusing when debugging that OMX calls returning an error
1843           where not logged as GST_LEVEL_ERROR making them harder to spot.
1844           Fix this by introducing simple log macros checking the return value of
1845           the OMX call and logging failures as errors.
1846           https://bugzilla.gnome.org/show_bug.cgi?id=791069
1847
1848 2017-10-30 11:59:19 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1849
1850         * omx/gstomx.c:
1851           add OMX_PERFORMANCE debug category
1852           Can be used to log buffers exchange between OMX and gst-omx to profile
1853           performances of the OMX component.
1854           Ideally this should be done using tracer hooks but it's currently not
1855           possible to define custom hooks outside of core.
1856           Use GST_DEBUG="OMX_PERFORMANCE:8" to enable it.
1857           See also
1858           https://github.com/gdesmott/gst-log-parser/blob/master/src/bin/omx-perf.rs
1859           as a simple program consuming those logs to generate gnuplot files and
1860           stats.
1861           https://bugzilla.gnome.org/show_bug.cgi?id=791093
1862
1863 2017-07-27 11:21:59 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1864
1865         * omx/gstomx.c:
1866         * omx/gstomx.h:
1867         * omx/gstomxvideoenc.c:
1868         * omx/gstomxvideoenc.h:
1869           omxvideoenc: implement dmabuf import on zynqultrascaleplus
1870           The Zynq UltraScale+ encoder implements a custom OMX extension to
1871           directly import dmabuf saving the need of mapping input buffers.
1872           This can be use with either 'v4l2src io-mode=dmabuf' or an OMX video
1873           decoder upstream.
1874           https://bugzilla.gnome.org/show_bug.cgi?id=792361
1875
1876 2017-09-22 16:02:40 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1877
1878         * omx/gstomxvideoenc.c:
1879           omxvideoenc: drop late input frames if QoS is enabled
1880           Make use of the new GstVideoEncoder QoS API to drop late input frames. This may
1881           help a live pipeline to catch up if it's being late and all frames end up
1882           being dropped at the sink.
1883           https://bugzilla.gnome.org/show_bug.cgi?id=792783
1884
1885 2018-01-19 15:18:23 +0530  Ashish Kumar <kr.ashish@samsung.com>
1886
1887         * examples/egl/testegl.c:
1888           TestEgl: Removed redundant/unused code
1889           https://bugzilla.gnome.org/show_bug.cgi?id=788550
1890
1891 2018-01-03 16:07:18 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1892
1893         * omx/gstomxvideoenc.c:
1894           omxvideoenc: early return in fill_buffer() if something goes wrong
1895           If something goes wrong while trying to manually copy the input buffer,
1896           the 'break' was moving us out of the 'for' loop but not out of the switch block.
1897           So we ended up calling gst_video_frame_unmap() a second time (raising
1898           assertions) and returning TRUE rather than FALSE.
1899           Reproduced with a WIP zynqultrascaleplus OMX branch reporting wrong
1900           buffer sizes and so triggering this bug.
1901           https://bugzilla.gnome.org/show_bug.cgi?id=792167
1902
1903 2017-12-19 16:09:41 +0000  Tim-Philipp Müller <tim@centricular.com>
1904
1905         * meson.build:
1906           meson: gl: the winsys and platform list in the .pc file is space-separated
1907
1908 2017-12-19 16:08:58 +0000  Tim-Philipp Müller <tim@centricular.com>
1909
1910         * meson.build:
1911           meson: fix subproject fallback for gstreamer-gl-1.0
1912           It's now in -base.
1913
1914 2017-12-12 17:30:27 +0000  Julien Isorce <jisorce@oblong.com>
1915
1916         * omx/gstomxvideo.c:
1917         * omx/gstomxvideo.h:
1918         * omx/gstomxvideodec.c:
1919           omxvideodec: ignore very little variations of the framerate
1920           If less than 1%.
1921           The dynamic format change should not happen when the
1922           resolution does not change and when only the framerate
1923           changes but very slightly, i.e. from 50000/1677=29.81
1924           to 89/3=29.66 so a "percentage change" of less than 1%
1925           (i.e. 100*(29.81-29.66)/29.66 = 0.50 < 1 ). In that case
1926           just ignore it to avoid unnecessary renegotiation.
1927           https://bugzilla.gnome.org/show_bug.cgi?id=759043
1928
1929 2017-08-09 12:07:33 -0400  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1930
1931         * omx/gstomxvideodec.c:
1932         * omx/gstomxvideodec.h:
1933           omxvideodec: use dynamic buffer mode on input if possible
1934           Prevent from copying the input buffers between GStreamer and OMX.
1935           Tested on zynqultrascaleplus and rpi (without dynamic buffers).
1936           https://bugzilla.gnome.org/show_bug.cgi?id=787093
1937
1938 2017-07-20 16:35:31 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1939
1940         * omx/gstomxvideoenc.c:
1941         * omx/gstomxvideoenc.h:
1942           omxvideoenc: use dynamic buffer mode on input if possible
1943           If the OMX component supports dynamic buffer mode and the input buffers
1944           are properly aligned avoid copying each input frame between OMX and
1945           GStreamer.
1946           Tested on zynqultrascaleplus and rpi (without dynamic buffers).
1947           https://bugzilla.gnome.org/show_bug.cgi?id=787093
1948
1949 2017-07-20 12:56:37 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1950
1951         * omx/gstomxvideodec.c:
1952         * omx/gstomxvideoenc.c:
1953           omxvideoenc/dec: factor out input buffer allocation
1954           No semantic change so far. I'm going to add an alternate way to allocate
1955           input buffers.
1956           https://bugzilla.gnome.org/show_bug.cgi?id=787093
1957
1958 2017-07-20 16:31:54 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1959
1960         * omx/gstomx.c:
1961         * omx/gstomx.h:
1962           omx: add API to implement dynamic buffers support
1963           OMX 1.2.0 introduced a third way to manage buffers by allowing
1964           components to only allocate buffers header during their initialization
1965           and change their pBuffer pointer at runtime.
1966           This new feature can save us a copy between GStreamer and OMX for each
1967           input buffer.
1968           This patch adds API to allocate and use such buffers.
1969           https://bugzilla.gnome.org/show_bug.cgi?id=787093
1970
1971 2017-12-14 14:53:17 +1100  Matthew Waters <matthew@centricular.com>
1972
1973         * common:
1974           Automatic update of common submodule
1975           From e8c7a71 to 3fa2c9e
1976
1977 2017-12-13 12:06:40 +0000  Julien Isorce <jisorce@oblong.com>
1978
1979         * omx/gstomxvideodec.c:
1980           omxvideodec: consolidate the decision to try UseBuffer
1981           The tee element can call gst_query_add_allocation_pool with pool as NULL.
1982           Checking nth > 0 is not enough so we need to verify if there is a pool.
1983           https://bugzilla.gnome.org/show_bug.cgi?id=730758
1984           https://bugzilla.gnome.org/show_bug.cgi?id=784069
1985
1986 2017-12-12 14:45:30 +0000  Julien Isorce <jisorce@oblong.com>
1987
1988         * omx/gstomxvideo.c:
1989         * omx/gstomxvideo.h:
1990         * omx/gstomxvideodec.c:
1991         * omx/gstomxvideoenc.c:
1992           gstomxvideodec: fix framerate overflow
1993           Some live streams can set the framerate to 50000/1677 (=29.81).
1994           GstVideoInfo.fps_n << 16 is wrong if the fps_n is 50000
1995           (i.e. greater than 32767).
1996           https://bugzilla.gnome.org/show_bug.cgi?id=759043
1997
1998 2017-08-22 13:48:26 +0100  Julien Isorce <jisorce@oblong.com>
1999
2000         * configure.ac:
2001         * examples/egl/Makefile.am:
2002         * examples/egl/meson.build:
2003         * examples/egl/testegl.c:
2004         * meson.build:
2005           example: port testegl.c to desktop
2006           Will be easier to maintain.
2007           Also uniformize autotool build with meson build which is
2008           already retrieving the gl libs.
2009           https://bugzilla.gnome.org/show_bug.cgi?id=781606
2010
2011 2017-12-11 15:55:44 +0000  Julien Isorce <jisorce@oblong.com>
2012
2013         * meson.build:
2014           meson: move omx features check after target selection
2015           And uses gst_omx_args instead of add_global_arguments.
2016           Similar to c69232852120d064c689caef07b3c68ad8fe6288
2017           which was only for configure.ac
2018           Useful to get omxvp8dec with meson too:
2019           meson . buildtmp -D with_omx_target=tizonia
2020           https://bugzilla.gnome.org/show_bug.cgi?id=782800
2021
2022 2017-12-04 17:11:04 +0000  Julien Isorce <jisorce@oblong.com>
2023
2024         * config/tizonia/gstomx.conf.in:
2025           config: add OMX.Aratelia.audio_decoder.aac to Tizonia config
2026           Useful mostly for testing/debugging purpose as this is a software
2027           based decoder (libfaad) for which GStreamer provides a direct
2028           wrapper.
2029           https://bugzilla.gnome.org/show_bug.cgi?id=791482
2030
2031 2017-11-29 14:18:41 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2032
2033         * omx/gstomxvideodec.c:
2034           omxvideodec: retrieve OMX_IndexParamVideoPortFormat before setting it
2035           The usual pattern when setting OMX params is to first get the struct
2036           param, override the values we want to set and then set the updated
2037           param.
2038           We were not doing this with OMX_IndexParamVideoPortFormat and so were
2039           resetting some fields such as OMX_VIDEO_PARAM_PORTFORMATTYPE.xFramerate
2040           https://bugzilla.gnome.org/show_bug.cgi?id=790979
2041
2042 2017-05-21 17:34:51 +0100  Julien Isorce <jisorce@oblong.com>
2043
2044         * omx/gstomxaacenc.c:
2045           omxaacenc: also set 'profile' if mpegversion is 4
2046           Like done by gst_codec_utils_aac_caps_set_level_and_profile
2047           which is called by avenc_aac, ffaac and voaacenc.
2048           https://bugzilla.gnome.org/show_bug.cgi?id=735208
2049
2050 2017-10-24 12:19:50 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2051
2052         * omx/gstomx.c:
2053           omx: wait for flush complete and buffers being released when flushing
2054           As stated in the existing comment, when flusing we should wait for OMX
2055           to send the flush command complete event AND all ports being released.
2056           We were stopping as soon as one of those condition was met.
2057           Fix a race between FillThisBufferDone/EmptyBufferDone and the flush
2058           EventCmdComplete messages. The OMX implementation is supposed to release
2059           its buffers before posting the EventCmdComplete event but the ordering
2060           isn't guaranteed as the FillThisBufferDone/EmptyBufferDone and
2061           EventHandler callbacks can be called from different threads (cf 2.7
2062           'Thread Safety' in the spec).
2063           https://bugzilla.gnome.org/show_bug.cgi?id=789475
2064
2065 2017-10-24 11:45:20 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2066
2067         * omx/gstomx.c:
2068           gst_omx_port_set_flushing: simplify waiting loop
2069           No semantic change so far, I just made the 'while' end condition easier
2070           to understand as a first step before changing it.
2071           - move error/time out checks inside the loop to make it clearer on what
2072           we are actually waiting for.
2073           - group port->buffers checks together with parenthesis as they are part
2074           of the same conceptual check: waiting for all buffers to be released.
2075           https://bugzilla.gnome.org/show_bug.cgi?id=789475
2076
2077 2017-11-27 20:17:17 +1100  Matthew Waters <matthew@centricular.com>
2078
2079         * common:
2080           Automatic update of common submodule
2081           From 3f4aa96 to e8c7a71
2082
2083 2017-11-23 15:03:48 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2084
2085         * omx/gstomxh264enc.c:
2086         * omx/gstomxh264utils.c:
2087           zynqultrascaleplus: add support for extra AVC levels
2088           The Zynqultrascaleplus has support for extra AVC levels not defined in
2089           the OMX spec as a customer extension.
2090           https://bugzilla.gnome.org/show_bug.cgi?id=790758
2091
2092 2017-10-16 14:47:07 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2093
2094         * .gitignore:
2095         * Makefile.am:
2096         * config/meson.build:
2097         * configure.ac:
2098         * meson.build:
2099         * tests/Makefile.am:
2100         * tests/check/.gitignore:
2101         * tests/check/Makefile.am:
2102         * tests/check/generic/.gitignore:
2103         * tests/check/generic/states.c:
2104         * tests/check/meson.build:
2105         * tests/meson.build:
2106           add test support
2107           Most of the boilerplate and the states test has been copied from
2108           gst-plugins-good.
2109           https://bugzilla.gnome.org/show_bug.cgi?id=789094
2110
2111 2017-10-17 13:07:05 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2112
2113         * meson.build:
2114         * tools/meson.build:
2115           meson: add tools support
2116           Looks like the tools directory was left out during the initial port to
2117           meson.
2118           https://bugzilla.gnome.org/show_bug.cgi?id=789090
2119
2120 2017-10-16 14:24:50 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2121
2122         * omx/gstomx.c:
2123           omx: fix build on rpi
2124           The nTimeStamp field is a OMX_TICKS struct on the rpi so use the proper
2125           macro to set it.
2126           Fix build on the build which has been broken by
2127           b3173144b7c1b12c9e1b7571f78659be45d813f6
2128           https://bugzilla.gnome.org/show_bug.cgi?id=789052
2129
2130 2017-10-17 12:11:04 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2131
2132         * configure.ac:
2133         * meson.build:
2134           check if Allegro headers are present when building zynqultrascaleplus
2135           The Zynq UltraScale+ uses a custom version of OMX implementing several
2136           3rd party extensions. Make sure those are present when building this
2137           target.
2138           https://bugzilla.gnome.org/show_bug.cgi?id=788064
2139
2140 2017-10-16 12:42:44 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2141
2142         * omx/gstomxvideodec.c:
2143           omxvideodec: remove redundant debug message
2144           We have already a debug message right after.
2145           https://bugzilla.gnome.org/show_bug.cgi?id=789058
2146
2147 2017-10-16 13:26:38 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2148
2149         * omx/gstomxh265enc.c:
2150         * omx/gstomxh265utils.c:
2151           omxh265: fix enum casting when using Allegro HEVC extensions
2152           Allegro's HEVC implementation defines a superset of the profiles and
2153           enums from the Android implementation.
2154           Properly cast to fix -Wenum-conversion warnings from clang.
2155           https://bugzilla.gnome.org/show_bug.cgi?id=789057
2156
2157 2017-10-16 13:08:12 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2158
2159         * omx/gstomxh265enc.c:
2160         * omx/gstomxvp8dec.c:
2161           properly cast extension enums
2162           OMX's allow 3rds party to define extensions using their own enums
2163           (like OMX_VIDEO_CODINGEXTTYPE) and to be used as the general
2164           ones (like OMX_VIDEO_CODINGTYPE).
2165           Properly cast those to fix -Wenum-conversion warnings from some
2166           compilers such as clang.
2167           https://bugzilla.gnome.org/show_bug.cgi?id=789057
2168
2169 2017-10-09 13:12:35 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2170
2171         * omx/gstomx.c:
2172           omx: also reset nTimeStamp when re-using buffers
2173           Some OMX implementations may check if the timestamp of the output buffers
2174           they receive is actually not set.
2175           https://bugzilla.gnome.org/show_bug.cgi?id=788711
2176
2177 2017-10-04 17:11:55 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2178
2179         * omx/gstomx.c:
2180           omx: factor out gst_omx_buffer_reset()
2181           https://bugzilla.gnome.org/show_bug.cgi?id=788711
2182
2183 2017-10-09 17:27:22 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2184
2185         * omx/gstomx.c:
2186         * omx/gstomx.h:
2187         * omx/gstomxvideodec.c:
2188         * omx/gstomxvideoenc.c:
2189           add gst_omx_buffer_flags_to_string()
2190           Make debug logs more readable so users don't have to manually figure out
2191           the meaning of flags.
2192           https://bugzilla.gnome.org/show_bug.cgi?id=788767
2193
2194 2017-09-27 19:47:29 +0530  Ponnam Srinivas <p.srinivas@samsung.com>
2195
2196         * omx/gstomxh263enc.c:
2197           h263enc: fix caps leak in error code path
2198           https://bugzilla.gnome.org/show_bug.cgi?id=788245
2199
2200 2017-09-21 15:21:36 +0530  Ponnam Srinivas <p.srinivas@samsung.com>
2201
2202         * omx/gstomxh264enc.c:
2203           omxh264enc: fix caps leak
2204           https://bugzilla.gnome.org/show_bug.cgi?id=787711
2205
2206 2017-09-21 11:36:46 +0530  Ponnam Srinivas <p.srinivas@samsung.com>
2207
2208         * omx/gstomxh265enc.c:
2209           omxh265enc: fix caps leak
2210           https://bugzilla.gnome.org/show_bug.cgi?id=787714
2211
2212 2017-09-13 15:32:51 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2213
2214         * omx/gstomxvideodec.c:
2215           omxvideodec: log info about frame before releasing it
2216           gst_video_decoder_release_frame() takes ownership of the frame and will
2217           destroy it. So we should no longer use it after calling it.
2218           https://bugzilla.gnome.org/show_bug.cgi?id=787628
2219
2220 2017-08-20 20:19:33 +0530  Gurkirpal Singh <gurkirpal204@gmail.com>
2221
2222         * configure.ac:
2223           configure: Show tizonia target in help
2224           https://bugzilla.gnome.org/show_bug.cgi?id=786544
2225
2226 2017-07-12 14:35:10 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2227
2228         * config/zynqultrascaleplus/gstomx.conf:
2229         * omx/Makefile.am:
2230         * omx/gstomx.c:
2231         * omx/gstomxh265dec.c:
2232         * omx/gstomxh265dec.h:
2233         * omx/meson.build:
2234           omxh265dec: add H265 decoder
2235           Add HEVC decoder for the zynqultrascaleplus platform.
2236           I used the H264 decoder code as a template.
2237           https://bugzilla.gnome.org/show_bug.cgi?id=785434
2238
2239 2017-07-12 11:01:15 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2240
2241         * config/zynqultrascaleplus/gstomx.conf:
2242         * configure.ac:
2243         * meson.build:
2244         * omx/Makefile.am:
2245         * omx/gstomx.c:
2246         * omx/gstomxh265enc.c:
2247         * omx/gstomxh265enc.h:
2248         * omx/gstomxh265utils.c:
2249         * omx/gstomxh265utils.h:
2250         * omx/meson.build:
2251           omxh265enc: add H265 encoder
2252           The OMX spec doesn't support HEVC but the OMX stack of the
2253           zynqultrascaleplus adds it as a custom extension.
2254           It uses the same API as the one of Android's OMX stack.
2255           I used the H264 encoder code as a template.
2256           https://bugzilla.gnome.org/show_bug.cgi?id=785434
2257
2258 2017-08-28 13:56:22 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2259
2260         * omx/gstomxvideoenc.c:
2261           omxvideoenc: use caps from query in propose_allocation
2262           Prevent crash by not deferencing a NULL pointer if self->input_state
2263           isn't defined when propose_allocation() is called.
2264           https://bugzilla.gnome.org/show_bug.cgi?id=786442
2265
2266 2017-09-04 09:34:03 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2267
2268         * omx/gstomx.c:
2269           omx: display states as string if changing failed
2270           Improve the error message by displaying the states in their string
2271           representation rather than their numerical value.
2272           https://bugzilla.gnome.org/show_bug.cgi?id=787235
2273
2274 2017-08-22 10:22:45 +0100  Julien Isorce <jisorce@oblong.com>
2275
2276         * omx/gstomxvideodec.c:
2277           omxvideodec: EGLDisplay is not indirectly defined by gstgl headers inclusion
2278           Just use gpointer as done in GstGL to not include
2279           EGL/egl.h just for EGLDisplay.
2280           https://bugzilla.gnome.org/show_bug.cgi?id=784779
2281
2282 2017-07-14 16:34:04 +0530  Gurkirpal Singh <gurkirpal204@gmail.com>
2283
2284         * config/tizonia/gstomx.conf.in:
2285           config: expose OMX.mesa h264 decoder and encoder in Tizonia config
2286           https://bugzilla.gnome.org/show_bug.cgi?id=783976
2287
2288 2017-08-11 07:48:37 -0700  Julien Isorce <jisorce@oblong.com>
2289
2290         * omx/gstomxvideodec.c:
2291           omxvideodec: remove wrong SettingsChanged ack
2292           Partially revert 1b7d0b8:
2293           omxvideodec: handle IL 1.2 behavior for OMX_SetParameter
2294           It turned out it was a problem in the decoder which was
2295           not updating some local variables upon SetParameter.
2296           https://bugzilla.gnome.org/show_bug.cgi?id=783976
2297
2298 2017-07-20 09:43:19 +0100  Julien Isorce <jisorce@oblong.com>
2299
2300         * omx/gstomxaudiodec.c:
2301         * omx/gstomxaudioenc.c:
2302         * omx/gstomxvideodec.c:
2303         * omx/gstomxvideoenc.c:
2304           omx{audio,video}{dec,enc}: sequentially disable ports because buffers are not shared
2305           For the history, the parallel disable port has been introduced by:
2306           "00be69f omxvideodec: Disable output port when setting a new format"
2307           and then replicated to videoenc, audiodec and audioenc.
2308           This is only required to do 'parallel' if buffers are shared between ports.
2309           But for decoders and encoders the input and output buffer are of different
2310           nature by definition (bitstream vs images). So they cannot be shared.
2311           Also starting from IL 1.2.0 it is written in the spec that the parallel
2312           disable is not allowed and will return an error. Except when buffers are
2313           shared.
2314           Again here we know in advance that they are not shared so let's always
2315           do a sequential disable.
2316           Tested on Desktop, rpi and zynqultrascaleplus.
2317           https://bugzilla.gnome.org/show_bug.cgi?id=786348
2318
2319 2017-08-17 12:26:05 +0100  Tim-Philipp Müller <tim@centricular.com>
2320
2321         * common:
2322           Automatic update of common submodule
2323           From 48a5d85 to 3f4aa96
2324
2325 2017-08-10 12:16:53 -0400  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2326
2327         * omx/gstomxvideodec.c:
2328           omxvideodec: use the decoder API to set latency
2329           https://bugzilla.gnome.org/show_bug.cgi?id=785125
2330
2331 2017-07-06 14:19:19 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2332
2333         * omx/gstomxvideodec.c:
2334         * omx/gstomxvideoenc.c:
2335           omxvideoenc/dec: declare latency on zynqultrascaleplus
2336           The OMX specification doesn't provide any API to expose the latency
2337           introduced by encoders and decoders. We implemented this as a custom
2338           extension as declaring the latency is needed for live pipelines like
2339           video conferencing.
2340           https://bugzilla.gnome.org/show_bug.cgi?id=785125
2341
2342 2017-08-07 13:16:01 -0400  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2343
2344         * omx/gstomxvideoenc.c:
2345           omxvideoenc: adjust stride and slice height from input
2346           Use the stride and slice height information from the first buffer meta
2347           data to adjust the settings of the input port.
2348           This will ensure that the OMX input buffers match the GStreamer ones
2349           and so will save us from having to copy line-by-line each one.
2350           This is also the first step to allow the OMX encoder to receive dmabuf.
2351           Tested on rpi and zynqultrascaleplus.
2352           https://bugzilla.gnome.org/show_bug.cgi?id=785967
2353
2354 2017-08-07 11:45:29 -0400  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2355
2356         * omx/gstomxvideoenc.c:
2357           omxvideoenc: delay buffer configuration until component is enabled
2358           No significant change for now. Just delay the input port configuration
2359           of the buffer size related fields (stride, slice height, buffer size)
2360           until the component is activated.
2361           This will allow us to use the actual stride/height of the first input
2362           and so avoid the buffer copying code path in most cases.
2363           Tested on rpi and zynqultrascaleplus.
2364           https://bugzilla.gnome.org/show_bug.cgi?id=785967
2365
2366 2017-07-24 13:52:35 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2367
2368         * omx/gstomxvideodec.c:
2369         * omx/gstomxvideoenc.c:
2370           omxvideodec/enc: delay allocation after the allocation query
2371           Allocating OMX components buffers in set_format() is too early.
2372           Doing it when receiving the first buffers will allow the element to use
2373           the information from the allocation query and/or the first incoming
2374           buffer to pick to best allocation mode.
2375           Tested on raspberry pi with dynamic resolution changes on decoder and
2376           encoder input.
2377           https://bugzilla.gnome.org/show_bug.cgi?id=785967
2378
2379 2017-07-25 14:27:45 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2380
2381         * omx/gstomxvideoenc.c:
2382           omxvideoenc: start src thread in handle_frame()
2383           Makes the code simpler as we no longer need to restart the thread in
2384           gst_omx_video_enc_flush() and It's more symetric which the omxvideodec
2385           implementation.
2386           I'm also going to move the enabling of the OMX component in
2387           handle_frame() and the src pad thread needs to be started after it.
2388           https://bugzilla.gnome.org/show_bug.cgi?id=785967
2389
2390 2017-07-25 14:07:30 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2391
2392         * omx/gstomxvideodec.c:
2393           omxvideodec: earlier return if downstream_flow_ret is not OK
2394           There is no point to (re)start the src thread if, for example, we are
2395           flushing.
2396           https://bugzilla.gnome.org/show_bug.cgi?id=785967
2397
2398 2017-07-24 12:31:37 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2399
2400         * omx/gstomxvideodec.c:
2401         * omx/gstomxvideodec.h:
2402           omxvideodec: factor out enable and disable code
2403           No semantic change, just factor out the code enabling and disabling the
2404           component to their own functions.
2405           Makes the code easier to read as the set_format() method was already
2406           pretty big. Will also allow us to easily change the enabling logic.
2407           https://bugzilla.gnome.org/show_bug.cgi?id=785967
2408
2409 2017-07-24 12:31:37 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2410
2411         * omx/gstomxvideoenc.c:
2412         * omx/gstomxvideoenc.h:
2413           omxvideoenc: factor out enable and disable code
2414           No semantic change, just factor out the code enabling and disabling the
2415           component to their own functions.
2416           Makes the code easier to read as the set_format() method was already
2417           pretty big. Will also allow us to easily change the enabling logic.
2418           https://bugzilla.gnome.org/show_bug.cgi?id=785967
2419
2420 2017-07-27 12:12:01 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2421
2422         * omx/gstomx.c:
2423           omx: also reset nFilledLen before calling OMX_FillThisBuffer()
2424           The spec states that the buffer passed to OMX_FillThisBuffer() needs to be
2425           empty. Some implementation may check it actually is by checking its
2426           nFilledLen field, so best to reset it as well.
2427           https://bugzilla.gnome.org/show_bug.cgi?id=785623
2428
2429 2017-07-17 21:06:47 +0100  Julien Isorce <jisorce@oblong.com>
2430
2431         * omx/gstomxvideodec.c:
2432         * omx/gstomxvideodec.h:
2433           omxvideodec: make generic the OMX_UseEGLImage code path
2434           Will be easier to maintain and to make enhancements.
2435           Tested with Tizonia on Desktop.
2436           Also tested with Bellagio to make sure it does not crash when
2437           calling OMX_UseEGLImage and indeed it returns NotImplemented.
2438           Then gst-omx fallback to OMX_UseBuffer if it can and so on.
2439           Also tested on rpi to make sure there is no regression.
2440           https://bugzilla.gnome.org/show_bug.cgi?id=784365
2441
2442 2017-07-21 11:52:00 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
2443
2444         * omx/gstomxvideodec.c:
2445           omxvideodec: Fix segment seek
2446           On segment seek, unlike EOS, we drain, but we cannot expect a flush
2447           later to reset the decoder state. As a side effect, the decoder would
2448           remain in EOS state and ignore any new incoming buffers.
2449           To fix this, we call _flush() inside the _drain() function, and
2450           _finish() becomes what _drain() was before. This way, for _finish() (the
2451           eos case) we only drain, for _drain() triggered by segment seek or new
2452           caps, we also reset the decoder state so it's ready to accept buffers.
2453           https://bugzilla.gnome.org/show_bug.cgi?id=785237
2454
2455 2017-07-10 15:00:58 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2456
2457         * omx/gstomxvideoenc.c:
2458           omxvideoenc: ensure enough buffers are allocated in the pool
2459           Handle allocation query and ensure enough buffers are allocated in
2460           the negotiated pool. This help preventing buffer starvation in the pipeline.
2461           https://bugzilla.gnome.org/show_bug.cgi?id=785122
2462
2463 2017-07-04 12:16:39 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2464
2465         * configure.ac:
2466         * meson.build:
2467         * omx/Makefile.am:
2468         * omx/gstomxbufferpool.c:
2469         * omx/gstomxbufferpool.h:
2470         * omx/gstomxvideodec.c:
2471         * omx/gstomxvideodec.h:
2472         * omx/meson.build:
2473           omxvideodec: add dmabuf support for output
2474           The zynqultrascaleplus OMX implementation has a custom extension
2475           allowing decoders to output dmabuf and so avoid buffers copy between OMX
2476           and GStreamer.
2477           Make use of this extension when built on the zynqultrascaleplus. The
2478           buffer pool code should be re-usable for other platforms as well.
2479           https://bugzilla.gnome.org/show_bug.cgi?id=784847
2480
2481 2017-06-20 00:13:33 +0100  Julien Isorce <jisorce@oblong.com>
2482
2483         * config/tizonia/gstomx.conf.in:
2484           config: add OMX.Aratelia.video_decoder.vp8 to Tizonia config
2485           Useful mostly for testing/debugging purpose as this is a software
2486           based encoder (libvpxdec) for which GStreamer provides a direct
2487           wrapper.
2488           https://bugzilla.gnome.org/show_bug.cgi?id=783976
2489
2490 2017-06-19 23:56:02 +0100  Julien Isorce <jisorce@oblong.com>
2491
2492         * omx/gstomxvideodec.c:
2493           omxvideodec: handle IL 1.2 behavior for OMX_SetParameter
2494           It triggers SettingsChanged on the other port and it is up to
2495           the client to decide if it should lead to a port reconfiguration.
2496           Settings are propagated to the other port for fields they have
2497           in common. But this event is only triggered on the other port
2498           if it actually change a setting.
2499           https://bugzilla.gnome.org/show_bug.cgi?id=783976
2500
2501 2017-07-18 23:41:17 +0100  Julien Isorce <jisorce@oblong.com>
2502
2503         * config/tizonia/gstomx.conf.in:
2504           config: set rank to 0 for Tizonia's mp3 decoder
2505           Should have been 0 from the initial commit
2506           eed49b4231a063639f90279c8044404c2149902a
2507
2508 2017-07-17 21:03:55 +0100  Julien Isorce <jisorce@oblong.com>
2509
2510         * omx/gstomxvideodec.c:
2511           omxvideodec: fix file permissions
2512           Introduced by ebc9b4903cbdac2793c24b05a1bb7acc3b67fae5
2513
2514 2017-06-29 23:17:26 +0100  Julien Isorce <jisorce@oblong.com>
2515
2516         * omx/gstomxvideodec.c:
2517           omxvideodec: fix buffer leak when eglimage setup fails
2518           Can happen if gst_buffer_pool_acquire_buffer succeeds but
2519           gst_buffer_n_memory (buffer) is not exactly 1.
2520           In theory this should not happen because the decoder requests
2521           EGLImage(RGBA) but better to fix any leak on corner cases.
2522           https://bugzilla.gnome.org/show_bug.cgi?id=784365
2523
2524 2017-07-17 18:36:36 +0530  Satya Prakash Gupta <sp.gupta@samsung.com>
2525
2526         * omx/gstomx.c:
2527           omx: Possible Memory leak in gst_caps_from_string
2528           https://bugzilla.gnome.org/show_bug.cgi?id=784978
2529
2530 2017-07-17 15:48:44 +0530  Satya Prakash Gupta <sp.gupta@samsung.com>
2531
2532         * omx/gstomxvideoenc.c:
2533           omxvideoenc: Fix deadlock in error case when draining
2534           https://bugzilla.gnome.org/show_bug.cgi?id=784972
2535
2536 2017-07-17 13:44:54 +0530  Satya Prakash Gupta <sp.gupta@samsung.com>
2537
2538         * omx/gstomxaudioenc.c:
2539           omxaudioenc: Fix deadlock in error case when draining
2540           https://bugzilla.gnome.org/show_bug.cgi?id=784967
2541
2542 2017-06-02 12:36:30 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2543
2544         * configure.ac:
2545         * meson.build:
2546         * omx/gstomx.h:
2547           build: include OMX_IndexExt and OMX_ComponentExt if present
2548           These files may be used by OMX implementation to define custom extensions.
2549           Include them if present as we are already doing with OMX_VideoExt.h
2550           https://bugzilla.gnome.org/show_bug.cgi?id=784847
2551
2552 2017-07-13 16:40:26 +1000  Jan Schmidt <jan@centricular.com>
2553
2554         * omx/gstomxh264enc.c:
2555           omxh264enc: Re-add periodicty-idr property for backward compat
2556           Retain backwards compatibility by adding a duplicate
2557           property for periodicty-idr
2558           https://bugzilla.gnome.org/show_bug.cgi?id=784370
2559
2560 2017-06-30 15:15:06 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2561
2562         * omx/gstomxh264enc.c:
2563           omxh264enc: fix typo in "periodicty-idr" property name
2564           Also fix the 'nick' of the property.
2565           https://bugzilla.gnome.org/show_bug.cgi?id=784370
2566
2567 2017-06-29 22:48:47 +0100  Julien Isorce <jisorce@oblong.com>
2568
2569         * omx/gstomxvideodec.c:
2570         * omx/gstomxvideodec.h:
2571           omxvideodec: use OMX_UseBuffer
2572           For example this allows the omx decoder to directly fill the
2573           pixmaps coming from the video sink.
2574           It only avoids a buffer copy when the decoder uses a pool provided
2575           by a downstream element. So let's restrict this usage to situations
2576           where the decoder decides to use a downstream buffer pool.
2577           Tested with Tizonia/OMX.Aratelia.video_decoder.vp8
2578           and with Bellagio/OMX.mesa.video_decoder.avc.
2579           If it fails to setup buffers with OMX_UseBuffer the decoders
2580           fallbacks to usual OMX_AllocateBuffer.
2581           Also it allows to test on desktop the GstOMXBufferPool->other_pool
2582           management which was previously only used in the OMX_UseEGLImage
2583           case, i.e. on Rpi.
2584           https://bugzilla.gnome.org/show_bug.cgi?id=784069
2585
2586 2017-07-12 10:29:16 +0100  Julien Isorce <jisorce@oblong.com>
2587
2588         * omx/gstomx.c:
2589           omx: do not always print an error if OMX_{UseBuffer,EGLImage} fails
2590           Let the caller decide to print an error. Because it can be part of
2591           a normal trial path.
2592           https://bugzilla.gnome.org/show_bug.cgi?id=784069
2593
2594 2017-07-12 16:00:53 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2595
2596         * omx/meson.build:
2597           meson: add gstomxmp3enc
2598           Commit 02d493e85921596f7cac7ef4af02fde500e9a5d8 didn't add
2599           gstomxmp3enc.c to meson.
2600           https://bugzilla.gnome.org/show_bug.cgi?id=784848
2601
2602 2017-05-23 10:32:58 +0100  Julien Isorce <jisorce@oblong.com>
2603
2604         * config/tizonia/gstomx.conf.in:
2605           config: add OMX.Aratelia.audio_encoder.mp3 to Tizonia config
2606           Useful mostly for testing/debugging purpose as this is a software
2607           based encoder (libmp3lame) for which GStreamer provides a direct
2608           wrapper.
2609           https://bugzilla.gnome.org/show_bug.cgi?id=782988
2610
2611 2017-05-23 10:32:06 +0100  Julien Isorce <jisorce@oblong.com>
2612
2613         * omx/Makefile.am:
2614         * omx/gstomx.c:
2615         * omx/gstomxmp3enc.c:
2616         * omx/gstomxmp3enc.h:
2617           omx: add gstomxmp3enc
2618           Initial support and only tested with the software based
2619           encoder OMX.Aratelia.audio_encoder.mp3 from Tizonia which
2620           internally uses libmp3lame.
2621           https://bugzilla.gnome.org/show_bug.cgi?id=782988
2622
2623 2017-03-28 16:27:10 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2624
2625         * config/zynqultrascaleplus/gstomx.conf:
2626         * omx/gstomx.c:
2627         * omx/gstomx.h:
2628         * omx/gstomxh264dec.c:
2629           h264dec: add hack to pass profile and level to OMX
2630           This information can be useful to zynqultrascaleplus decoders. They may
2631           use this information to reduce startup latency by configuring itself
2632           before receiving the first frames.
2633           We also have a custom OMX extension allowing the decoder to report the
2634           latency. The profile/level information helps it reporting a more
2635           accurate latency earlier.
2636           https://bugzilla.gnome.org/show_bug.cgi?id=783114
2637
2638 2017-07-03 13:17:11 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2639
2640         * omx/Makefile.am:
2641         * omx/gstomxh264enc.c:
2642         * omx/gstomxh264utils.c:
2643         * omx/gstomxh264utils.h:
2644         * omx/meson.build:
2645           omxh264enc: move profile and level parsing functions to their own files
2646           Will allow to re-use them in the decoder element.
2647           https://bugzilla.gnome.org/show_bug.cgi?id=783114
2648
2649 2017-07-04 03:15:00 +0530  Gurkirpal Singh <gurkirpal204@gmail.com>
2650
2651         * config/meson.build:
2652         * config/tizonia/meson.build:
2653         * meson.build:
2654         * meson_options.txt:
2655           meson: Add tizonia option
2656           https://bugzilla.gnome.org/show_bug.cgi?id=782800
2657
2658 2017-04-29 02:56:59 +0530  Gurkirpal Singh <gurkirpal204@gmail.com>
2659
2660         * .gitignore:
2661         * config/tizonia/Makefile.am:
2662         * config/tizonia/gstomx.conf.in:
2663         * config/tizonia/meson.build:
2664         * configure.ac:
2665           config: add omxmp3dec config for tizonia
2666           GST_OMX_CONFIG_DIR=$HOME/gst/master/gst-omx/config/tizonia/ \
2667           gst-launch-1.0 filesrc location=mpthreetest.mp3 ! id3demux ! \
2668           mpegaudioparse ! omxmp3dec ! audioconvert ! pulsesink
2669           v2: [Nicolas] Use template to create gstomx.conf using pkg-config
2670           v3: [Nicolas] Ignore only config/tizonia/gstomx.conf
2671           v4: [Nicolas] Add "/" for single occurence
2672           https://bugzilla.gnome.org/show_bug.cgi?id=782800
2673
2674 2017-05-07 20:09:54 +0530  Gurkirpal Singh <gurkirpal204@gmail.com>
2675
2676         * omx/gstomx.c:
2677           omx: always ignore OMX_ErrorPortUnpopulated
2678           It is safe to ignore it always. Tizonia notifies this error to pass
2679           some khronos conformance tests. Problem is that gst-omx saves this
2680           error in comp->last_error and then gst_omx_port_set_enabled early
2681           error out which fails the pipeline.
2682           https://bugzilla.gnome.org/show_bug.cgi?id=782800
2683
2684 2017-04-29 02:53:26 +0530  Gurkirpal Singh <gurkirpal204@gmail.com>
2685
2686         * omx/gstomx.c:
2687         * omx/gstomx.h:
2688           omx: guard some omx enums with IL version
2689           Some enums that existed in 1.1.2 just do not exit in 1.2.0
2690           See https://www.khronos.org/registry/OpenMAX-IL/specs/OpenMAX_IL_1_2_0_Specification_redline.pdf
2691           https://bugzilla.gnome.org/show_bug.cgi?id=782800
2692
2693 2017-04-29 01:56:01 +0530  Gurkirpal Singh <gurkirpal204@gmail.com>
2694
2695         * configure.ac:
2696           configure.ac: add tizonia target for --with-omx-target flag.
2697           This will check for tizilheaders.pc which adds path to omx-il
2698           headers its cflags. Can be installed all together with the 1.2 headers
2699           with package tizilheaders if not building from sources:
2700           https://github.com/tizonia/tizonia-openmax-il
2701           It is also adviced to remove libomxil-bellagio-dev package because
2702           it installs headers /usr/include directly, ex: /usr/include/OMX_Video.h.
2703           https://bugzilla.gnome.org/show_bug.cgi?id=782800
2704
2705 2017-07-05 10:47:41 +0100  Julien Isorce <jisorce@oblong.com>
2706
2707         * omx/gstomxaudioenc.c:
2708           omxaudioenc: update local port_def after reopening the component
2709           gst_omx_audio_enc_open will only update GstOMXAudioEnc->port->port_def.
2710           Note that the component is reopen only if the flag
2711           GST_OMX_HACK_NO_COMPONENT_RECONFIGURE is set.
2712           https://bugzilla.gnome.org/show_bug.cgi?id=782418
2713
2714 2017-07-05 10:48:52 +0100  Julien Isorce <jisorce@oblong.com>
2715
2716         * omx/gstomxvideoenc.c:
2717           omxvideoenc: update local port_def after reopening the component
2718           gst_omx_video_enc_open will only update GstOMXVideoEnc->port->port_def.
2719           Note that the component is reopen only if the flag
2720           GST_OMX_HACK_NO_COMPONENT_RECONFIGURE is set.
2721           https://bugzilla.gnome.org/show_bug.cgi?id=782418
2722
2723 2017-05-10 12:38:39 +0900  Sejun Park <sejun79.park@samsung.com>
2724
2725         * omx/gstomxvideodec.c:
2726           omxvideodec: update local port_def after reopening the component
2727           gst_omx_video_dec_open will only update GstOMXVideoDec->port->port_def.
2728           Note that the component is reopen only if the flag
2729           GST_OMX_HACK_NO_COMPONENT_RECONFIGURE is set.
2730           https://bugzilla.gnome.org/show_bug.cgi?id=782418
2731
2732 2017-07-03 16:33:06 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2733
2734         * omx/gstomxvideodec.c:
2735           omxvideodec: increase the minimum number of allocated buffers
2736           Ensure that enough buffers are allocated by adding up component's own
2737           minimal plus the number of buffers requested by downstream.
2738           This should prevent buffers starvation problem if downstream elements
2739           are holding some of the buffers they required.
2740           Also simplify the check on the maximum on buffers. What we actually care
2741           about is to make sure the pool can hold the minimum of required buffers.
2742           https://bugzilla.gnome.org/show_bug.cgi?id=784479
2743
2744 2017-07-03 10:54:50 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2745
2746         * omx/gstomxh264enc.c:
2747           omxh264enc: raise a warning if AVCIntraPeriod is not supported
2748           Some platforms may not implement OMX_IndexConfigVideoAVCIntraPeriod and
2749           use OMX_IndexParamVideoAvc instead to configure the GOP pattern.
2750           So raise a warning instead of an error if this API is not implemented.
2751           https://bugzilla.gnome.org/show_bug.cgi?id=784379
2752
2753 2017-06-29 14:16:19 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2754
2755         * omx/gstomxh264enc.c:
2756         * omx/gstomxh264enc.h:
2757           omxh264enc: add 'b-frames' property
2758           Add a property to control the number of B-frames produced by the
2759           encoder using the OMX_VIDEO_PARAM_AVCTYPE OMX API.
2760           https://bugzilla.gnome.org/show_bug.cgi?id=784379
2761
2762 2017-06-30 14:18:35 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2763
2764         * omx/gstomxh264enc.c:
2765           omxh264enc: fix typo in 'set_avc_intra_period'
2766           https://bugzilla.gnome.org/show_bug.cgi?id=784379
2767
2768 2017-05-22 11:23:33 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2769
2770         * config/Makefile.am:
2771         * config/meson.build:
2772         * config/zynqultrascaleplus/Makefile.am:
2773         * config/zynqultrascaleplus/gstomx.conf:
2774         * config/zynqultrascaleplus/meson.build:
2775         * configure.ac:
2776         * meson.build:
2777         * meson_options.txt:
2778           add 'zynqultrascaleplus' as OMX target
2779           Adding support for the 'Zynq UltraScale+' as a new OMX target.
2780           See https://www.xilinx.com/products/silicon-devices/soc/zynq-ultrascale-mpsoc.html
2781           for details about the platform.
2782           https://bugzilla.gnome.org/show_bug.cgi?id=783097
2783
2784 2017-05-21 15:23:09 +0100  Julien Isorce <jisorce@oblong.com>
2785
2786         * config/bellagio/gstomx.conf:
2787           config: add OMX.mesa.video_decoder.{avc,mpeg2} for Bellagio config
2788           Install libomxil-bellagio0 and make sure mesa has been built with
2789           --enable-omx. Check there is /usr/lib/libomxil-bellagio0/libomx_mesa.so
2790           then run omxregister-bellagio to regenerate $XDG_DATA_HOME/.omxregister
2791           Then omxh264dec and omxmpeg2dec should load.
2792           https://bugzilla.gnome.org/show_bug.cgi?id=782926
2793
2794 2017-05-18 13:50:56 +0100  Julien Isorce <jisorce@oblong.com>
2795
2796         * configure.ac:
2797           configure.ac: move omx features check after target selection
2798           Does not change anything, except this will be useful for future commits.
2799           Indeed some targets provide a .pc file where to look for the omx headers.
2800           https://bugzilla.gnome.org/show_bug.cgi?id=782800
2801
2802 2017-06-29 16:48:07 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2803
2804         * omx/gstomxh264dec.c:
2805           omxh264dec: remove 'parsed=true' from sink pad
2806           The decoder only requires to receive one frame per buffer which is
2807           already enforced with 'alignment=au'. There is no need to require to
2808           have a parser upstream.
2809           Allow to run "encode ! decode" pipeline without having a parser.
2810           https://bugzilla.gnome.org/show_bug.cgi?id=784344
2811
2812 2017-06-16 13:28:33 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2813
2814         * omx/gstomxh264enc.c:
2815           omxh264enc: set profile/level using OMX_VIDEO_PARAM_AVCTYPE as well
2816           The OMX specification defines two API to set the AVC profile and level:
2817           using OMX_VIDEO_PARAM_PROFILELEVELTYPE and OMX_VIDEO_PARAM_AVCTYPE.
2818           We were already supporting the former but not the latter. We are now
2819           setting both so implementation don't have to rely on a specific one.
2820           https://bugzilla.gnome.org/show_bug.cgi?id=783862
2821
2822 2017-06-16 13:19:33 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2823
2824         * omx/gstomxh264enc.c:
2825           omxh264enc: factor out update_param_profile_level()
2826           https://bugzilla.gnome.org/show_bug.cgi?id=783862
2827
2828 2017-06-16 12:53:15 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2829
2830         * omx/gstomxh264enc.c:
2831           omxh264enc: factor out string to profile/level enum conversion
2832           https://bugzilla.gnome.org/show_bug.cgi?id=783862
2833
2834 2017-06-28 15:06:10 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2835
2836         * omx/gstomxh264enc.c:
2837           omxh264enc: use OMX_IndexConfigBrcmVideoIntraPeriod on pi
2838           The OMX_VIDEO_CONFIG_AVCINTRAPERIOD.nPFrames setting isn't of any use on
2839           the raspbery pi. Instead it uses a custom extension to define the I
2840           frame period.
2841           https://bugzilla.gnome.org/show_bug.cgi?id=783829
2842
2843 2017-06-28 15:03:52 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2844
2845         * omx/gstomxh264enc.c:
2846           omxh264enc: factor out set_avc_intra_perdiod()
2847           https://bugzilla.gnome.org/show_bug.cgi?id=783829
2848
2849 2017-06-02 12:48:57 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2850
2851         * meson.build:
2852           meson: define HAVE_VIDEO_EXT if OMX_VideoExt.h is present
2853           Meson build wasn't defining the HAVE_VIDEO_EXT like configure.ac does.
2854           https://bugzilla.gnome.org/show_bug.cgi?id=783346
2855
2856 2017-06-11 12:32:01 +0000  Graham Leggett <minfrin@sharp.fm>
2857
2858         * omx/gstomxvideoenc.c:
2859           omxvideoenc: Improve debug output when setting codec state due to new codec_data fails
2860           https://bugzilla.gnome.org/show_bug.cgi?id=783657
2861
2862 2017-05-20 14:49:20 +0100  Julien Isorce <jisorce@oblong.com>
2863
2864         * omx/gstomx.c:
2865           omx: allow 0 feature
2866           Previously the omx plugin was blacklisted if GST_OMX_CONFIG_DIR
2867           points to an invalid path or if the gstomx.conf contains 0 valid
2868           component.
2869           Problem is that once the plugin is blacklisted, a rescan is not
2870           triggered upon changes of the env var or the gstomx.conf file
2871           despite being setup with gst_plugin_add_dependency.
2872           This also makes it more consistent with other plugins that auto
2873           generate features. For example gst-{ffmeg,libav}, gstreamer-vaapi,
2874           v4l2 video dec.
2875           To clarify the diff, the plugin_init func will return TRUE even if
2876           g_key_file_get_groups returns 0 element and even if
2877           g_key_file_load_from_dirs fails.
2878           https://bugzilla.gnome.org/show_bug.cgi?id=782867
2879
2880 2017-04-26 22:52:17 +0530  Gurkirpal Singh <gurkirpal204@gmail.com>
2881
2882         * config/bellagio/gstomx.conf:
2883           config: add OMX.st.audio_decoder.mp3.mad for Bellagio config
2884           MP3 Software decoder (libmad based) but useful for testing
2885           and to compare with other targets.
2886           GST_OMX_CONFIG_DIR=$HOME/gst/master/gst-omx/config/bellagio/ \
2887           gst-launch-1.0 filesrc location=mpthreetest.mp3 ! id3demux ! \
2888           mpegaudioparse ! omxmp3dec ! audioconvert ! pulsesink
2889           Didn't add 'local' in core-name path compared to other components
2890           in that same gstomx.conf file because OMX.st.audio_decoder.mp3.mad
2891           comes with the Ubuntu package 'libomxil-bellagio0-components-mad'.
2892           All other components listed in this gstomx.conf for Bellagio, are
2893           not provided by any Ubuntu packages. It could explain the 'local',
2894           i.e. requiring to build them from source.
2895           dpkg -L libomxil-bellagio0
2896           /usr/lib/libomxil-bellagio.so.0
2897           https://bugzilla.gnome.org/show_bug.cgi?id=781786
2898           Signed-off-by: Gurkirpal Singh <gurkirpal204@gmail.com>
2899           Signed-off-by: Julien Isorce <jisorce@oblong.com>
2900
2901 2017-05-16 14:39:04 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
2902
2903         * configure.ac:
2904           Remove plugin specific static build option
2905           Static and dynamic plugins now have the same interface. The standard
2906           --enable-static/--enable-shared toggle are sufficient.
2907
2908 2017-05-10 12:10:10 +0900  Sejun Park <sejun79.park@samsung.com>
2909
2910         * omx/gstomxvideodec.c:
2911           omxvideodec: Removed unreachable code
2912           https://bugzilla.gnome.org/show_bug.cgi?id=782416
2913
2914 2017-05-09 16:26:44 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2915
2916         * omx/meson.build:
2917           meson: add dep on GModule
2918           libgstomx uses the GModule API and so needs it in its dependencies list.
2919           https://bugzilla.gnome.org/show_bug.cgi?id=782387
2920
2921 2017-05-09 13:27:28 +0000  Tim-Philipp Müller <tim@centricular.com>
2922
2923         * meson.build:
2924           meson: fix config.h generation
2925           "No such input file config.h.meson", but it's not needed anyway.
2926           https://bugzilla.gnome.org/show_bug.cgi?id=782382
2927
2928 2017-05-04 18:59:33 +0300  Sebastian Dröge <sebastian@centricular.com>
2929
2930         * configure.ac:
2931         * meson.build:
2932           Back to development
2933
2934 === release 1.12.0 ===
2935
2936 2017-05-04 15:48:56 +0300  Sebastian Dröge <sebastian@centricular.com>
2937
2938         * ChangeLog:
2939         * NEWS:
2940         * RELEASE:
2941         * configure.ac:
2942         * gst-omx.doap:
2943         * meson.build:
2944           Release 1.12.0
2945
2946 === release 1.11.91 ===
2947
2948 2017-04-27 17:53:50 +0300  Sebastian Dröge <sebastian@centricular.com>
2949
2950         * ChangeLog:
2951         * NEWS:
2952         * RELEASE:
2953         * configure.ac:
2954         * gst-omx.doap:
2955         * meson.build:
2956           Release 1.11.91
2957
2958 2017-04-17 17:02:48 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2959
2960         * omx/gstomxvideoenc.c:
2961           videoenc: use GST_ROUND_UP_N() macro
2962           Makes the code much easier to read and understand.
2963           https://bugzilla.gnome.org/show_bug.cgi?id=781409
2964
2965 2017-04-24 20:30:21 +0100  Tim-Philipp Müller <tim@centricular.com>
2966
2967         * common:
2968           Automatic update of common submodule
2969           From 60aeef6 to 48a5d85
2970
2971 2017-04-10 23:51:00 +0100  Tim-Philipp Müller <tim@centricular.com>
2972
2973         * autogen.sh:
2974         * common:
2975           Automatic update of common submodule
2976           From 39ac2f5 to 60aeef6
2977
2978 === release 1.11.90 ===
2979
2980 2017-04-07 16:36:45 +0300  Sebastian Dröge <sebastian@centricular.com>
2981
2982         * ChangeLog:
2983         * NEWS:
2984         * RELEASE:
2985         * configure.ac:
2986         * gst-omx.doap:
2987         * meson.build:
2988           Release 1.11.90
2989
2990 2017-04-07 14:27:23 +0300  Sebastian Dröge <sebastian@centricular.com>
2991
2992         * omx/gstomxvideoenc.c:
2993           omxvideoenc: Fix compiler warning
2994           gstomxvideoenc.c: In function ‘gst_omx_video_enc_fill_buffer’:
2995           CC       libgstomx_la-gstomxaacdec.lo
2996           gstomxvideoenc.c:1316:27: warning: format ‘%u’ expects argument of type ‘unsigned int’, but argument 8 has type ‘OMX_U32 {aka long unsigned int}’ [-Wformat=]
2997           GST_LOG_OBJECT (self, "Matched strides - direct copy %u bytes",
2998           ^
2999           outbuf->omx_buf->nFilledLen);
3000           ~~~~~~~~~~~~~~~~~~
3001
3002 2017-03-22 17:18:09 +0530  Gurkirpal Singh <gurkirpal204@gmail.com>
3003
3004         * meson.build:
3005           meson: fix logic to set HAVE_THEORA
3006           https://bugzilla.gnome.org/show_bug.cgi?id=780392
3007
3008 2017-03-14 03:02:06 +1100  Jan Schmidt <thaytan@noraisin.net>
3009
3010         * omx/gstomxvideoenc.c:
3011           omxvideoenc: Add an unimplemented mapping for RGBA formats
3012           Add some pixel formats mappings for 2 RGBA formats. Not yet
3013           implemented in the buffer input code though, so no effect for now.
3014
3015 2017-03-14 03:00:49 +1100  Jan Schmidt <thaytan@noraisin.net>
3016
3017         * omx/gstomx.c:
3018         * omx/gstomx.h:
3019         * omx/gstomxvideoenc.c:
3020           omxvideoenc: Add GST_OMX_HACK_HEIGHT_MULTIPLE_16 for Rpi
3021           The Raspberry Pi encoder produces corrupt output unless
3022           the input height is a multiple of 16. Add a hack that adds
3023           zero padding when needed.
3024
3025 2017-03-14 02:42:15 +1100  Jan Schmidt <thaytan@noraisin.net>
3026
3027         * omx/gstomxvideoenc.c:
3028           omxvideoenc: Add a mapping for OMX_COLOR_FormatYUV420PackedSemiPlanar
3029           The RaspberryPi
3030
3031 2017-03-14 02:40:24 +1100  Jan Schmidt <thaytan@noraisin.net>
3032
3033         * omx/gstomxvideoenc.c:
3034           omxvideoenc: Filter out unimplemented formats
3035           Don't announce pixel formats in the caps if they've not been
3036           implemented.
3037
3038 2017-03-14 02:34:36 +1100  Jan Schmidt <thaytan@noraisin.net>
3039
3040         * omx/gstomxvideodec.c:
3041           omxvideodec: demote ERROR message
3042           There's no need to warn about failing to negotiate EGL output
3043           - that can be perfectly normal.
3044
3045 2017-02-24 16:00:29 +0200  Sebastian Dröge <sebastian@centricular.com>
3046
3047         * meson.build:
3048           meson: Update version
3049
3050 2017-02-24 15:38:17 +0200  Sebastian Dröge <sebastian@centricular.com>
3051
3052         * configure.ac:
3053           Back to development
3054
3055 === release 1.11.2 ===
3056
3057 2017-02-24 15:10:17 +0200  Sebastian Dröge <sebastian@centricular.com>
3058
3059         * ChangeLog:
3060         * NEWS:
3061         * RELEASE:
3062         * configure.ac:
3063         * gst-omx.doap:
3064           Release 1.11.2
3065
3066 2017-02-15 18:22:53 +0000  Tim-Philipp Müller <tim@centricular.com>
3067
3068         * Makefile.am:
3069           meson: dist meson build files
3070           Ship meson build files in tarballs, so people who use tarballs
3071           in their builds can start playing with meson already.
3072
3073 2017-01-13 16:23:12 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
3074
3075         * omx/gstomxaacenc.c:
3076           omxaacenc: let encoder know about incoming rate/channels
3077           https://bugzilla.gnome.org/show_bug.cgi?id=777223
3078
3079 2017-01-18 02:43:44 +1100  Matthew Waters <matthew@centricular.com>
3080
3081         * config/bellagio/meson.build:
3082         * config/meson.build:
3083         * config/rpi/meson.build:
3084         * examples/egl/meson.build:
3085         * examples/meson.build:
3086         * hooks/pre-commit.hook:
3087         * meson.build:
3088         * meson_options.txt:
3089         * omx/meson.build:
3090           build: add meson build definition
3091           Currently only been tested on the RPi within gst-build.
3092
3093 2017-01-18 15:21:35 +1100  Matthew Waters <matthew@centricular.com>
3094
3095         * examples/egl/testegl.c:
3096           examples/testegl: update for libgstgl changes
3097
3098 2017-01-12 16:33:09 +0200  Sebastian Dröge <sebastian@centricular.com>
3099
3100         * configure.ac:
3101           Back to development
3102
3103 === release 1.11.1 ===
3104
3105 2017-01-12 16:26:55 +0200  Sebastian Dröge <sebastian@centricular.com>
3106
3107         * ChangeLog:
3108         * NEWS:
3109         * RELEASE:
3110         * configure.ac:
3111         * gst-omx.doap:
3112           Release 1.11.1
3113
3114 2017-01-10 15:29:08 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
3115
3116         * omx/gstomxaudioenc.c:
3117           omxaudioenc: set base class format instead of just source pad caps
3118
3119 2016-12-18 19:46:55 +0000  Graham Leggett <minfrin@sharp.fm>
3120
3121         * omx/gstomxaudiodec.c:
3122         * omx/gstomxvideodec.c:
3123           omx*dec: Flush before we stop the srcpad loop
3124           Flushing could otherwise hang if output port queue of pending buffers was empty
3125           https://bugzilla.gnome.org/show_bug.cgi?id=774654
3126
3127 2016-12-14 13:29:08 -0800  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
3128
3129         * omx/gstomx.c:
3130           Fix broken build due to syntax error
3131           Problem was introduced by 8716c23e2b0553db2982eb84c437f493c974385e
3132
3133 2016-12-12 11:12:48 +0000  Graham Leggett <minfrin@sharp.fm>
3134
3135         * omx/gstomx.c:
3136           Prevent early EOS by resetting eos flag once GST_OMX_ACQUIRE_BUFFER_EOS is triggered
3137           https://bugzilla.gnome.org/show_bug.cgi?id=774600
3138
3139 2016-12-12 11:09:15 +0000  Graham Leggett <minfrin@sharp.fm>
3140
3141         * omx/gstomx.c:
3142           Add clear debug logging on all the paths out of gst_omx_port_acquire_buffer()
3143           https://bugzilla.gnome.org/show_bug.cgi?id=774600
3144
3145 2016-12-01 18:23:50 +0100  George Kiagiadakis <george.kiagiadakis@collabora.com>
3146
3147         * config/rpi/gstomx.conf:
3148         * omx/gstomx.c:
3149         * omx/gstomx.h:
3150           Add a signals-premature-eos hack for egl_render
3151           egl_render seems to have a bug and signals EOS before it has finished
3152           pushing out all data; this hack simply makes acquire_buffer() wait
3153           a bit more before signalling EOS, in case egl_render decides to spit
3154           out some more data.
3155           https://bugzilla.gnome.org/show_bug.cgi?id=741856
3156
3157 2016-12-11 19:52:37 +0000  Graham Leggett <minfrin@sharp.fm>
3158
3159         * omx/gstomxvideo.c:
3160           Add support for OMX_COLOR_FormatYUV420PackedSemiPlanar and OMX_COLOR_Format24bitBGR888
3161           https://bugzilla.gnome.org/show_bug.cgi?id=775959
3162
3163 2016-12-03 08:20:46 +0100  Edward Hervey <bilboed@bilboed.com>
3164
3165         * common:
3166           Automatic update of common submodule
3167           From ac2f647 to 39ac2f5
3168
3169 2016-11-26 11:27:58 +0000  Tim-Philipp Müller <tim@centricular.com>
3170
3171         * .gitmodules:
3172           common: use https protocol for common submodule
3173           https://bugzilla.gnome.org/show_bug.cgi?id=775110
3174
3175 2016-11-25 23:56:06 +0200  Sebastian Dröge <sebastian@centricular.com>
3176
3177         * omx/gstomx.c:
3178           omx: Fix compiler warning with latest clang
3179           gstomx.c:1376:42: error: implicit conversion from enumeration type 'GstOMXAcquireBufferReturn' to different enumeration type 'OMX_ERRORTYPE'
3180           (aka 'enum OMX_ERRORTYPE') [-Werror,-Wenum-conversion]
3181           g_return_val_if_fail (!port->tunneled, GST_OMX_ACQUIRE_BUFFER_ERROR);
3182           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3183           https://bugzilla.gnome.org/show_bug.cgi?id=775112
3184
3185 2016-11-17 19:56:35 +1100  Matthew Waters <matthew@centricular.com>
3186
3187         * omx/gstomxvideodec.c:
3188           videodecoder: remove use of EGLImage orientation
3189           New code should use GstVideoTransformationMeta
3190           (The defaults do the right thing here though).
3191
3192 === release 1.11.0 ===
3193
3194 2016-11-01 18:53:25 +0200  Sebastian Dröge <sebastian@centricular.com>
3195
3196         * configure.ac:
3197           Back to development
3198
3199 === release 1.10.0 ===
3200
3201 2016-11-01 18:20:48 +0200  Sebastian Dröge <sebastian@centricular.com>
3202
3203         * ChangeLog:
3204         * NEWS:
3205         * RELEASE:
3206         * configure.ac:
3207         * gst-omx.doap:
3208           Release 1.10.0
3209
3210 === release 1.9.90 ===
3211
3212 2016-09-30 13:04:51 +0300  Sebastian Dröge <sebastian@centricular.com>
3213
3214         * ChangeLog:
3215         * NEWS:
3216         * RELEASE:
3217         * common:
3218         * configure.ac:
3219         * gst-omx.doap:
3220           Release 1.9.90
3221
3222 2016-09-14 11:33:13 +0200  Sebastian Dröge <sebastian@centricular.com>
3223
3224         * configure.ac:
3225           configure: Depend on gstreamer 1.9.2.1
3226
3227 2016-09-12 14:09:46 +0200  Sebastian Dröge <sebastian@centricular.com>
3228
3229         * configure.ac:
3230         * omx/gstomx.c:
3231           omx: Also search for gstomx.conf in the autoconf --sysconfdir
3232           https://bugzilla.gnome.org/show_bug.cgi?id=770743
3233
3234 2016-09-10 20:52:10 +1000  Jan Schmidt <jan@centricular.com>
3235
3236         * autogen.sh:
3237         * common:
3238           Automatic update of common submodule
3239           From b18d820 to f980fd9
3240
3241 2016-09-10 09:58:16 +1000  Jan Schmidt <jan@centricular.com>
3242
3243         * autogen.sh:
3244         * common:
3245           Automatic update of common submodule
3246           From ac2f647 to b18d820
3247
3248 2016-09-01 12:36:09 +0300  Sebastian Dröge <sebastian@centricular.com>
3249
3250         * configure.ac:
3251           Back to development
3252
3253 === release 1.9.2 ===
3254
3255 2016-09-01 12:35:58 +0300  Sebastian Dröge <sebastian@centricular.com>
3256
3257         * ChangeLog:
3258         * NEWS:
3259         * RELEASE:
3260         * common:
3261         * configure.ac:
3262         * gst-omx.doap:
3263           Release 1.9.2
3264
3265 2016-07-11 21:15:48 +0200  Stefan Sauer <ensonic@users.sf.net>
3266
3267         * common:
3268           Automatic update of common submodule
3269           From ac2f647 to f49c55e
3270
3271 2016-07-06 13:51:24 +0300  Sebastian Dröge <sebastian@centricular.com>
3272
3273         * configure.ac:
3274           Back to development
3275
3276 === release 1.9.1 ===
3277
3278 2016-07-06 13:48:45 +0300  Sebastian Dröge <sebastian@centricular.com>
3279
3280         * ChangeLog:
3281         * NEWS:
3282         * RELEASE:
3283         * common:
3284         * configure.ac:
3285         * gst-omx.doap:
3286           Release 1.9.1
3287
3288 2016-06-29 16:37:43 +0900  Kazunori Kobayashi <kkobayas@igel.co.jp>
3289
3290         * omx/gstomxvideodec.c:
3291           omxvideodec: Use GST_VIDEO_FRAME_PLANE_STRIDE() to get output buffer's stride
3292           GST_VIDEO_FRAME_PLANE_STRIDE() should be used to get the actual buffer stride,
3293           as reported in the buffers's GstVideoMeta, when copying data to that buffer.
3294           https://bugzilla.gnome.org/show_bug.cgi?id=768173
3295
3296 2016-06-21 11:48:40 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
3297
3298         * common:
3299           Automatic update of common submodule
3300           From ac2f647 to f363b32
3301
3302 2016-06-21 11:43:13 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
3303
3304         * omx/gstomxaudioenc.c:
3305           omxaudioenc: implement GstPreset interface
3306           To allow user to use GstPreset to quickly save and load a set of
3307           parameters.
3308           https://bugzilla.gnome.org/show_bug.cgi?id=767907
3309
3310 2016-06-21 11:41:15 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
3311
3312         * omx/gstomxvideoenc.c:
3313           omxvideoenc: implement GstPreset interface
3314           To allow user to use GstPreset to quickly save and load a set of
3315           parameters.
3316           https://bugzilla.gnome.org/show_bug.cgi?id=767907
3317
3318 2016-06-17 12:06:48 +0300  Sebastian Dröge <sebastian@centricular.com>
3319
3320         * configure.ac:
3321         * omx/gstomx.h:
3322         * omx/gstomxaudiodec.c:
3323         * omx/gstomxaudioenc.c:
3324         * omx/gstomxvideo.c:
3325         * omx/gstomxvideodec.c:
3326         * omx/gstomxvideoenc.c:
3327           omx: #define OMX_SKIP64BIT on the RPi as required by their API
3328           Also add generic support for OMX_SKIP64BIT to gst-omx, in case other
3329           implementations also #define that for whatever reason.
3330           https://bugzilla.gnome.org/show_bug.cgi?id=766475
3331
3332 2016-06-17 10:59:45 +0300  Sebastian Dröge <sebastian@centricular.com>
3333
3334         * omx/gstomxvideodec.c:
3335           omxvideodec: Implement ::drain() virtual method
3336           https://bugzilla.gnome.org/show_bug.cgi?id=767641
3337
3338 2016-06-04 19:31:45 +0100  Tim-Philipp Müller <tim@centricular.com>
3339
3340         * configure.ac:
3341           configure: remove AG_GST_PARSE_SUBSYSTEM_DISABLES
3342           This would check which subsystems are disabled in core by grepping
3343           gstconfig.h. Only problem is: gstconfig.h has moved into libdir now
3344           so we've been checking a non-existent file for a while now. The
3345           macro would just sets GST_DISABLE_* for use in configure.ac and
3346           Makefile.am, but we don't use that anywhere so just get rid of it
3347           (the one place where we use GST_DISABLE_GST_DEBUG is in a .c file
3348           which gets the define from the gstconfig.h include).
3349           https://bugzilla.gnome.org/show_bug.cgi?id=750056
3350
3351 2016-01-20 03:10:38 +0900  Gwang Yoon Hwang <yoon@igalia.com>
3352
3353         * examples/egl/testegl.c:
3354         * omx/gstomxvideodec.c:
3355           omxvideodec : Use gstglmemoryegl for the RPi
3356           Modified to use gstglmemoryegl to avoid texture creation/copy operations
3357           at the glupload.
3358           [Matthew Waters]: gst-indent the sources and port testegl to GstGLMemoryEGL
3359           https://bugzilla.gnome.org/show_bug.cgi?id=760918
3360
3361 2016-04-14 10:04:32 +0100  Julien Isorce <j.isorce@samsung.com>
3362
3363         * common:
3364           Automatic update of common submodule
3365           From 6f2d209 to ac2f647
3366
3367 2016-02-26 12:42:41 +0200  Sebastian Dröge <sebastian@centricular.com>
3368
3369         * common:
3370           Automatic update of common submodule
3371           From b64f03f to 6f2d209
3372
3373 2016-02-17 20:51:03 +1100  Matthew Waters <matthew@centricular.com>
3374
3375         * examples/egl/testegl.c:
3376           examples: update egl example for gstgl API changes
3377           https://bugzilla.gnome.org/show_bug.cgi?id=762053
3378           https://bugzilla.gnome.org/show_bug.cgi?id=753917
3379
3380 2016-02-05 18:11:06 -0300  Thiago Santos <thiagoss@osg.samsung.com>
3381
3382         * autogen.sh:
3383         * common:
3384           Automatic update of common submodule
3385           From 86e4663 to b64f03f
3386
3387 2015-12-21 00:43:49 +0100  Koop Mast <kwm@rainbow-runner.nl>
3388
3389         * configure.ac:
3390           configure: Make -Bsymbolic check work with clang.
3391           Update the -Bsymbolic check with the version glib has. This version
3392           works with clang.
3393           https://bugzilla.gnome.org/show_bug.cgi?id=759713
3394
3395 2015-12-07 09:11:32 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
3396
3397         * autogen.sh:
3398         * common:
3399           Automatic update of common submodule
3400           From b319909 to 86e4663
3401
3402 2015-11-18 13:00:28 +0000  Enrique Ocaña González <eocanha@igalia.com>
3403
3404         * omx/gstomx.c:
3405           Remember the last_error after a failed set state call to avoid blocking the next get state call
3406           gst_omx_video_dec_flush() blocks forever in
3407           http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomxvideodec.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n2110
3408           when the previous call to gst_omx_component_set_state() fails in
3409           http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomx.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n827.
3410           To mitigate that, I set "last_error" to true, so the code in
3411           http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomx.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n862
3412           exits early and doesn't block.
3413           https://bugzilla.gnome.org/show_bug.cgi?id=758274
3414
3415 2015-11-18 12:59:59 +0000  Enrique Ocaña González <eocanha@igalia.com>
3416
3417         * omx/gstomxaudiodec.c:
3418         * omx/gstomxaudioenc.c:
3419         * omx/gstomxvideodec.c:
3420         * omx/gstomxvideoenc.c:
3421           Properly handle drain requests while flushing
3422           Without this commit the decoder streaming thread stops without ever attending
3423           the drain request, leaving the decoder input thread waiting forever.
3424           https://bugzilla.gnome.org/show_bug.cgi?id=758274
3425
3426 2015-11-10 10:42:35 +0100  Nicolas Huet <nicolas.huet@parrot.com>
3427
3428         * omx/gstomx.c:
3429           omx: fix hacks leak on class init
3430
3431 2015-10-21 14:37:13 +0100  Tim-Philipp Müller <tim@centricular.com>
3432
3433         * common:
3434           Automatic update of common submodule
3435           From b99800a to b319909
3436
3437 2015-10-21 14:28:41 +0300  Sebastian Dröge <sebastian@centricular.com>
3438
3439         * common:
3440           Automatic update of common submodule
3441           From 9aed1d7 to b99800a
3442
3443 2015-09-01 16:08:11 -0300  Thiago Santos <thiagoss@osg.samsung.com>
3444
3445         * omx/gstomxaacdec.c:
3446           omxaacdec: Do not accept unknown layouts
3447           It was defaulting to RAW when an unknown layout was received but
3448           the caps template would actually forbid that on the caps query
3449           or accept-caps anyway.
3450
3451 2015-09-01 08:59:54 -0300  Thiago Santos <thiagoss@osg.samsung.com>
3452
3453         * omx/gstomxaudiodec.c:
3454           omxaudiodec: use default pad accept-caps handling
3455           Instead of the audiodecoder one. The OMX audioo decoders have their
3456           valid input in the template pad, so just check against that to
3457           avoid doing a query downstream.
3458
3459 2015-08-28 12:57:33 -0300  Thiago Santos <thiagoss@osg.samsung.com>
3460
3461         * omx/gstomxvideodec.c:
3462           omxvideodec: use default pad accept-caps handling
3463           Instead of the videodecoder one. The OMX video decoders have their
3464           valid input in the template pad, so just check against that to
3465           avoid doing a query downstream.
3466
3467 2015-08-22 15:54:55 +0000  Graham Leggett <minfrin@sharp.fm>
3468
3469         * omx/gstomxvideoenc.c:
3470           omxvideoenc: Add keyframe support for the Rpi, using OMX_IndexConfigBrcmVideoRequestIFrame
3471           https://bugzilla.gnome.org/show_bug.cgi?id=753085
3472
3473 2015-08-20 17:20:50 +0900  Vineeth TM <vineeth.tm@samsung.com>
3474
3475         * examples/egl/testegl.c:
3476           gst-omx: Fix memory leaks when context parse fails
3477           When g_option_context_parse fails, context and error variables are not getting free'd
3478           which results in memory leaks. Free'ing the same.
3479           And replacing g_error_free with g_clear_error, which checks if the error being passed
3480           is not NULL and sets the variable to NULL on free'ing.
3481           https://bugzilla.gnome.org/show_bug.cgi?id=753865
3482
3483 2015-08-16 14:53:42 +0200  Philippe Normand <philn@igalia.com>
3484
3485         * omx/gstomxh264dec.c:
3486           omxh264dec: implement is_format_change
3487           The omxvideodecoder class only checks some of the caps parameters but if
3488           other fields change such as h264 profile and/or level it wouldn't trigger a
3489           reconfiguration.
3490           https://bugzilla.gnome.org/show_bug.cgi?id=752376
3491
3492 2015-07-03 00:26:48 +0200  Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
3493
3494         * omx/gstomxvideodec.c:
3495           omxvideodec: unref allocator after getting it from allocation query
3496           Otherwise a reference will be leaked for each allocator. It only happens
3497           when target platform is Raspberry Pi and when we have GL support.
3498           https://bugzilla.gnome.org/show_bug.cgi?id=751867
3499
3500 2015-07-03 21:59:54 +0200  Stefan Sauer <ensonic@users.sf.net>
3501
3502         * common:
3503           Automatic update of common submodule
3504           From f74b2df to 9aed1d7
3505
3506 2015-06-16 17:50:14 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
3507
3508         * common:
3509           Automatic update of common submodule
3510           From 6015d26 to f74b2df
3511
3512 2015-06-09 11:30:49 +0200  Edward Hervey <bilboed@bilboed.com>
3513
3514         * common:
3515           Automatic update of common submodule
3516           From d9a3353 to 6015d26
3517
3518 2015-06-08 23:08:28 +0200  Stefan Sauer <ensonic@users.sf.net>
3519
3520         * common:
3521           Automatic update of common submodule
3522           From d37af32 to d9a3353
3523
3524 2015-06-07 23:07:22 +0200  Stefan Sauer <ensonic@users.sf.net>
3525
3526         * common:
3527           Automatic update of common submodule
3528           From 21ba2e5 to d37af32
3529
3530 2015-06-07 17:32:25 +0200  Stefan Sauer <ensonic@users.sf.net>
3531
3532         * common:
3533           Automatic update of common submodule
3534           From c408583 to 21ba2e5
3535
3536 2015-06-07 17:16:43 +0200  Stefan Sauer <ensonic@users.sf.net>
3537
3538         * autogen.sh:
3539         * common:
3540           Automatic update of common submodule
3541           From c8fb372 to c408583
3542
3543 2015-05-19 18:21:40 +0300  Sebastian Dröge <sebastian@centricular.com>
3544
3545         * omx/gstomxaudiodec.c:
3546         * omx/gstomxaudiodec.h:
3547           omxaudiodec: Add an output adapter for chunking the output into codec frames
3548           Otherwise the base class will be confused.
3549           See https://bugzilla.gnome.org/show_bug.cgi?id=685730
3550
3551 2015-04-26 18:24:13 +0100  Tim-Philipp Müller <tim@centricular.com>
3552
3553         * Android.mk:
3554         * omx/Makefile.am:
3555           Remove obsolete Android build cruft
3556           This is not needed any longer.
3557
3558 2015-04-22 10:40:22 +0200  Sebastian Dröge <sebastian@centricular.com>
3559
3560         * INSTALL:
3561           Remove INSTALL file
3562           autotools automatically generate this, and when using different versions
3563           for autogen.sh there will always be changes to a file tracked by git.
3564
3565 2015-04-08 15:57:59 +0100  Tim-Philipp Müller <tim@centricular.com>
3566
3567         * .gitignore:
3568         * Makefile.am:
3569         * configure.ac:
3570         * m4/Makefile.am:
3571           Add m4 directory so aclocal doesn't complain in autogen.sh
3572           Might come in handy, and these warnings seem to be
3573           fatal in some environments.
3574           You may need to git clean -x -d -f your tree before
3575           git pulling/merging.
3576
3577 2015-04-07 22:25:57 +0100  Tim-Philipp Müller <tim@centricular.com>
3578
3579         * INSTALL:
3580         * autogen.sh:
3581           Update autogen.sh to latest version
3582
3583 2015-04-03 18:58:17 +0100  Tim-Philipp Müller <tim@centricular.com>
3584
3585         * common:
3586           Automatic update of common submodule
3587           From bc76a8b to c8fb372
3588
3589 2015-03-06 12:12:49 +0000  Luis de Bethencourt <luis.bg@samsung.com>
3590
3591         * omx/gstomxaacdec.c:
3592           omxaudiodec: add comment explaining duplicate code path
3593
3594 2015-03-06 12:09:06 +0000  Luis de Bethencourt <luis.bg@samsung.com>
3595
3596         * omx/gstomxaacdec.c:
3597           Revert "omxaudiodec: remove duplicate code path"
3598           This reverts commit a8d26ff27a8b43f589424a59294f9057641b2a46.
3599
3600 2015-03-06 12:03:56 +0000  Luis de Bethencourt <luis.bg@samsung.com>
3601
3602         * omx/gstomx.c:
3603           omx: handle both errors in the two steps of update_port_definition
3604           Also consider potential errors in the _get_parameter() in the return of the
3605           update_port_definition function.
3606           CID #1287052
3607
3608 2015-03-06 10:57:53 +0000  Luis de Bethencourt <luis.bg@samsung.com>
3609
3610         * omx/gstomxaudioenc.c:
3611           omxaudioenc: impossible if statement
3612           ret is set to GST_STATE_CHANGE_SUCCESS and never touched, so it is impossible
3613           for it to be anything else at the if check. Remove the if check.
3614           CID #1287053
3615
3616 2015-03-06 10:54:43 +0000  Luis de Bethencourt <luis.bg@samsung.com>
3617
3618         * omx/gstomxaudiodec.c:
3619           omxaudiodec: impossible if statement
3620           ret is set to GST_STATE_CHANGE_SUCCESS and never touched, so it is impossible
3621           for it to be anything else at the if check. Remove it.
3622           CID #1287054
3623
3624 2015-03-06 10:50:30 +0000  Luis de Bethencourt <luis.bg@samsung.com>
3625
3626         * omx/gstomxaacdec.c:
3627           omxaudiodec: remove duplicate code path
3628
3629 2014-12-19 11:19:55 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>
3630
3631         * omx/gstomx.c:
3632           omx: call handle_messages() only once in acquire_buffer() to avoid potential deadlock
3633           There is one rare case where calling handle_messages() more than once can cause a deadlock
3634           in the video decoder element:
3635           - sink pad thread starts the src pad task (gst_omx_video_dec_loop())
3636           - _video_dec_loop() calls gst_omx_port_acquire_buffer() on dec_out_port
3637           - blocks in gst_omx_component_wait_message() releasing comp->lock and comp->messages_lock
3638           (initially, there are no buffers configured on that port, so it waits for OMX_EventPortSettingsChanged)
3639           - the sink pad thread pushes a buffer to the decoder with gst_omx_port_release_buffer()
3640           - _release_buffer() grabs comp->lock and sends the buffer to OMX, which consumes it immediately
3641           - EmptyBufferDone gets called at this point, which signals _wait_message() to unblock
3642           - the message from EmptyBufferDone is processed in gst_omx_component_handle_messages()
3643           called from gst_omx_port_release_buffer()
3644           - gst_omx_port_release_buffer releases comp->lock
3645           - the src pad thread now gets to run, grabbing comp->lock while it exits from _wait_message()
3646           - _acquire_buffer() calls the _handle_messages() on the next line after _wait_message(),
3647           which does nothing (no pending messages)
3648           - then it goes to "retry:" and calls _handle_messages() again, which also does nothing
3649           (still no pending messages)
3650           - scheduler switches to a videocore thread that calls EventHandler, informing us about the
3651           OMX_EventPortSettingsChanged event that just arrived
3652           - EventHandler graps comp->messages_lock, but not comp->lock, so it can run in parallel at
3653           this point just fine.
3654           - scheduler switches back to the src pad thread (which is in the middle of _acquire_buffer())
3655           - the next _handle_messages() which is right before if (g_queue_is_empty (&port->pending_buffers))
3656           processes the OMX_EventPortSettingsChanged
3657           - the buffer queue is still empty, so that thread blocks again in _wait_message()
3658           - the sink pad thread tries to acquire the next input port buffer
3659           - _acquire_buffer() also blocks this thread in:
3660           if (comp->pending_reconfigure_outports) { ... _wait_message() ... }
3661           - DEADLOCK. gstreamer is waiting for omx to do something, omx waits for gstreamer to do something.
3662           By removing those extra _handle_messages() calls, we can ensure that all the checks of
3663           _acquire_buffer() will re-run. In the above case, after the scheduler switches back to
3664           the middle of _acquire_buffer(), the code will enter _wait_message(), which will see that
3665           there are pending messages and will return immediately, going back to "retry:" and
3666           re-doing all the checks properly.
3667           https://bugzilla.gnome.org/show_bug.cgi?id=741854
3668
3669 2015-02-26 09:27:44 +0900  Wonchul Lee <chul0812@gmail.com>
3670
3671         * omx/gstomx.c:
3672           omx: cleanup code a bit to remove else statement
3673           https://bugzilla.gnome.org/show_bug.cgi?id=745191
3674
3675 2015-01-12 16:13:35 +0100  Stefan Sauer <ensonic@users.sf.net>
3676
3677         * common:
3678           Automatic update of common submodule
3679           From f2c6b95 to bc76a8b
3680
3681 2014-12-18 10:56:15 +0100  Sebastian Dröge <sebastian@centricular.com>
3682
3683         * common:
3684           Automatic update of common submodule
3685           From ef1ffdc to f2c6b95
3686
3687 2014-11-27 17:12:42 +0100  Edward Hervey <bilboed@bilboed.com>
3688
3689         * common:
3690           Automatic update of common submodule
3691           From 7bb2bce to ef1ffdc
3692
3693 2014-11-13 09:55:02 +0900  Jun Ji <jun.ji@lge.com>
3694
3695         * omx/Makefile.am:
3696         * omx/gstomx.c:
3697         * omx/gstomxamrdec.c:
3698         * omx/gstomxamrdec.h:
3699           omx: Add omxamrdec
3700           https://bugzilla.gnome.org/show_bug.cgi?id=739333
3701
3702 2014-10-27 18:00:50 +0100  Sebastian Dröge <sebastian@centricular.com>
3703
3704         * common:
3705           Automatic update of common submodule
3706           From 84d06cd to 7bb2bce
3707
3708 2014-10-21 13:03:44 +0100  Tim-Philipp Müller <tim@centricular.com>
3709
3710         * common:
3711           Automatic update of common submodule
3712           From a8c8939 to 84d06cd
3713
3714 2014-10-21 13:00:10 +0200  Stefan Sauer <ensonic@users.sf.net>
3715
3716         * common:
3717           Automatic update of common submodule
3718           From 1f5d3c3 to a8c8939
3719
3720 2014-09-30 10:47:20 +0300  Sebastian Dröge <sebastian@centricular.com>
3721
3722         * omx/gstomxaudiodec.c:
3723           omxaudiodec: Clean up code a bit to get rid of useless NULL checks
3724
3725 2014-09-30 10:50:07 +0900  junji <jun.ji@lge.com>
3726
3727         * omx/gstomxaudiodec.c:
3728           omxaudiodec: Unmap input buffers after usage
3729           https://bugzilla.gnome.org/show_bug.cgi?id=736314
3730
3731 2014-08-31 20:30:13 +0000  Michal Lazo <michal.lazo@mdragon.org>
3732
3733         * omx/gstomxvideoenc.c:
3734           omxvideoenc: Setup aspect ratio on RPi
3735           Needs firmware from yesterday or newer to work with all possible
3736           aspect ratios. Before that it only supported a fixed list.
3737           https://bugzilla.gnome.org/show_bug.cgi?id=732533
3738
3739 2014-08-28 10:44:31 +0300  Sebastian Dröge <sebastian@centricular.com>
3740
3741         * omx/gstomxaudioenc.c:
3742           omxaudioenc: Implement the hack flag GST_OMX_HACK_NO_COMPONENT_RECONFIGURE
3743
3744 2014-08-28 10:43:22 +0300  Sebastian Dröge <sebastian@centricular.com>
3745
3746         * omx/gstomxaudioenc.c:
3747           omxaudioenc: Use the base class' open/close vfuncs instead of calling them ourselves
3748
3749 2014-08-26 22:13:53 -0500  Peng Liu <pengliu.mail@gmail.com>
3750
3751         * config/rpi/gstomx.conf:
3752         * omx/gstomxvideoenc.c:
3753           omxvideoenc: Implement the hack flag GST_OMX_HACK_NO_COMPONENT_RECONFIGURE
3754           Fix a video encoder stall problem on RPi when changing the aspect ratio.
3755           https://bugzilla.gnome.org/show_bug.cgi?id=732533
3756
3757 2014-08-14 17:36:11 +0300  Sebastian Dröge <sebastian@centricular.com>
3758
3759         * omx/gstomxaudiodec.c:
3760         * omx/gstomxaudiodec.h:
3761         * omx/gstomxaudioenc.c:
3762         * omx/gstomxaudioenc.h:
3763         * omx/gstomxvideodec.c:
3764         * omx/gstomxvideodec.h:
3765         * omx/gstomxvideoenc.c:
3766         * omx/gstomxvideoenc.h:
3767           omx: Let base classes handle EOS
3768           https://bugzilla.gnome.org//show_bug.cgi?id=734774
3769
3770 2014-08-14 17:33:07 +0300  Sebastian Dröge <sebastian@centricular.com>
3771
3772         * omx/gstomxaudiodec.c:
3773           omxaudiodec: Fix flushing logic and make it more similar to the video decoder
3774
3775 === release 1.2.0 ===
3776
3777 2014-07-23 11:28:12 +0200  Sebastian Dröge <sebastian@centricular.com>
3778
3779         * ChangeLog:
3780         * NEWS:
3781         * RELEASE:
3782         * configure.ac:
3783         * gst-omx.doap:
3784         * omx/Makefile.am:
3785           Release 1.2.0
3786
3787 2014-07-22 09:23:00 +0200  Sebastian Dröge <sebastian@centricular.com>
3788
3789         * config/bellagio/gstomx.conf:
3790         * config/rpi/gstomx.conf:
3791           config: Update ranks to PRIMARY+1 to have higher preference than avdec_*
3792           See https://bugzilla.gnome.org/show_bug.cgi?id=732161
3793
3794 2014-07-20 17:46:30 +0200  Sebastian Dröge <sebastian@centricular.com>
3795
3796         * omx/gstomxaudiosink.c:
3797           omxaudiosink: Set port to not flushing in prepare() and keep it at flushing in unprepare()
3798           https://bugzilla.gnome.org/show_bug.cgi?id=733168
3799
3800 2014-07-13 22:15:18 +0200  Sebastian Dröge <sebastian@centricular.com>
3801
3802         * omx/gstomxaacdec.c:
3803         * omx/gstomxaudiodec.c:
3804         * omx/gstomxaudiodec.h:
3805         * omx/gstomxmp3dec.c:
3806           omxaudiodec: Implement setting of fallback channel positions
3807
3808 2014-07-13 18:22:39 +0200  Sebastian Dröge <sebastian@centricular.com>
3809
3810         * omx/Makefile.am:
3811         * omx/gstomx.c:
3812         * omx/gstomxaacdec.c:
3813         * omx/gstomxaacdec.h:
3814         * omx/gstomxmp3dec.c:
3815           omx: Add AAC audio decoder
3816
3817 2014-07-02 09:22:28 +0200  Sebastian Dröge <sebastian@centricular.com>
3818
3819         * omx/gstomxaudiodec.c:
3820           omxaudiodec: Get PCM parameters from the out port, not the in port
3821
3822 2014-05-15 13:24:39 +0200  Sebastian Dröge <sebastian@centricular.com>
3823
3824         * omx/gstomxaudiodec.c:
3825           omxaudiodec: Implement hack for not disabling the output port after set_format until the output format is known
3826           Needed on some OMX implementations, e.g. the one from Atmel. It does
3827           not send the settings-changed event on the output port if it is
3828           disabled.
3829
3830 2014-05-10 23:12:54 +0200  Sebastian Dröge <sebastian@centricular.com>
3831
3832         * omx/Makefile.am:
3833         * omx/gstomx.c:
3834         * omx/gstomxaudiodec.c:
3835         * omx/gstomxaudiodec.h:
3836         * omx/gstomxmp3dec.c:
3837         * omx/gstomxmp3dec.h:
3838           omx: Add audio decoder base class and a subclass for MP3
3839
3840 2014-07-01 09:38:01 +0200  Sebastian Dröge <sebastian@centricular.com>
3841
3842         * configure.ac:
3843         * omx/Makefile.am:
3844           omx: Link to gmodule-2.0-no-export for being able to use the g_module_*() API
3845           https://bugzilla.gnome.org/show_bug.cgi?id=732518
3846
3847 2014-06-30 15:00:54 +0200  Sebastian Dröge <sebastian@centricular.com>
3848
3849         * examples/egl/testegl.c:
3850           examples: #define GST_USE_UNSTABLE_API for libgstgl
3851
3852 2014-06-29 19:10:19 +0200  Sebastian Dröge <sebastian@centricular.com>
3853
3854         * omx/gstomxh264enc.c:
3855         * omx/gstomxh264enc.h:
3856           omxh264enc: Properly accumulate headers and push before the next frame
3857           Fixes output of encoding on RPi, where each header buffer (SPS and PPS)
3858           is in a separate OMX buffer.
3859           https://bugzilla.gnome.org/show_bug.cgi?id=726669
3860
3861 2014-06-29 19:04:54 +0200  Sebastian Dröge <sebastian@centricular.com>
3862
3863         * omx/gstomxvideoenc.c:
3864           omxvideoenc: Implement flush() instead of the deprecated reset()
3865
3866 2014-06-25 17:14:18 +0200  Sebastian Dröge <sebastian@centricular.com>
3867
3868         * config/rpi/gstomx.conf:
3869           rpi: It's 44100Hz, not 41400Hz
3870
3871 2014-06-25 11:12:51 +0100  Julien Isorce <julien.isorce@collabora.co.uk>
3872
3873         * configure.ac:
3874           configure.ac: require gstgl >= 1.3.3
3875
3876 2014-04-25 13:25:05 +0100  Julien Isorce <julien.isorce@collabora.co.uk>
3877
3878         * Makefile.am:
3879         * configure.ac:
3880           example: enable testegl
3881           See https://bugzilla.gnome.org/show_bug.cgi?id=728940
3882
3883 2014-06-25 10:19:54 +0100  Julien Isorce <julien.isorce@collabora.co.uk>
3884
3885         * examples/egl/testegl.c:
3886           testegl: do matrix mutlplication in the shader
3887           See https://bugzilla.gnome.org/show_bug.cgi?id=728940
3888
3889 2014-06-25 09:36:38 +0100  Julien Isorce <julien.isorce@collabora.co.uk>
3890
3891         * examples/egl/testegl.c:
3892           testegl: add a comment for the parse command
3893           See https://bugzilla.gnome.org/show_bug.cgi?id=728940
3894
3895 2014-04-25 17:32:16 +0100  Julien Isorce <julien.isorce@collabora.co.uk>
3896
3897         * examples/egl/Makefile.am:
3898         * examples/egl/cube_texture_and_coords.h:
3899         * examples/egl/testegl.c:
3900           testegl: convert code from GLESv1 to GLESv2
3901           See https://bugzilla.gnome.org/show_bug.cgi?id=728940
3902
3903 2014-04-25 13:21:59 +0100  Julien Isorce <julien.isorce@collabora.co.uk>
3904
3905         * examples/egl/Makefile.am:
3906         * examples/egl/testegl.c:
3907           testegl: port to gstgl API
3908           - append a glfilter just before fakesink
3909           So that we get gltexture or eglimages
3910           - propagate our EGLDisplay to the pipeline
3911           see GST_QUERY_CONTEXT
3912           - share our EGLContext with the iternal gl context
3913           of the pipeline, see GST_QUERY_ALLOCATION
3914           - use GstVideoGLTextureUploadMeta to upload
3915           the incoming gltexture or eglimage to our gl texture
3916           TODO: convert from GLESv1 to GLESv2
3917           See https://bugzilla.gnome.org/show_bug.cgi?id=728940
3918
3919 2014-06-24 14:52:58 +0200  Sebastian Dröge <sebastian@centricular.com>
3920
3921         * omx/gstomxbufferpool.c:
3922         * omx/gstomxbufferpool.h:
3923         * omx/gstomxvideodec.c:
3924           omxbufferpool: Copy buffers if the stride does not match and we can't use video meta
3925           https://bugzilla.gnome.org/show_bug.cgi?id=731672
3926
3927 2014-06-24 14:52:43 +0200  Sebastian Dröge <sebastian@centricular.com>
3928
3929         * configure.ac:
3930         * omx/gstomx.h:
3931         * omx/gstomxvp8dec.h:
3932           omx: Only include OMX_VideoExt.h conditionally
3933           It does not exist on the RPi for example.
3934
3935 2014-06-24 13:59:44 +0200  Sebastian Dröge <sebastian@centricular.com>
3936
3937         * configure.ac:
3938           configure.ac: Require GStreamer core/base >= 1.2.2
3939           Needed at least for gst_video_decoder_release_frame().
3940
3941 2014-06-24 13:02:13 +0200  Sebastian Dröge <sebastian@centricular.com>
3942
3943         * omx/gstomxbufferpool.c:
3944           omxbufferpool: Fix format string compiler warning
3945
3946 2014-06-22 21:11:45 +0000  Michal Lazo <xlazom00@gmail.com>
3947
3948         * omx/gstomxbufferpool.c:
3949           omxbufferpool: Initialize debug category
3950
3951 2014-06-24 12:42:22 +0200  Sebastian Dröge <sebastian@centricular.com>
3952
3953         * omx/gstomxbufferpool.c:
3954           omxbufferpool: Properly convert OMX alignment to GStreamer alignment
3955           GStreamer uses a bitmask for the alignment while OMX uses the
3956           alignment itself. Let's convert.
3957           https://bugzilla.gnome.org/show_bug.cgi?id=710564
3958
3959 2014-06-24 11:11:28 +0200  Sebastian Dröge <sebastian@centricular.com>
3960
3961         * omx/gstomxh264enc.c:
3962           omxh264enc: Don't let baseclass finish frames for SPS/PPS buffers
3963           Otherwise we a) send them twice, and b) finish a frame for something
3964           that does not even include a frame.
3965           https://bugzilla.gnome.org/show_bug.cgi?id=726669
3966
3967 2014-06-24 10:22:37 +0200  Sebastian Dröge <sebastian@centricular.com>
3968
3969         * omx/gstomxvideo.h:
3970           omxvideo: Include the separate headers too for compatibility with 1.0.x
3971
3972 2014-03-24 16:09:40 +0800  Zhao, Halley <halley.zhao@intel.com>
3973
3974         * configure.ac:
3975         * omx/gstomxvp8dec.h:
3976           omxvp8dec: use VP8 definition from OMX_VideoExt.h
3977           https://bugzilla.gnome.org/show_bug.cgi?id=726957
3978
3979 2014-03-24 15:33:26 +0800  Zhao, Halley <halley.zhao@intel.com>
3980
3981         * configure.ac:
3982           configure: add --with-omx-header-path option for external omx headers
3983           https://bugzilla.gnome.org/show_bug.cgi?id=726957
3984
3985 2014-06-18 23:04:33 +0200  Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
3986
3987         * omx/gstomxvideodec.c:
3988           omxvideodec: fix a query leak
3989           Also add a debug message if query fails.
3990           https://bugzilla.gnome.org/show_bug.cgi?id=731898
3991
3992 2014-05-30 15:29:15 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
3993
3994         * omx/gstomxvideodec.c:
3995           omxvideodec: release frames with old PTS to avoid memory issue
3996           Interlaced stream could make the decoder use two input frames to produce
3997           one output frame causing the gstvideodecoder frame list to grow.
3998           Assuming the video decoder output frame in display order rather than in
3999           decoding order, this commit add a way to release frames with PTS less
4000           than current output frame.
4001           https://bugzilla.gnome.org/show_bug.cgi?id=730995
4002
4003 2013-06-27 21:59:29 +0900  Kazunori Kobayashi <kkobayas@igel.co.jp>
4004
4005         * omx/gstomx.c:
4006           omx: Fix a missing g_free() in error path
4007           This fixes a memory leak with g_strdup() when an error occurs.
4008           https://bugzilla.gnome.org/show_bug.cgi?id=731141
4009
4010 2014-06-02 15:34:09 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
4011
4012         * omx/gstomxvideodec.c:
4013           omxvideodec: add missing stream unlock in error path
4014
4015 2014-05-31 15:12:05 +0200  Sebastian Dröge <sebastian@centricular.com>
4016
4017         * omx/gstomx.c:
4018           omx: Don't handle disabling/enabling ports exactly like flushing
4019           Otherwise we might abort a flush operation in another thread when
4020           enabling/disabling ports, leading to deadlocks sometimes.
4021           https://bugzilla.gnome.org/show_bug.cgi?id=730989
4022
4023 2014-05-26 11:02:10 +0200  Sebastian Dröge <sebastian@centricular.com>
4024
4025         * omx/gstomxvideodec.c:
4026           omxvideodec: Don't leak buffer pool config in error cases
4027           CID 1216158
4028
4029 2014-05-21 10:53:43 +0200  Sebastian Dröge <sebastian@centricular.com>
4030
4031         * common:
4032           Automatic update of common submodule
4033           From 211fa5f to 1f5d3c3
4034
4035 2014-05-19 09:10:07 +0200  Sebastian Dröge <sebastian@centricular.com>
4036
4037         * omx/gstomxvideoenc.c:
4038           omxvideoenc: Don't forget to unref codec state
4039           CID 1214603
4040
4041 2014-05-19 09:08:33 +0200  Sebastian Dröge <sebastian@centricular.com>
4042
4043         * omx/gstomxvideodec.c:
4044           omxvideodec: Make output buffer pointer always initialized
4045           CID 1214605
4046
4047 2014-05-19 09:06:42 +0200  Sebastian Dröge <sebastian@centricular.com>
4048
4049         * omx/gstomxvideodec.c:
4050           omxvideodec: Check return value of gst_buffer_map()
4051           CID 1214599
4052
4053 2014-05-19 09:04:09 +0200  Sebastian Dröge <sebastian@centricular.com>
4054
4055         * omx/gstomxvideodec.c:
4056           omxvideodec: Check return value of gst_omx_port_set_enabled() for errors
4057           CID 1214589
4058
4059 2014-05-19 09:01:46 +0200  Sebastian Dröge <sebastian@centricular.com>
4060
4061         * omx/gstomxvideodec.c:
4062           omxvideodec: Check return values of buffer pool config parsing functions
4063           CID 1214588
4064
4065 2014-05-19 08:48:50 +0200  Sebastian Dröge <sebastian@centricular.com>
4066
4067         * omx/gstomx.c:
4068           omx: Remove dead code, buf can never be NULL here as we just check for that the line above
4069           CID 1214596
4070
4071 2014-05-19 08:47:36 +0200  Sebastian Dröge <sebastian@centricular.com>
4072
4073         * omx/gstomx.c:
4074           omx: Fix comparisons in gst_omx_state_to_string() case to actually make sense
4075           CID 1214593
4076
4077 2014-05-19 08:45:10 +0200  Sebastian Dröge <sebastian@centricular.com>
4078
4079         * omx/gstomx.c:
4080           omx: Make sure to compare the error codes as unsigned integers so that comparisons >2**31 actually work
4081           CID 1214592
4082
4083 2014-05-19 08:40:23 +0200  Sebastian Dröge <sebastian@centricular.com>
4084
4085         * omx/gstomx.c:
4086           omx: Fix comparisons in gst_omx_command_to_string() default cause to actually work
4087           CID 1214591
4088
4089 2014-05-15 13:22:56 +0200  Sebastian Dröge <sebastian@centricular.com>
4090
4091         * omx/gstomxaudioenc.c:
4092           omxaudioenc: Implement hack for not disabling the output port after set_format until the output format is known
4093           Needed on some OMX implementations, e.g. the one from Atmel. It does
4094           not send the settings-changed event on the output port if it is
4095           disabled.
4096
4097 2014-05-15 13:21:07 +0200  Sebastian Dröge <sebastian@centricular.com>
4098
4099         * omx/gstomxvideoenc.c:
4100           omxvideoenc: Implement hack for not disabling the output port after set_format until the output format is known
4101           Needed on some OMX implementations, e.g. the one from Atmel. It does
4102           not send the settings-changed event on the output port if it is
4103           disabled.
4104
4105 2014-05-15 10:58:34 +0200  Sebastian Dröge <sebastian@centricular.com>
4106
4107         * omx/gstomx.c:
4108         * omx/gstomx.h:
4109         * omx/gstomxvideodec.c:
4110           omx: Add a hack for not disabling the output port after set_format until the output format is known
4111           Needed on some OMX implementations, e.g. the one from Atmel. It does
4112           not send the settings-changed event on the output port if it is
4113           disabled.
4114
4115 2014-05-12 12:33:32 +0200  Josep Torra <n770galaxy@gmail.com>
4116
4117         * omx/gstomxaudiosink.c:
4118           omxaudiosink: implement _delay only in the RaspberryPI
4119           Make code implementation conditionally built for RaspberryPI because
4120           OMX_IndexConfigAudioRenderingLatency seems to be a Broadcom extension.
4121           On other targets the query position might not be accurate without
4122           implementing _delay appropriatelly.
4123
4124 2014-05-12 08:56:15 +0200  Sebastian Dröge <sebastian@centricular.com>
4125
4126         * omx/gstomxaudioenc.c:
4127           omxaudioenc: Correctly scale nTickCount by OMX_TICKS_PER_SECOND
4128
4129 2014-05-10 22:48:23 +0200  Sebastian Dröge <sebastian@centricular.com>
4130
4131         * omx/gstomxaudioenc.c:
4132           omxaudioenc: Drain encoder on NULL buffer and don't drain on flushing
4133
4134 2014-05-10 22:47:56 +0200  Sebastian Dröge <sebastian@centricular.com>
4135
4136         * omx/gstomxvideodec.c:
4137           omxvideodec: Set nTickCount based on the buffer's duration instead of something wrong
4138
4139 2014-05-10 22:47:21 +0200  Sebastian Dröge <sebastian@centricular.com>
4140
4141         * omx/gstomxvideoenc.c:
4142           omxvideoenc: Set nTickCount to the whole duration of the buffer instead of a wrong calculation
4143
4144 2014-05-10 22:46:51 +0200  Sebastian Dröge <sebastian@centricular.com>
4145
4146         * omx/gstomxaudiosink.c:
4147           omxaudiosink: Fix format string compiler warnings
4148
4149 2014-04-04 14:11:58 +0200  Josep Torra <n770galaxy@gmail.com>
4150
4151         * config/rpi/gstomx.conf:
4152         * omx/Makefile.am:
4153         * omx/gstomx.c:
4154         * omx/gstomxanalogaudiosink.c:
4155         * omx/gstomxanalogaudiosink.h:
4156         * omx/gstomxaudiosink.c:
4157         * omx/gstomxaudiosink.h:
4158         * omx/gstomxhdmiaudiosink.c:
4159         * omx/gstomxhdmiaudiosink.h:
4160           omxaudiosink: Implements OpenMAX based audio sinks
4161           Provides omxanalogaudiosink and omxhdmiaudiosink elements on
4162           the Raspberry PI.
4163           - omxanalogaudiosink is capable to render raw mono or stereo audio
4164           through the jack output.
4165           - omxhdmiaudiosink is capable to render raw audio up to 8 channels
4166           and transmit ac3/dts(IEC 61937) through the HDMI output.
4167           - sinks provide a clock derived from rendered samples
4168           - sinks support the GstStreamVolume interface by implementing
4169           the volume and mute properties.
4170           https://bugzilla.gnome.org/show_bug.cgi?id=728962
4171
4172 2014-05-03 10:17:35 +0200  Sebastian Dröge <sebastian@centricular.com>
4173
4174         * common:
4175           Automatic update of common submodule
4176           From bcb1518 to 211fa5f
4177
4178 2014-04-29 15:16:16 +0100  Julien Isorce <julien.isorce@collabora.co.uk>
4179
4180         * omx/gstomxvideodec.c:
4181           omxvideodec: can negotiate caps with memory:EGLImage feature when using EGLImage allocator
4182           Previously when using gst EGLImage allocator the caps was
4183           video/x-raw, format=RGBA instead of
4184           video/x-raw(memory:EGLImage), format=RGBA
4185           Kepp previous behavior in case negotiation fails with caps feature.
4186           It means it will still have a chance to use EGLImage even if the
4187           feature is not in the caps.
4188           https://bugzilla.gnome.org/show_bug.cgi?id=729196
4189
4190 2014-04-23 09:57:48 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
4191
4192         * omx/gstomxvp8dec.h:
4193           omxvp8dec: fix typo in GST_TYPE_OMX_VP8_DEC define
4194           https://bugzilla.gnome.org/show_bug.cgi?id=728774
4195
4196 2014-04-16 11:00:55 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
4197
4198         * omx/gstomxvideodec.c:
4199           omxvideodec: don't unref caps before logging field from it
4200           https://bugzilla.gnome.org/show_bug.cgi?id=728322
4201
4202 2014-04-15 17:30:13 +0100  Julien Isorce <julien.isorce@collabora.co.uk>
4203
4204         * Makefile.am:
4205         * configure.ac:
4206           example: disable testegl since libgstegl has been removed
4207           As decided in bug #703343
4208           Not compatible with the new libgstgl API.
4209           A portage has been started, attachment 272800.
4210           https://bugzilla.gnome.org/show_bug.cgi?id=703343
4211
4212 2014-04-15 17:11:08 +0100  Julien Isorce <julien.isorce@collabora.co.uk>
4213
4214         * omx/gstomxvideodec.c:
4215           omxvideodec: use new libgstgl API since libgstegl has been removed
4216           There is no point to retrieve a ref/unref type
4217           instead of an EGLDisplay directly. It's like for EGLImage.
4218           https://bugzilla.gnome.org/show_bug.cgi?id=703343
4219
4220 2014-04-15 17:06:38 +0100  Julien Isorce <julien.isorce@collabora.co.uk>
4221
4222         * configure.ac:
4223         * examples/Makefile.am:
4224         * omx/Makefile.am:
4225         * omx/gstomxvideodec.c:
4226           configure.ac: check for libgstgl since libgstegl has been removed
4227           https://bugzilla.gnome.org/show_bug.cgi?id=703343
4228
4229 2014-04-09 18:52:16 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
4230
4231         * omx/gstomxbufferpool.c:
4232         * omx/gstomxvideodec.c:
4233           omxvideodec: add support of more color format
4234           Add support for ABGR, ARGB, RGB16, BGR16, YUY2, UYVY, YVYU, GRAY8 and
4235           NV16 color format.
4236
4237 2014-04-09 18:51:57 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
4238
4239         * omx/gstomxvideodec.c:
4240           omxvideodec: simplify color format conversion in fill_buffer function
4241
4242 2014-04-09 18:51:41 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
4243
4244         * omx/gstomxbufferpool.c:
4245           omxbufferpool: make video stride and offset calculation easier
4246           It will be easier to support more color format.
4247
4248 2014-04-09 18:51:12 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
4249
4250         * omx/gstomxvideo.c:
4251         * omx/gstomxvideo.h:
4252         * omx/gstomxvideodec.c:
4253           omx: add an helper to convert OMX color format to GStreamer color format
4254
4255 2014-03-10 17:43:50 +0100  Josep Torra <n770galaxy@gmail.com>
4256
4257         * examples/egl/testegl.c:
4258         * omx/gstomxvideodec.c:
4259           omxvideodec: Implement pipeline draining to support adaptive scenarios
4260           When draining due a format change also drain
4261           the pipeline to reclaim back all buffers.
4262           https://bugzilla.gnome.org/show_bug.cgi?id=726107
4263
4264 2014-03-27 13:57:32 +0100  Josep Torra <n770galaxy@gmail.com>
4265
4266         * examples/egl/testegl.c:
4267           examples: fix several memory leaks in the testegl example
4268           Ensure to call to image_data_free in order to release GPU resources.
4269           Also ensure to destroy EGLImage and GLTexture from proper
4270           thread/context.
4271           https://bugzilla.gnome.org/show_bug.cgi?id=726107
4272
4273 2014-03-25 17:16:31 +0000  Julien Isorce <julien.isorce@collabora.co.uk>
4274
4275         * examples/egl/testegl.c:
4276           examples: keep a ref on the buffer instead of the memory
4277           Like in eglglessink
4278           https://bugzilla.gnome.org/show_bug.cgi?id=726107
4279
4280 2014-03-07 20:08:05 +0100  Josep Torra <n770galaxy@gmail.com>
4281
4282         * omx/gstomxvideodec.c:
4283           omxvideodec: fixes race condition during seeks
4284           Acording 6.1.3 Seek Event Sequence in the OpenMAX IL 1.1.2 spec
4285           document in order to flush the component it needs to be in
4286           paused state.
4287           https://bugzilla.gnome.org/show_bug.cgi?id=726038
4288
4289 2014-01-29 18:31:26 +0000  Julien Isorce <julien.isorce@collabora.co.uk>
4290
4291         * omx/gstomxvideodec.c:
4292           omxvideodec: use flush because reset is deprecated
4293           https://bugzilla.gnome.org/show_bug.cgi?id=726038
4294
4295 2014-01-27 17:03:50 +0000  Julien Isorce <julien.isorce@collabora.co.uk>
4296
4297         * omx/gstomxvideodec.c:
4298           omxvideodec: populate the most downstream output port on reset
4299           Make seeking work when using egl_render component
4300           https://bugzilla.gnome.org/show_bug.cgi?id=726038
4301
4302 2014-03-24 17:49:59 +0100  Josep Torra <n770galaxy@gmail.com>
4303
4304         * omx/gstomxbufferpool.c:
4305           omxbufferpool: return buffers to the pool instead of freeing them
4306           We have to return the buffers back to the pool in when stopping to
4307           not mess with the GstBufferPool accounting.
4308           The OMX buffers will be freed when those won't be in charge of the
4309           pool in the chained up call to 'stop'.
4310           Fixes segfaults on finalize and pool not being properly deactivated.
4311           https://bugzilla.gnome.org/show_bug.cgi?id=726337
4312
4313 2014-03-19 12:12:49 +0100  Christian König <christian.koenig@amd.com>
4314
4315         * omx/gstomxvideodec.c:
4316           omxvideodec: add missing unlock in the error path
4317           Signed-off-by: Christian König <christian.koenig@amd.com>
4318           https://bugzilla.gnome.org/show_bug.cgi?id=726958
4319
4320 2014-03-18 23:36:59 +0100  Michal Lazo <xlazom00@gmail.com>
4321
4322         * omx/gstomxh264enc.c:
4323         * omx/gstomxh264enc.h:
4324           fix filemode
4325
4326 2014-03-17 09:57:11 +0000  Julien Isorce <julien.isorce@collabora.co.uk>
4327
4328         * omx/gstomxbufferpool.c:
4329           omxbufferpool: fix memory leak if used on output port
4330           When using GstOMXBufferPool on an output port, it internally uses
4331           a GPtrArray to manage the GstBuffers instead of the default queue
4332           from the GstBufferPool base class.
4333           In this case GstBufferPool::default_free_buffer is not called when
4334           the pool is stopped. Because the queue is empty. So explicitely
4335           call gst_omx_buffer_pool_free_buffer on each buffer contained in
4336           the GPtrArray.
4337           https://bugzilla.gnome.org/show_bug.cgi?id=726337
4338
4339 2014-03-16 17:32:05 +0100  Sebastian Dröge <sebastian@centricular.com>
4340
4341         * omx/gstomxh264enc.c:
4342           omxh264enc: Fix compiler warnings
4343
4344 2014-03-16 17:19:08 +0100  Michal Lazo <xlazom00@gmail.com>
4345
4346         * omx/gstomxh264enc.c:
4347         * omx/gstomxh264enc.h:
4348           omxh264enc: IDR interval, SPS and PPS headers for rpi
4349           https://bugzilla.gnome.org/show_bug.cgi?id=720031
4350
4351 2014-03-13 14:26:58 +0100  Christian König <christian.koenig@amd.com>
4352
4353         * omx/gstomx.c:
4354         * omx/gstomx.h:
4355         * omx/gstomxvideo.c:
4356           omxvideo: fix debug category initialisation
4357           https://bugzilla.gnome.org/show_bug.cgi?id=726024
4358
4359 2014-03-13 19:04:47 +0100  Christian König <christian.koenig@amd.com>
4360
4361         * omx/gstomxbufferpool.h:
4362           omxbufferpool: add proper type definitions
4363           https://bugzilla.gnome.org/show_bug.cgi?id=726325
4364
4365 2014-03-02 10:30:04 +0100  Christian König <christian.koenig@amd.com>
4366
4367         * omx/gstomx.c:
4368           omx: consolidate message waiting code
4369           Add a wait_message helper function and remove all those duplicated code.
4370           https://bugzilla.gnome.org/show_bug.cgi?id=725493
4371
4372 2014-03-12 12:48:12 +0100  Sebastian Dröge <sebastian@centricular.com>
4373
4374         * omx/gstomxvideo.c:
4375           omx: Copy old copyright notice into the new file
4376
4377 2014-03-12 12:47:34 +0100  Sebastian Dröge <sebastian@centricular.com>
4378
4379         * omx/gstomxvideo.c:
4380         * omx/gstomxvideo.h:
4381         * omx/gstomxvideodec.c:
4382         * omx/gstomxvideoenc.c:
4383           omx: Rename function from _4_ to _for_ for clarity
4384
4385 2014-03-03 16:15:24 +0100  Christian König <christian.koenig@amd.com>
4386
4387         * omx/Makefile.am:
4388         * omx/gstomxvideo.c:
4389         * omx/gstomxvideo.h:
4390         * omx/gstomxvideodec.c:
4391         * omx/gstomxvideoenc.c:
4392           omxvideo: start sharing more code between video decoder and encoder
4393           Identical functionality spread of two different components.
4394           We can't use a common base class because of different inheritance,
4395           but let's try to share the code anyway.
4396           https://bugzilla.gnome.org/show_bug.cgi?id=726024
4397
4398 2014-03-12 12:43:49 +0100  Sebastian Dröge <sebastian@centricular.com>
4399
4400         * examples/egl/Makefile.am:
4401           examples: Only build RPi EGL example if RPi was chosen as target
4402
4403 2014-03-12 12:42:23 +0100  Sebastian Dröge <sebastian@centricular.com>
4404
4405         * omx/gstomxbufferpool.h:
4406           omxbufferpool: Fix header include guard
4407
4408 2014-03-05 11:41:02 +0100  Christian König <christian.koenig@amd.com>
4409
4410         * omx/Makefile.am:
4411         * omx/gstomxbufferpool.c:
4412         * omx/gstomxbufferpool.h:
4413         * omx/gstomxvideodec.c:
4414           omxvideodec: separate the buffer pool from the decoder
4415           https://bugzilla.gnome.org/show_bug.cgi?id=726025
4416
4417 2014-03-04 17:41:20 +0100  Christian König <christian.koenig@amd.com>
4418
4419         * omx/gstomx.c:
4420         * omx/gstomx.h:
4421         * omx/gstomxvideodec.c:
4422           omx: simplify tunnel functions
4423           Specifying the component is error prone and unnecessary.
4424           https://bugzilla.gnome.org/show_bug.cgi?id=726021
4425
4426 2014-03-07 17:12:24 +0100  Christian König <christian.koenig@amd.com>
4427
4428         * omx/gstomxvideodec.c:
4429           omxvideodec: fix memory leak in gst_omx_video_dec_allocate_output_buffers
4430           https://bugzilla.gnome.org/show_bug.cgi?id=725907
4431
4432 2014-03-07 13:18:49 +0100  Christian König <christian.koenig@amd.com>
4433
4434         * omx/gstomxvideodec.c:
4435           omxvideodec: fix memory leak gst_omx_video_dec_negotiate
4436           https://bugzilla.gnome.org/show_bug.cgi?id=725907
4437
4438 2014-03-05 18:54:05 +0100  Christian König <christian.koenig@amd.com>
4439
4440         * omx/gstomxvideoenc.c:
4441           omxvideoenc: fix a memory leak in gst_omx_video_enc_getcaps
4442           https://bugzilla.gnome.org/show_bug.cgi?id=725826
4443
4444 2014-03-05 17:43:33 +0100  Josep Torra <n770galaxy@gmail.com>
4445
4446         * Makefile.am:
4447           Makefile.am: build examples
4448           There's no reason to not build the examples now that are ported to 1.x.
4449
4450 2014-03-05 17:25:09 +0100  Josep Torra <n770galaxy@gmail.com>
4451
4452         * examples/egl/testegl.c:
4453           examples: avoid a clashing name with the recently added GstEGLImagePool
4454           Fixes build with current master.
4455
4456 2013-09-05 03:41:10 -0600  Christian König <christian.koenig@amd.com>
4457
4458         * omx/gstomxvideoenc.c:
4459           omxvideoenc: simplify _find_nearest_frame
4460           Just the same as we did with the decoder. Also give the
4461           function a gst_omx_video_enc prefix to distinct it from
4462           the decoder function.
4463           https://bugzilla.gnome.org/show_bug.cgi?id=724236
4464
4465 2013-09-05 02:23:39 -0600  Christian König <christian.koenig@amd.com>
4466
4467         * omx/gstomxvideodec.c:
4468           omxvideodec: simplify _find_nearest_frame
4469           No need to make it more complicated and error prone than
4470           necessary. Also give the function a gst_omx_video_dec prefix
4471           to distinct it from the encoder function.
4472           https://bugzilla.gnome.org/show_bug.cgi?id=724236
4473
4474 2013-09-05 02:05:52 -0600  Christian König <christian.koenig@amd.com>
4475
4476         * omx/gstomxvideodec.c:
4477           omxvideodec: remove dead code
4478           This code doesn't seems to be used for quite a while,
4479           remove it before it starts to rot.
4480           https://bugzilla.gnome.org/show_bug.cgi?id=724236
4481
4482 2014-03-01 22:28:24 +0100  Christian König <christian.koenig@amd.com>
4483
4484         * omx/gstomx.c:
4485           omx: fix two serious message handling bugs
4486           Waiting for the next message if we already got one
4487           is nonsense and can lead to lockups.
4488           https://bugzilla.gnome.org/show_bug.cgi?id=725468
4489
4490 2014-03-01 18:49:41 +0100  Christian König <christian.koenig@amd.com>
4491
4492         * omx/gstomxvideoenc.c:
4493           omxvideoenc: fix startup race condition
4494           The reset function shouldn't start the src pad
4495           loop if it wasn't started before.
4496           Signed-off-by: Christian König <christian.koenig@amd.com>
4497
4498 2014-03-01 18:48:17 +0100  Christian König <christian.koenig@amd.com>
4499
4500         * omx/gstomxvideodec.c:
4501           omxvideodec: fix startup race condition
4502           The reset function shouldn't start the src pad
4503           loop if it wasn't started before.
4504           Signed-off-by: Christian König <christian.koenig@amd.com>
4505
4506 2014-02-28 09:36:13 +0100  Sebastian Dröge <sebastian@centricular.com>
4507
4508         * common:
4509           Automatic update of common submodule
4510           From fe1672e to bcb1518
4511
4512 2014-02-26 22:15:00 +0100  Stefan Sauer <ensonic@users.sf.net>
4513
4514         * common:
4515           Automatic update of common submodule
4516           From 1a07da9 to fe1672e
4517
4518 2014-01-30 10:45:18 +0100  Edward Hervey <bilboed@bilboed.com>
4519
4520         * common:
4521           Automatic update of common submodule
4522           From d48bed3 to 1a07da9
4523
4524 2014-01-25 17:44:14 +0100  Sebastian Dröge <sebastian@centricular.com>
4525
4526         * omx/gstomxaudioenc.c:
4527         * omx/gstomxvideodec.c:
4528         * omx/gstomxvideoenc.c:
4529           omx: Don't handle FLUSHING and NOT_LINKED as errors
4530           Also don't stop the task on NOT_LINKED. We're not a demuxer.
4531
4532 2013-12-22 22:35:31 +0000  Tim-Philipp Müller <tim@centricular.com>
4533
4534         * common:
4535           Automatic update of common submodule
4536           From dbedaa0 to d48bed3
4537
4538 2013-11-05 11:22:02 +0000  Tim-Philipp Müller <tim@centricular.com>
4539
4540         * common:
4541           Automatic update of common submodule
4542           From 865aa20 to dbedaa0
4543
4544 2013-09-28 13:32:37 +0200  Josep Torra <n770galaxy@gmail.com>
4545
4546         * examples/egl/testegl.c:
4547           examples: simplify the thread synchronization code
4548           Make everithing more simple and fix the races conditions remaining in
4549           the previous approaches.
4550
4551 2013-09-25 19:17:17 +0200  Sebastian Dröge <slomo@circular-chaos.org>
4552
4553         * config/rpi/gstomx.conf:
4554           rpi: The WMV/VC1 decoder can only do WMV9 and VC1, no older versions
4555
4556 2013-09-24 18:34:42 +0100  Tim-Philipp Müller <tim@centricular.net>
4557
4558         * common:
4559           Automatic update of common submodule
4560           From 6b03ba7 to 865aa20
4561
4562 2013-09-24 18:48:24 +0200  Josep Torra <n770galaxy@gmail.com>
4563
4564         * examples/egl/testegl.c:
4565           examples: fix another race condition
4566           Fix a race condition that caused randome deadlocks on EOS.
4567
4568 2013-09-20 17:19:53 +0200  Josep Torra <n770galaxy@gmail.com>
4569
4570         * config/rpi/gstomx.conf:
4571           rpi: fix a copy paste error in the config file
4572
4573 2013-09-20 17:09:52 +0200  Josep Torra <n770galaxy@gmail.com>
4574
4575         * examples/egl/testegl.c:
4576           examples: fix a race condition when seeking
4577           Fixes a race condition that caused pipeline deadlock during seeks.
4578
4579 2013-09-20 10:38:12 +0200  Josep Torra <n770galaxy@gmail.com>
4580
4581         * examples/egl/testegl.c:
4582           examples: display QoS statistics
4583
4584 2013-09-20 09:34:37 +0200  Josep Torra <n770galaxy@gmail.com>
4585
4586         * examples/egl/testegl.c:
4587           examples: use dedicated thread for rendering the scene
4588           Produces smother animation and prevents dropping frames due busy
4589           mainloop.
4590
4591 2013-09-20 08:25:21 +0200  Josep Torra <n770galaxy@gmail.com>
4592
4593         * examples/egl/testegl.c:
4594           examples: don't force an specific audio sink
4595           Let playbin2 choose the audiosink available in the system.
4596
4597 2013-09-20 08:19:48 +0200  Josep Torra <n770galaxy@gmail.com>
4598
4599         * examples/egl/Makefile.am:
4600           examples: drop remnants of initial appsink attempt
4601
4602 2013-09-20 16:18:18 +0200  Edward Hervey <edward@collabora.com>
4603
4604         * common:
4605           Automatic update of common submodule
4606           From b613661 to 6b03ba7
4607
4608 2013-09-19 18:45:36 +0100  Tim-Philipp Müller <tim@centricular.net>
4609
4610         * common:
4611           Automatic update of common submodule
4612           From 74a6857 to b613661
4613
4614 2013-09-19 17:38:30 +0100  Tim-Philipp Müller <tim@centricular.net>
4615
4616         * common:
4617           Automatic update of common submodule
4618           From 01a7a46 to 74a6857
4619
4620 2013-08-20 16:00:07 +0100  Tim-Philipp Müller <tim@centricular.net>
4621
4622         * omx/gstomx.c:
4623         * omx/gstomxvideodec.c:
4624           omx: don't use the 'z' modifier to print size_t
4625           gcc will warn in some cases even if the size of the type
4626           is exactly that of size_t on the platform.
4627           https://bugzilla.gnome.org/show_bug.cgi?id=699008
4628
4629 2013-07-01 15:48:47 +0200  Roman Arutyunyan <arutyunyan.roman@gmail.com>
4630
4631         * omx/gstomxvideoenc.c:
4632           gstomxvideoenc: Set bitrate in setcaps
4633           Otherwise it gets lost whenever we configure new caps
4634           https://bugzilla.gnome.org/show_bug.cgi?id=698049
4635
4636 2013-06-30 18:17:05 +0700  Ilya Smelykh <ilya@videoexpertsgroup.com>
4637
4638         * examples/egl/testegl.c:
4639           examples: enable audio in testegl example
4640
4641 2013-06-12 09:38:22 +0200  Sebastian Dröge <slomo@circular-chaos.org>
4642
4643         * configure.ac:
4644           configure: Allow build without gstreamer-egl
4645
4646 2013-06-07 12:39:18 +0700  Ilya Smelykh <ilya@videoexpertsgroup.com>
4647
4648         * examples/egl/Makefile.am:
4649         * examples/egl/testegl.c:
4650           examples: testegl example port to 1.x
4651           https://bugzilla.gnome.org/show_bug.cgi?id=701706
4652
4653 2013-06-05 15:17:16 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4654
4655         * common:
4656           Automatic update of common submodule
4657           From 098c0d7 to 01a7a46
4658
4659 2013-05-20 12:06:34 +0200  Josep Torra <n770galaxy@gmail.com>
4660
4661         * omx/gstomxaudioenc.c:
4662         * omx/gstomxvideodec.c:
4663         * omx/gstomxvideoenc.c:
4664           omx: Take lock on EOS to update the flow return value
4665           Fixes "GThread-ERROR **: file gthread-posix.c: line 171
4666           (g_mutex_free_posix_impl): error 'Device or resource busy' during
4667           'pthread_mutex_destroy ((pthread_mutex_t *) mutex)'" in _finalize.
4668
4669 2013-05-15 10:54:12 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4670
4671         * common:
4672           Automatic update of common submodule
4673           From 5edcd85 to 098c0d7
4674
4675 2013-04-11 17:35:19 +0200  Josep Torra <n770galaxy@gmail.com>
4676
4677         * Makefile.am:
4678         * configure.ac:
4679         * examples/Makefile.am:
4680         * examples/egl/Makefile.am:
4681         * examples/egl/cube_texture_and_coords.h:
4682         * examples/egl/testegl.c:
4683           examples: add an example aplication based OpenGL ES + EGL
4684           Application that shows how to integrate playbin with an OpenGL ES
4685           scene through EGL. Renders a video on the surfaces of an animated cube.
4686           The code is not ported to 1.x so it's not built by default.
4687
4688 2013-05-10 12:25:07 +0200  Josep Torra <n770galaxy@gmail.com>
4689
4690         * omx/gstomxvideodec.c:
4691           omxvideodec: Redesign video size change reconfiguration code
4692           Ensure stop the decoder before clossing the tunnel.
4693
4694 2013-05-06 16:25:27 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4695
4696         * Makefile.am:
4697           Makefile.am: Add -I common/m4
4698           This allows autoreconf to work correctly and automatic regeneration
4699           of autotools files if something changed.
4700
4701 2013-05-06 19:03:59 +0530  jitendra <jvarshney20@gmail.com>
4702
4703         * omx/gstomx.c:
4704         * omx/gstomx.h:
4705         * omx/gstomxaudioenc.c:
4706         * omx/gstomxvideodec.c:
4707         * omx/gstomxvideoenc.c:
4708           omx: Add pads based on element type
4709           This allows to later add sources and sink that only have a srcpad
4710           or sinkpad.
4711           https://bugzilla.gnome.org/show_bug.cgi?id=699754
4712
4713 2013-04-27 02:50:25 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>
4714
4715         * omx/gstomx.c:
4716           omx: fixed type error in printf call
4717           %zu expects size_t
4718           https://bugzilla.gnome.org/show_bug.cgi?id=699008
4719
4720 2013-04-08 17:26:16 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
4721
4722         * configure.ac:
4723         * omx/Makefile.am:
4724         * omx/gstomxvideodec.c:
4725           Check for gstreamer-egl
4726           And don't use if not available.
4727           https://bugzilla.gnome.org/show_bug.cgi?id=697574
4728
4729 2013-04-23 09:53:18 +0100  Tim-Philipp Müller <tim@centricular.net>
4730
4731         * configure.ac:
4732           configure: error out if no OMX target has been set explicitly with --with-omx-target=x
4733           Avoids people building for e.g. the Raspberry Pi and then wondering
4734           why things don't work as expected (since structs are packed differently
4735           there).
4736
4737 2013-04-22 23:55:03 +0100  Tim-Philipp Müller <tim@centricular.net>
4738
4739         * common:
4740           Automatic update of common submodule
4741           From 3cb3d3c to 5edcd85
4742
4743 2013-04-18 22:07:28 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
4744
4745         * omx/gstomx.c:
4746         * omx/gstomxaudioenc.c:
4747         * omx/gstomxh263enc.c:
4748         * omx/gstomxh264enc.c:
4749         * omx/gstomxmpeg4videoenc.c:
4750         * omx/gstomxvideodec.c:
4751         * omx/gstomxvideoenc.c:
4752           omx: more printf format fixes
4753           Fix printf formats again, so that gst-omx compiles warning-
4754           free on the Raspberry Pi as well. Unfortunately OMX_UINT32
4755           maybe be typedefed to uint32_t or unsigned long, which
4756           doesn't work well with our debugging printf format strings,
4757           so just use %u for those and cast to guint.
4758
4759 2013-04-18 16:40:06 +0200  Josep Torra <n770galaxy@gmail.com>
4760
4761         * omx/gstomx.c:
4762           omx: fixes unused variable 'comp' when GStreamer is built without debug
4763
4764 2013-04-18 16:03:56 +0200  Josep Torra <n770galaxy@gmail.com>
4765
4766         * omx/gstomxvideodec.c:
4767           omxvideodec: don't use 'self->dec_out_port' anymore and use just 'port'
4768           Fixes some criticals.
4769
4770 2013-04-18 15:21:32 +0200  Josep Torra <n770galaxy@gmail.com>
4771
4772         * omx/gstomxvideodec.c:
4773           omxvideodec: fixes 'port' may be used uninitialized in this function
4774
4775 2013-04-18 12:03:31 +0200  Josep Torra <n770galaxy@gmail.com>
4776
4777         * omx/gstomxvideodec.c:
4778           omxvideodec: silence warnings building for RPI related to 'vcos_*'
4779
4780 2013-04-18 11:19:52 +0200  Josep Torra <n770galaxy@gmail.com>
4781
4782         * omx/gstomxvideodec.c:
4783           omxvideodec: Use new type from libgstvideo
4784
4785 2013-04-16 14:50:49 +0530  jitendra <jvarshney20@gmail.com>
4786
4787         * omx/gstomxaudioenc.c:
4788         * omx/gstomxvideodec.c:
4789         * omx/gstomxvideoenc.c:
4790           omx: Disable output port before transition to idle state
4791           https://bugzilla.gnome.org/show_bug.cgi?id=698109
4792
4793 2012-10-24 12:19:41 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4794
4795         * configure.ac:
4796           gst: Add better support for static plugins
4797
4798 2013-04-14 17:57:34 +0100  Tim-Philipp Müller <tim@centricular.net>
4799
4800         * common:
4801           Automatic update of common submodule
4802           From aed87ae to 3cb3d3c
4803
4804 2013-04-12 17:58:30 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
4805
4806         * configure.ac:
4807           configure: add --disable-fatal-warnings for disabling -Werror
4808
4809 2013-04-09 21:02:09 +0200  Stefan Sauer <ensonic@users.sf.net>
4810
4811         * common:
4812           Automatic update of common submodule
4813           From 04c7a1e to aed87ae
4814
4815 2013-04-08 17:02:32 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
4816
4817         * omx/gstomx.c:
4818         * omx/gstomxaudioenc.c:
4819         * omx/gstomxh263enc.c:
4820         * omx/gstomxh264enc.c:
4821         * omx/gstomxmpeg4videoenc.c:
4822         * omx/gstomxvideodec.c:
4823         * omx/gstomxvideoenc.c:
4824           omx: fix printf formats in debug messages
4825           OMX_U32 is typedefed to an unsigned long,
4826           OMX_TICKS to a 64-bit integer.
4827
4828 2013-04-08 16:52:19 +0200  Josep Torra <n770galaxy@gmail.com>
4829
4830         * omx/gstomxvideodec.c:
4831           omxvideodec: use the correct printf format in a debug message
4832
4833 2013-04-08 16:31:33 +0200  Josep Torra <n770galaxy@gmail.com>
4834
4835         * omx/gstomxvideodec.c:
4836           omxvideodec: use the correct OMX_IndexParam value
4837           Fixes playback is not smooth in the EGL path.
4838
4839 2013-04-05 13:45:24 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4840
4841         * omx/gstomxvideodec.c:
4842           omxvideodec: Don't use API that is not in master yet
4843           It's not really needed here yet, will be needed in future versions
4844
4845 2013-02-25 11:55:04 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4846
4847         * configure.ac:
4848         * omx/Makefile.am:
4849         * omx/gstomx.c:
4850         * omx/gstomx.h:
4851         * omx/gstomxvideodec.c:
4852         * omx/gstomxvideodec.h:
4853           omxvideodec: Add support for egl_render on RPi
4854
4855 2013-03-22 19:26:54 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
4856
4857         * configure.ac:
4858           Back to development
4859
4860 2013-03-22 19:23:14 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
4861
4862         * omx/gstomxh263enc.c:
4863         * omx/gstomxh264enc.c:
4864         * omx/gstomxmpeg4videoenc.c:
4865           omx: fix compiler warnings when compiling with -DG_DISABLE_ASSERT
4866           As we do for releases. Fixes 'variable may be used uninitialized'
4867           warnings.
4868
4869 === release 1.0.0 ===
4870
4871 2013-03-22 17:16:33 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4872
4873         * AUTHORS:
4874         * ChangeLog:
4875         * Makefile.am:
4876         * NEWS:
4877         * RELEASE:
4878         * configure.ac:
4879         * gst-omx.doap:
4880           Release 1.0.0
4881
4882 2013-03-19 16:40:09 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
4883
4884         * omx/gstomxtheoradec.h:
4885         * omx/gstomxvp8dec.h:
4886           omx: fix typo in copyright headers
4887
4888 2013-03-19 13:46:33 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4889
4890         * config/rpi/gstomx.conf:
4891           rpi: Fix commit that added the VC1 decoder
4892
4893 2013-03-19 13:27:35 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4894
4895         * config/rpi/gstomx.conf:
4896         * omx/gstomxh263dec.c:
4897         * omx/gstomxh264dec.c:
4898         * omx/gstomxmjpegdec.c:
4899         * omx/gstomxmpeg2videodec.c:
4900         * omx/gstomxmpeg4videodec.c:
4901         * omx/gstomxtheoradec.c:
4902         * omx/gstomxvideodec.c:
4903         * omx/gstomxvp8dec.c:
4904         * omx/gstomxwmvdec.c:
4905           omx: Add more constraints to the default sink template caps
4906
4907 2013-03-19 13:10:39 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4908
4909         * config/rpi/gstomx.conf:
4910           rpi: Add VC1/WMV3 decoder
4911           WMV2 and WMV1 (aka WMV 1-8) are not supported by RPi.
4912
4913 2013-03-19 12:59:20 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4914
4915         * config/rpi/gstomx.conf:
4916           rpi: Add MJPEG decoder
4917
4918 2013-03-19 12:56:50 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4919
4920         * config/rpi/gstomx.conf:
4921           rpi: Add VP8 decoder
4922
4923 2013-03-19 12:55:09 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4924
4925         * omx/gstomxvideodec.c:
4926           omxvideodec: Set ENDOFFRAME flag for the end of frames
4927
4928 2013-03-19 12:28:50 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4929
4930         * config/rpi/gstomx.conf:
4931           rpi: Add Theora decoder to the config
4932
4933 2013-03-19 09:36:18 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4934
4935         * configure.ac:
4936         * omx/Makefile.am:
4937         * omx/gstomx.c:
4938         * omx/gstomxtheoradec.c:
4939         * omx/gstomxtheoradec.h:
4940           omx: Add Theora decoder
4941
4942 2013-03-18 16:43:24 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4943
4944         * omx/gstomx.c:
4945           omx: Remove additional comma
4946
4947 2013-03-18 16:34:21 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4948
4949         * config/rpi/gstomx.conf:
4950         * omx/Makefile.am:
4951         * omx/gstomx.c:
4952         * omx/gstomxmpeg2dec.h:
4953         * omx/gstomxmpeg2videodec.c:
4954         * omx/gstomxmpeg2videodec.h:
4955           omx: Rename MPEG2 decoder for consistency everywhere
4956
4957 2013-03-18 16:30:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4958
4959         * omx/Makefile.am:
4960         * omx/gstomx.c:
4961         * omx/gstomxmjpegdec.c:
4962         * omx/gstomxmjpegdec.h:
4963           omx: Add MJPEG decoder support
4964
4965 2013-03-18 16:06:54 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4966
4967         * configure.ac:
4968         * omx/Makefile.am:
4969         * omx/gstomx.c:
4970         * omx/gstomxvp8dec.c:
4971         * omx/gstomxvp8dec.h:
4972           omx: Add VP8 decoder support
4973
4974 2013-03-18 15:44:23 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4975
4976         * config/rpi/gstomx.conf:
4977           rpi: Add h263 decoder and rename MPEG2 decoder for consistency
4978
4979 2013-03-16 13:20:27 +0000  Tim-Philipp Müller <tim@centricular.net>
4980
4981         * omx/gstomxmpeg2dec.c:
4982           omxmpeg2dec: mpeg-2 decoder should be able to handle mpeg-1 too
4983           https://bugzilla.gnome.org/show_bug.cgi?id=695879
4984
4985 2013-03-16 10:13:06 +0100  Josep Torra <n770galaxy@gmail.com>
4986
4987         * omx/gstomx.c:
4988           omx: minor stylistic change for consistency with other similar code
4989
4990 2013-03-16 10:00:24 +0100  Josep Torra <n770galaxy@gmail.com>
4991
4992         * omx/gstomxaudioenc.c:
4993         * omx/gstomxvideodec.c:
4994         * omx/gstomxvideoenc.c:
4995           omx: Clarify that loop task is also paused in EOS
4996
4997 2013-03-16 09:59:01 +0100  Josep Torra <n770galaxy@gmail.com>
4998
4999         * omx/gstomxvideoenc.c:
5000           omxvideoenec: Don't forget propagate flow return value upstream
5001
5002 2013-03-15 13:16:39 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
5003
5004         * omx/gstomx.c:
5005           omx: improve debug logging some more
5006
5007 2013-03-15 14:09:45 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5008
5009         * omx/gstomxvideodec.c:
5010           omxvideodec: Make sure that the first frame we pass to OpenMAX is a sync frame
5011
5012 2013-03-15 11:46:34 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5013
5014         * omx/gstomxaudioenc.c:
5015         * omx/gstomxvideodec.c:
5016         * omx/gstomxvideoenc.c:
5017           omx: Stop output port task after draining
5018
5019 2013-03-15 10:58:58 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5020
5021         * omx/gstomx.c:
5022           omx: Reset EOS flag in more places
5023
5024 2013-03-15 10:38:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5025
5026         * omx/gstomxvideodec.c:
5027           omxvideodec: Deallocate output buffers with the right function
5028
5029 2013-03-15 01:06:05 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
5030
5031         * omx/gstomx.c:
5032         * omx/gstomx.h:
5033           omx: log commands as strings
5034           Makes logs easier to read.
5035
5036 2013-03-15 00:47:47 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
5037
5038         * omx/gstomx.c:
5039         * omx/gstomx.h:
5040           omx: log states as strings
5041
5042 2013-03-15 00:28:02 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
5043
5044         * omx/gstomx.c:
5045         * omx/gstomx.h:
5046           omx: log component name in debug messages
5047           Useful when we have more different components
5048           active at the same time.
5049
5050 2013-03-15 09:51:42 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5051
5052         * omx/gstomxvideodec.c:
5053           omxvideodec: Don't interpolate timestamps
5054           We will get exactly one frame per input buffer and assigning
5055           timestamps between frames if more than one OMX buffer is required
5056           per frame easily confuses timestamp tracking in OMX.
5057
5058 2013-03-15 09:32:42 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5059
5060         * omx/gstomxvideodec.c:
5061           omxvideodec: Give the codec_data the timestamp of the first frame and no duration
5062
5063 2013-03-14 17:31:17 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5064
5065         * config/rpi/gstomx.conf:
5066           omx: The MPEG4 encoder is not available on RPi and probably never will
5067
5068 2013-03-14 17:26:30 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5069
5070         * omx/gstomx.c:
5071           omx: Reset some more buffer fields as required
5072
5073 2013-03-14 17:01:08 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5074
5075         * config/rpi/gstomx.conf:
5076         * omx/gstomx.c:
5077           omx: The hack to disable usage of EOS buffers is not necessary anymore on RPi
5078
5079 2013-03-14 17:00:12 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5080
5081         * omx/gstomx.c:
5082           omx: Reset the flags for output ports when releasing a buffer, not for input ports
5083
5084 2013-03-14 15:03:02 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5085
5086         * omx/gstomxh263enc.c:
5087         * omx/gstomxh264enc.c:
5088         * omx/gstomxmpeg4videoenc.c:
5089           omx: Only unref caps after usage of its fields
5090
5091 2013-03-14 14:51:32 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5092
5093         * omx/gstomxvideodec.c:
5094           omxvideodec: Simplify bufferpool implementation
5095
5096 2013-03-13 13:23:35 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5097
5098         * omx/gstomxvideodec.c:
5099           omxvideodec: Improve min/max buffer counts handling
5100
5101 2013-03-14 12:49:42 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5102
5103         * omx/gstomx.c:
5104         * omx/gstomx.h:
5105         * omx/gstomxaudioenc.c:
5106         * omx/gstomxvideodec.c:
5107         * omx/gstomxvideoenc.c:
5108           omx: Handle the OMX_EventBufferFlag to detect EOS too
5109
5110 2013-03-13 10:29:23 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5111
5112         * omx/gstomx.c:
5113         * omx/gstomx.h:
5114           omx: Mark OpenMAX buffers as EGLImage if they contain one
5115           Needs special handling in some places, e.g. because nFilledLen
5116           will always be 0.
5117
5118 2013-03-13 10:21:49 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5119
5120         * omx/gstomxvideoenc.c:
5121           omxvideoenc: Properly check the nVersion field
5122
5123 2013-03-13 09:34:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5124
5125         * omx/gstomxvideoenc.c:
5126           omxvideoenc: RPi returns garbage for OMX_IndexParamVideoBitrate, work around that
5127
5128 2013-03-12 20:02:53 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5129
5130         * omx/gstomxvideodec.c:
5131           omxvideodec: Make sure to always get the right buffer
5132
5133 2013-03-12 19:35:39 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5134
5135         * omx/gstomxvideodec.c:
5136           omxvideodec: Make sure the buffer is released to the pool if it's not the one we wanted
5137
5138 2013-03-12 19:17:08 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5139
5140         * omx/gstomxvideodec.c:
5141           omxvideodec: Drop too late frames instead of finishing them
5142
5143 2013-03-12 19:16:46 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5144
5145         * omx/gstomxvideodec.c:
5146           omx: Release buffers to the correct port
5147
5148 2013-03-13 09:37:02 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5149
5150         * omx/gstomx.c:
5151           omx: Always load the OpenMAX IL cores with G_MODULE_BIND_LOCAL
5152
5153 2013-03-12 18:20:22 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5154
5155         * omx/gstomx.c:
5156           omx: Lazy-load symbols of libbcm_host.so
5157           It exports eglIntOpenMAXILDoneMarker(), which is also
5158           exported by libopenmaxil.so... but we need the version
5159           from libopenmaxil.so as the other one is just a stub.
5160
5161 2013-03-11 13:59:15 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5162
5163         * omx/gstomxaacenc.c:
5164         * omx/gstomxh263enc.c:
5165         * omx/gstomxmpeg4videoenc.c:
5166           omx: Don't set profile/level in other encoders if downstream caps don't specify any
5167
5168 2013-03-11 13:49:38 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5169
5170         * omx/gstomxh264enc.c:
5171           omxh264enc: If caps specify no profile/level use the component's defaults
5172
5173 2013-03-11 13:45:04 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5174
5175         * omx/gstomxvideoenc.c:
5176           omxvideoenc: Always allocate output buffers from the loop function
5177
5178 2013-03-11 13:12:57 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5179
5180         * omx/gstomxh264enc.c:
5181           omxh264enc: The h264 encoders are supposed to output byte-stream/au
5182
5183 2013-03-11 11:47:42 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5184
5185         * omx/gstomxvideoenc.c:
5186           omxvideoenc: Wait until the Executing state is reached before passing buffers to the component
5187
5188 2013-03-11 10:39:25 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5189
5190         * omx/gstomxvideodec.c:
5191           omxvideodec: Don't provide buffers to downstream
5192           This only works reliable if we have a way to tell downstream to
5193           release all our buffers for reconfiguration.
5194
5195 2013-03-11 10:29:44 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5196
5197         * omx/gstomxaudioenc.c:
5198           omxaudioenc: Disable output port when setting a new format
5199
5200 2013-03-11 10:29:30 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5201
5202         * omx/gstomxvideoenc.c:
5203           omxvideoenc: Disable output port when setting a new format
5204
5205 2013-03-11 10:22:07 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5206
5207         * omx/gstomxvideodec.c:
5208           omxvideodec: Disable output port when setting a new format
5209           Based on a patch by Josep Torra <n770galaxy@gmail.com>
5210
5211 2013-03-11 10:04:10 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5212
5213         * omx/gstomxaudioenc.c:
5214         * omx/gstomxvideodec.c:
5215         * omx/gstomxvideoenc.c:
5216           omx: Catch errors when releasing buffers to a port and handle them
5217
5218 2013-03-10 12:09:23 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5219
5220         * omx/gstomxvideoenc.c:
5221           omxvideoenc: Use the correct video codec state when filling an input buffer
5222
5223 2013-03-10 12:05:50 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5224
5225         * omx/gstomxvideoenc.c:
5226           omxvideoenc: Store correct input state
5227
5228 2013-03-10 11:27:34 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5229
5230         * omx/gstomxvideoenc.c:
5231           omxvideoenc: Allocate output buffers as early as possible
5232
5233 2013-03-10 11:01:57 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5234
5235         * omx/gstomx.c:
5236           omx: Log unknown events
5237
5238 2013-03-09 14:14:40 +0100  Josep Torra <n770galaxy@gmail.com>
5239
5240         * omx/gstomxaudioenc.c:
5241         * omx/gstomxvideodec.c:
5242         * omx/gstomxvideoenc.c:
5243           omx: Fix deadlock in encoders and add explainatory comments.
5244
5245 2013-03-09 13:27:08 +0100  Josep Torra <n770galaxy@gmail.com>
5246
5247         * omx/gstomxvideodec.c:
5248           omxvideodec: fix printf format identifier
5249
5250 2013-03-09 13:07:59 +0100  Josep Torra <n770galaxy@gmail.com>
5251
5252         * omx/gstomxvideodec.c:
5253           omx: Minor changes on debuging info
5254
5255 2013-03-09 13:00:33 +0100  Josep Torra <n770galaxy@gmail.com>
5256
5257         * omx/gstomxvideodec.c:
5258           omxvideodec: avoid a deadlock
5259
5260 2013-03-08 15:56:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5261
5262         * omx/gstomxvideodec.c:
5263           omxvideodec: Don't forget to populate output port
5264
5265 2013-03-08 15:11:27 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5266
5267         * omx/gstomxaudioenc.c:
5268         * omx/gstomxvideodec.c:
5269         * omx/gstomxvideoenc.c:
5270           omx: Flush and stop srcpad when configuring new caps
5271
5272 2013-03-07 17:40:21 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5273
5274         * config/rpi/gstomx.conf:
5275         * omx/gstomx.c:
5276           Revert "omx: use no-component-reconfigure hack on the Raspberry PI"
5277           This reverts commit e123b2089f69a413241f30a2428ea6edd8f231e7.
5278           It's not required anymore after the fix from the last commit.
5279
5280 2013-03-07 17:38:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5281
5282         * omx/gstomxvideodec.c:
5283           omxvideodec: Only negotiate a color format with downstream on the initial caps
5284
5285 2013-03-07 17:29:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5286
5287         * omx/gstomxvideodec.c:
5288           omxvideodec: Make sure the output port is disabled while we allocate buffers
5289
5290 2013-03-07 17:27:05 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5291
5292         * omx/gstomx.c:
5293           omx: Also wait for disabled output ports to be reconfigured
5294
5295 2013-03-07 14:10:12 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5296
5297         * omx/gstomxvideodec.c:
5298         * omx/gstomxvideodec.h:
5299           omxvideodec: Add buffer pool for sharing OpenMAX memory with downstream
5300
5301 2013-03-07 11:11:58 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5302
5303         * omx/gstomx.c:
5304         * omx/gstomx.h:
5305         * omx/gstomxaudioenc.c:
5306         * omx/gstomxvideodec.c:
5307         * omx/gstomxvideoenc.c:
5308           omx: Add timeout to the flush operation and move buffer populating to a separate function
5309
5310 2013-03-06 17:33:23 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5311
5312         * config/rpi/gstomx.conf:
5313         * omx/gstomx.c:
5314         * omx/gstomx.h:
5315           omx: Remove min buffer count hack for RPi again
5316           It's not necessary anymore
5317
5318 2013-03-06 17:05:51 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5319
5320         * omx/gstomx.c:
5321         * omx/gstomx.h:
5322         * omx/gstomxaudioenc.c:
5323         * omx/gstomxvideodec.c:
5324         * omx/gstomxvideoenc.c:
5325           omx: Do number of buffers configuration explicitely
5326
5327 2013-03-07 11:24:54 +0100  Josep Torra <n770galaxy@gmail.com>
5328
5329         * omx/gstomxvideodec.c:
5330           omxvideodec: fixes reconfiguration
5331           Avoid having fixed fields from previous caps on reconfiguration.
5332
5333 2013-03-07 11:02:39 +0100  Josep Torra <n770galaxy@gmail.com>
5334
5335         * config/rpi/gstomx.conf:
5336         * omx/gstomx.c:
5337           omx: use no-component-reconfigure hack on the Raspberry PI
5338
5339 2013-03-07 00:03:28 +0000  Tim-Philipp Müller <tim@centricular.net>
5340
5341         * common:
5342           Automatic update of common submodule
5343           From 2de221c to 04c7a1e
5344
5345 2013-03-01 15:32:47 +0100  Josep Torra <n770galaxy@gmail.com>
5346
5347         * omx/gstomxvideoenc.h:
5348           omxvideoenc: drop unused data member
5349
5350 2013-03-01 12:23:54 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5351
5352         * omx/gstomxh263enc.c:
5353         * omx/gstomxh264enc.c:
5354         * omx/gstomxmpeg4videoenc.c:
5355           omxvideoenc: And set it actually on the right port
5356
5357 2013-03-01 12:18:08 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5358
5359         * omx/gstomxh263enc.c:
5360         * omx/gstomxh264enc.c:
5361         * omx/gstomxmpeg4videoenc.c:
5362           omxvideoenc: Set the coding type in the subclasses to the specific codec
5363
5364 2013-03-01 11:49:53 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5365
5366         * omx/gstomxvideoenc.c:
5367           omxvideoenc: gst_omx_port_update_port_definition() returns a OMX_ERRORTYPE, not a gboolean
5368
5369 2013-03-01 11:44:17 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5370
5371         * omx/gstomxvideodec.c:
5372         * omx/gstomxvideoenc.c:
5373           omxvideo{dec,enc}: Don't use the input state if it wasn't set yet
5374
5375 2013-03-01 11:25:04 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5376
5377         * omx/gstomxaudioenc.c:
5378           omxaudioenc: Only enable the output port after we know the output format
5379
5380 2013-03-01 11:24:56 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5381
5382         * omx/gstomxvideoenc.c:
5383           omxvideoenc: Only enable the output port after we know the output format
5384
5385 2013-02-28 17:02:31 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5386
5387         * omx/gstomxvideodec.c:
5388           omxvideodec: Only enable the output port after we know the output format
5389
5390 2013-03-01 11:18:18 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5391
5392         * omx/gstomx.c:
5393         * omx/gstomx.h:
5394           omx: Handle errors more gracefully
5395
5396 2013-02-28 15:48:53 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5397
5398         * omx/gstomx.c:
5399         * omx/gstomx.h:
5400         * omx/gstomxaudioenc.c:
5401         * omx/gstomxh263dec.c:
5402         * omx/gstomxh264dec.c:
5403         * omx/gstomxmpeg2dec.c:
5404         * omx/gstomxmpeg4videodec.c:
5405         * omx/gstomxvideodec.c:
5406         * omx/gstomxwmvdec.c:
5407           omx: Return the OMX_ERRORTYPE from gst_omx_port_update_port_definition
5408
5409 2013-02-28 15:37:53 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5410
5411         * omx/gstomx.c:
5412           omx: Return port definition update errors
5413
5414 2013-02-28 13:57:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5415
5416         * config/rpi/gstomx.conf:
5417         * omx/gstomx.c:
5418         * omx/gstomx.h:
5419           omx: Add hack for RPi for the minimum number of buffers required for a port
5420           The value in the port definition is invalid and the initial actual
5421           buffer count should be used.
5422
5423 2013-02-28 13:26:56 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5424
5425         * omx/gstomx.c:
5426           omx: Always tell the component about the right number of buffers that we're going to allocate
5427
5428 2013-02-28 13:07:58 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5429
5430         * omx/gstomx.c:
5431           omx: Invert assertion to let it express what was intended
5432
5433 2013-02-28 11:19:07 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5434
5435         * omx/gstomx.c:
5436         * omx/gstomx.h:
5437         * omx/gstomxaudioenc.c:
5438         * omx/gstomxvideodec.c:
5439         * omx/gstomxvideoenc.c:
5440           omx: Add API for allocating a specific number of buffers and using EGLImages or buffers allocated elsewhere
5441
5442 2013-02-27 16:55:16 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5443
5444         * omx/gstomxaudioenc.c:
5445         * omx/gstomxvideodec.c:
5446         * omx/gstomxvideoenc.c:
5447           omx: Refactor code flow a bit if output port settings have changed
5448
5449 2013-02-27 15:49:56 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5450
5451         * omx/gstomx.c:
5452         * omx/gstomx.h:
5453         * omx/gstomxaudioenc.c:
5454         * omx/gstomxvideodec.c:
5455         * omx/gstomxvideoenc.c:
5456           omx: Clean up port settings change handling
5457
5458 2013-02-27 11:30:14 +0100  Josep Torra <n770galaxy@gmail.com>
5459
5460         * omx/gstomxvideodec.c:
5461           omxvideodec: initialize param structure before using it
5462
5463 2013-02-27 10:21:39 +0100  Josep Torra <n770galaxy@gmail.com>
5464
5465         * omx/gstomxvideoenc.c:
5466           omxvideoenc: prevent a NULL pointer access
5467
5468 2013-02-26 17:25:49 +0100  Josep Torra <n770galaxy@gmail.com>
5469
5470         * omx/gstomxvideodec.c:
5471           omxvideodec: prevent a NULL pointer access
5472
5473 2013-02-25 13:11:16 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5474
5475         * omx/gstomx.c:
5476           omx: Fix deadlock during reconfiguration
5477
5478 2013-02-25 12:38:27 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5479
5480         * omx/gstomx.c:
5481         * omx/gstomxaudioenc.c:
5482         * omx/gstomxvideodec.c:
5483         * omx/gstomxvideoenc.c:
5484           omx: Auto-detect the port indizes if possible
5485
5486 2013-02-25 11:42:38 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5487
5488         * omx/gstomxvideodec.c:
5489         * omx/gstomxvideoenc.c:
5490           omx: Refactor querying of component supported caps into its own function
5491
5492 2013-02-25 10:41:12 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5493
5494         * omx/gstomx.c:
5495         * omx/gstomx.h:
5496         * omx/gstomxaudioenc.c:
5497         * omx/gstomxvideodec.c:
5498         * omx/gstomxvideoenc.c:
5499           omx: Refactor waiting for buffers to be released by the component to a separate function
5500
5501 2013-01-11 17:44:13 +0000  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5502
5503         * omx/gstomx.c:
5504         * omx/gstomx.h:
5505           omx: Add methods to set up and close a tunnel between components
5506
5507 2013-02-25 09:15:53 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5508
5509         * omx/gstomxaacenc.c:
5510         * omx/gstomxaudioenc.c:
5511         * omx/gstomxaudioenc.h:
5512           omxaudioenc: Rename component variable
5513
5514 2013-02-25 09:15:46 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5515
5516         * omx/gstomxh263enc.c:
5517         * omx/gstomxh264enc.c:
5518         * omx/gstomxmpeg4videoenc.c:
5519         * omx/gstomxvideoenc.c:
5520         * omx/gstomxvideoenc.h:
5521           omxvideoenc: Rename component variable
5522
5523 2013-02-25 09:12:22 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5524
5525         * omx/gstomxvideodec.c:
5526         * omx/gstomxvideodec.h:
5527           omxvideodec: Rename component variable
5528
5529 2013-02-22 16:27:33 +0100  Josep Torra <n770galaxy@gmail.com>
5530
5531         * omx/gstomxvideoenc.c:
5532           omxvideoenc: remove duplicated line
5533
5534 2013-02-22 10:42:08 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5535
5536         * omx/gstomx.c:
5537           Retry loading libbcm_host.so without an absolute path if that failed
5538
5539 2013-02-21 20:32:42 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5540
5541         * config/bellagio/Makefile.am:
5542           Add missing file from last commit
5543
5544 2013-02-21 11:01:28 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5545
5546         * config/Makefile.am:
5547         * config/bellagio/gstomx.conf:
5548         * configure.ac:
5549         * omx/Makefile.am:
5550           Add OpenMAX IL target for Bellagio
5551           Not tested since a very long time though.
5552
5553 2013-02-21 10:59:29 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5554
5555         * configure.ac:
5556         * omx/Makefile.am:
5557           Allow using external OpenMAX IL headers
5558
5559 2013-02-21 10:14:12 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5560
5561         * .gitignore:
5562           Update .gitignore
5563
5564 2013-02-21 10:13:16 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5565
5566         * config/Makefile.am:
5567         * config/rpi/Makefile.am:
5568         * config/rpi/gstomx.conf:
5569         * configure.ac:
5570           Install the RPI config when the RPI target is selected
5571
5572 2013-02-21 10:08:07 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5573
5574         * omx/gstomx.c:
5575           Set default hacks for the RPI target and always initialize bcm_host
5576
5577 2013-02-21 10:05:37 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5578
5579         * configure.ac:
5580           Add configure parameter for setting the OpenMAX IL target
5581
5582 2013-02-12 11:55:39 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5583
5584         * omx/gstomx.c:
5585           omx: Add FIXME for the future
5586
5587 2013-02-12 11:49:21 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5588
5589         * omx/gstomx.c:
5590         * omx/gstomx.h:
5591         * omx/gstomxaudioenc.c:
5592         * omx/gstomxaudioenc.h:
5593         * omx/gstomxvideodec.c:
5594         * omx/gstomxvideodec.h:
5595         * omx/gstomxvideoenc.c:
5596         * omx/gstomxvideoenc.h:
5597           omx: Some minor refactoring and cleanup
5598
5599 2013-02-12 11:45:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5600
5601         * omx/gstomx.c:
5602           omx: Don't access the port's buffers array if it wasn't allocated yet
5603
5604 2013-02-12 11:44:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5605
5606         * omx/gstomx.c:
5607           omx: Mark an array as const
5608
5609 2013-02-12 11:41:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5610
5611         * omx/gstomx.c:
5612         * omx/gstomx.h:
5613         * omx/gstomxaudioenc.c:
5614         * omx/gstomxvideodec.c:
5615         * omx/gstomxvideoenc.c:
5616           omx: Split enabling/disabling of port into sending the command and waiting for it
5617           This allows to do anything necessary after sending the command to actually let it finish
5618
5619 2013-02-12 11:37:38 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5620
5621         * omx/gstomx.c:
5622           omx: Flushing is also allowed in Paused state
5623
5624 2013-02-12 11:28:36 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5625
5626         * omx/gstomxvideoenc.c:
5627           omxvideoenc: Set stride, slice height and buffer size
5628
5629 2013-02-12 11:09:30 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5630
5631         * config/raspberry-pi.conf:
5632           config: Add h264 and mpeg2 encoders to the raspberry pi config
5633           Not completely working yet though.
5634
5635 2013-02-12 11:03:32 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5636
5637         * omx/gstomxvideoenc.c:
5638           omxvideoenc: Properly negotiate OMX color format with the component
5639
5640 2013-02-12 10:53:24 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5641
5642         * omx/gstomxvideoenc.c:
5643           omxvideoenc: Implement getcaps() vfunc
5644
5645 2013-01-29 21:32:53 +0000  Tim-Philipp Müller <tim@centricular.net>
5646
5647         * configure.ac:
5648           configure: use 1.0 gstconfig.h to detect disabled subsystems
5649           Update unused configure check for GStreamer core subsystem
5650           features from 0.10 to 1.0.
5651
5652 2013-01-28 20:44:41 +0100  Stefan Sauer <ensonic@users.sf.net>
5653
5654         * common:
5655           Automatic update of common submodule
5656           From a942293 to 2de221c
5657
5658 2013-01-24 14:02:36 +0100  Julian Scheel <julian@jusst.de>
5659
5660         * config/raspberry-pi.conf:
5661         * omx/Makefile.am:
5662         * omx/gstomx.c:
5663         * omx/gstomxmpeg2dec.c:
5664         * omx/gstomxmpeg2dec.h:
5665           omx: add mpeg2 video decoder
5666           This adds a decoder class for mpeg2, as well as an extended
5667           configuration for raspberry pi.
5668           https://bugzilla.gnome.org/show_bug.cgi?id=692446
5669           Signed-off-by: Julian Scheel <julian@jusst.de>
5670
5671 2013-01-18 16:47:04 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5672
5673         * omx/gstomx.c:
5674           omx: Minimize the time when the messages lock is held
5675           Fixes a deadlock if any OMX functions are called when the
5676           messages are handled.
5677           Thanks to Nicolas Dufresne for noticing.
5678
5679 2013-01-18 15:28:20 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
5680
5681         * omx/gstomx.c:
5682           omx: improve debug message when we can't find the config file
5683           Mention where we looked for the config file.
5684
5685 2013-01-18 12:34:38 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
5686
5687         * configure.ac:
5688           build: fix autogen.sh with automake 1.13
5689           AM_CONFIG_HEADER -> AC_CONFIG_HEADERS
5690
5691 2013-01-17 18:07:41 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5692
5693         * omx/gstomx.h:
5694         * omx/gstomxaudioenc.h:
5695         * omx/gstomxvideodec.h:
5696         * omx/gstomxvideoenc.h:
5697           omx: Fix includes to properly work with the 1.0 releases
5698
5699 2013-01-15 15:08:28 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
5700
5701         * common:
5702           Automatic update of common submodule
5703           From a72faea to a942293
5704
5705 2013-01-15 14:34:45 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5706
5707         * omx/gstomx.c:
5708           omx: Update port definition when changing some port setting
5709
5710 2013-01-14 11:41:57 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5711
5712         * omx/Makefile.am:
5713         * omx/gstomx.c:
5714           omx: Rename from libgstopenmax.so to ligstomx.so for consistency
5715
5716 2013-01-11 15:32:22 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>
5717
5718         * omx/gstomx.c:
5719           omx: Add a method to send message
5720
5721 2013-01-11 15:44:38 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5722
5723         * omx/gstomx.c:
5724         * omx/gstomx.h:
5725           omx: Atomic ops are not required anymore for the reconfiguration
5726
5727 2013-01-11 12:52:10 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5728
5729         * omx/gstomxaudioenc.c:
5730         * omx/gstomxvideodec.c:
5731         * omx/gstomxvideoenc.c:
5732           omx: Fix some memory leaks and suboptimal locking
5733
5734 2013-01-11 12:34:04 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5735
5736         * omx/gstomxvideoenc.c:
5737           omxvideoenc: Don't forget to unmap frame in error cases
5738
5739 2013-01-11 12:29:20 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5740
5741         * omx/gstomxvideoenc.c:
5742           omxvideoenc: Fix copying of the video frames to the OMX buffers
5743
5744 2013-01-11 12:24:13 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5745
5746         * omx/gstomxvideodec.c:
5747           omxvideodec: Fix copying of the video frames from the OMX buffers
5748
5749 2013-01-10 14:44:33 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5750
5751         * omx/Makefile.am:
5752         * omx/gstomx.c:
5753         * omx/gstomx.h:
5754         * omx/gstomxaudioenc.c:
5755         * omx/gstomxrecmutex.c:
5756         * omx/gstomxrecmutex.h:
5757           omx: Implement new approach for locking that should solve all deadlocks on RPi
5758           No mutex is locked while calling any OpenMAX functions anymore
5759           and everything from the OpenMAX callbacks is inserted into a message
5760           queue and handled from outside the callbacks.
5761           Also there's only a single mutex and condition variable per component
5762           now for handling anything from OpenMAX callbacks and a single mutex
5763           for keeping our component/port state sane.
5764
5765 2012-12-20 19:30:38 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5766
5767         * omx/gstomxvideodec.c:
5768           omxvideodec: Set the OMX buffer nFilledLength field properly
5769
5770 2012-12-20 18:48:21 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5771
5772         * omx/gstomxrecmutex.c:
5773         * omx/gstomxrecmutex.h:
5774           omxrecmutex: Fix another race condition when two threads are trying to lock for recursion at the same time
5775
5776 2012-12-20 18:16:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5777
5778         * omx/gstomxrecmutex.c:
5779         * omx/gstomxrecmutex.h:
5780           omxrecmutex: Fix yet another race condition that resulted in deadlocks
5781
5782 2012-12-20 17:46:36 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5783
5784         * omx/gstomx.c:
5785         * omx/gstomxrecmutex.c:
5786         * omx/gstomxrecmutex.h:
5787           omx: Fix another race condition in the recursive mutex
5788           Between lock() and begin_recursion() it was possible for another thread to
5789           try to do a recursive_lock(). This would block because the mutex was already
5790           locked(), but not ready for recursive locking yet. unlock() would never
5791           happen in the original thread because it was waiting for the other thread
5792           to finish first.
5793           Happened on the Raspberry Pi.
5794
5795 2012-12-20 14:45:18 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5796
5797         * omx/gstomxrecmutex.c:
5798         * omx/gstomxrecmutex.h:
5799           omxrecmutex: Fix a small race condition when unlocking a non-recursive lock
5800
5801 2012-12-20 12:30:05 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5802
5803         * omx/gstomxaudioenc.c:
5804         * omx/gstomxvideodec.c:
5805         * omx/gstomxvideoenc.c:
5806           omx: Fix ununsed variable compiler warning
5807
5808 2012-12-20 12:27:47 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5809
5810         * omx/gstomxaudioenc.c:
5811         * omx/gstomxvideodec.c:
5812         * omx/gstomxvideoenc.c:
5813           omx: No need to start the srcpad task in ::start() already
5814           It will be started properly after the caps are set.
5815
5816 2012-12-20 12:23:49 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5817
5818         * omx/gstomxvideodec.c:
5819           omxvideodec: OMX_ErrorNoMore is no error and just means we ended iteration
5820
5821 2012-12-20 12:20:31 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5822
5823         * omx/gstomxaudioenc.c:
5824         * omx/gstomxvideodec.c:
5825         * omx/gstomxvideoenc.c:
5826           omx: Improve debug output
5827
5828 2012-12-20 12:02:30 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5829
5830         * omx/gstomxvideodec.c:
5831           omxvideodec: Don't forget to free a GList
5832
5833 2012-12-20 11:56:29 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5834
5835         * omx/gstomxvideodec.c:
5836           omxvideodec: Map OMX_COLOR_FormatYUV420PackedPlanar to I420 too
5837           This is used on the Raspberry Pi.
5838
5839 2012-12-20 11:55:36 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5840
5841         * omx/gstomxvideodec.c:
5842           omxvideodec: During negotiation of the output format make sure we use the correct OpenMAX format
5843
5844 2012-12-20 11:42:17 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5845
5846         * omx/gstomxvideodec.c:
5847           omxvideodec: If negotiation fails this could also mean that the component can't do it at this point yet
5848
5849 2012-12-20 11:40:13 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5850
5851         * omx/gstomxvideodec.c:
5852           omxvideodec: Improve format negotiation a bit
5853           Don't leak caps and make sure to fixate caps.
5854
5855 2012-12-19 13:05:28 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5856
5857         * omx/gstomx.h:
5858           omx: Also initialize nStep field of the OMX structures
5859
5860 2012-12-19 13:03:37 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5861
5862         * omx/gstomx.h:
5863           omx: Initialize struct version with the OMX version we compiled with
5864
5865 2012-12-19 12:44:31 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5866
5867         * omx/gstomxvideodec.c:
5868           omxvideodec: Extract data from the input buffer, not the codec data
5869
5870 2012-12-19 12:19:12 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5871
5872         * omx/gstomx.c:
5873         * tools/listcomponents.c:
5874           omx: Use has_suffix() instead of has_prefix() for the Broadcom hack
5875
5876 2012-12-19 12:08:35 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5877
5878         * Makefile.am:
5879         * configure.ac:
5880         * tools/Makefile.am:
5881         * tools/listcomponents.c:
5882           tools: Add tool to list all components and their roles
5883
5884 2012-12-19 11:31:51 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5885
5886         * omx/gstomx.c:
5887           omx: Add hack to load and initialize libbcm_host.so
5888           Needed on the Raspberry Pi. Patch based on a patch by
5889           George Kiagiadakis <george.kiagiadakis@collabora.com>
5890
5891 2012-12-19 11:22:16 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5892
5893         * configure.ac:
5894         * omx/gstomx.h:
5895           configure: Add configure option to pack OpenMAX structures
5896           This is required to set to 4 for the Raspberry Pi for example.
5897
5898 2012-12-19 11:07:44 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5899
5900         * configure.ac:
5901           configure: Require GStreamer 1.0.0
5902
5903 2012-04-20 17:13:52 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
5904
5905         * omx/gstomx.h:
5906           omx: Initialize structures to version 1.1.2
5907
5908 2012-12-19 09:51:22 +0000  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5909
5910         * Makefile.am:
5911         * config/Makefile.am:
5912         * config/raspberry-pi.conf:
5913         * configure.ac:
5914           config: Add raspberry-pi configuration in a different directory
5915
5916 2012-05-20 20:11:59 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
5917
5918         * omx/gstomx-raspberry.conf:
5919           raspberry: Add a gstomx.conf for the Raspberry Pi
5920
5921 2012-12-12 17:45:39 +0000  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5922
5923         * omx/gstomx.h:
5924         * omx/gstomxvideoenc.h:
5925           omx: Fix some compilation errors caused by circular includes
5926
5927 2012-11-19 11:29:44 +0000  Tim-Philipp Müller <tim@centricular.net>
5928
5929         * common:
5930           Automatic update of common submodule
5931           From 6bb6951 to a72faea
5932
5933 2012-11-12 15:14:09 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5934
5935         * omx/gstomxvideodec.c:
5936         * omx/gstomxvideoenc.c:
5937           omx: Fix refcount problem with frames being dropped because of decoder bugs
5938
5939 2012-11-12 11:29:48 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5940
5941         * omx/gstomx.c:
5942         * omx/gstomx.h:
5943         * omx/gstomxaudioenc.c:
5944         * omx/gstomxaudioenc.h:
5945         * omx/gstomxrecmutex.c:
5946         * omx/gstomxrecmutex.h:
5947         * omx/gstomxvideodec.c:
5948         * omx/gstomxvideodec.h:
5949         * omx/gstomxvideoenc.c:
5950         * omx/gstomxvideoenc.h:
5951           omx: Update to new GLib thread API
5952
5953 2012-10-22 14:34:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5954
5955         * omx/gstomxvideodec.c:
5956         * omx/gstomxvideoenc.c:
5957           omx: Use open/close vfuncs
5958
5959 2012-10-22 14:28:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5960
5961         * omx/gstomxvideodec.c:
5962         * omx/gstomxvideoenc.c:
5963           omx: Handle video meta correctly
5964
5965 2012-06-20 13:11:58 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
5966
5967         * omx/Makefile.am:
5968         * omx/gstbasevideocodec.c:
5969         * omx/gstbasevideocodec.h:
5970         * omx/gstbasevideodecoder.c:
5971         * omx/gstbasevideodecoder.h:
5972         * omx/gstbasevideoencoder.c:
5973         * omx/gstbasevideoencoder.h:
5974         * omx/gstbasevideoutils.c:
5975         * omx/gstbasevideoutils.h:
5976         * omx/gstomxh263dec.c:
5977         * omx/gstomxh263enc.c:
5978         * omx/gstomxh264dec.c:
5979         * omx/gstomxh264enc.c:
5980         * omx/gstomxmpeg4videodec.c:
5981         * omx/gstomxmpeg4videoenc.c:
5982         * omx/gstomxvideodec.c:
5983         * omx/gstomxvideodec.h:
5984         * omx/gstomxvideoenc.c:
5985         * omx/gstomxvideoenc.h:
5986         * omx/gstomxwmvdec.c:
5987           omx: Port to video base classes from -base
5988
5989 2012-10-17 17:57:43 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
5990
5991         * omx/gstomxaacenc.c:
5992         * omx/gstomxh263dec.c:
5993         * omx/gstomxh263enc.c:
5994         * omx/gstomxh264dec.c:
5995         * omx/gstomxh264enc.c:
5996         * omx/gstomxmpeg4videodec.c:
5997         * omx/gstomxmpeg4videoenc.c:
5998         * omx/gstomxwmvdec.c:
5999           omx: gst_element_class_set_details_simple() -> set_static_metadata()
6000
6001 2012-10-06 15:01:11 +0100  Tim-Philipp Müller <tim@centricular.net>
6002
6003         * common:
6004           Automatic update of common submodule
6005           From 6c0b52c to 6bb6951
6006
6007 2012-09-22 16:10:38 +0100  Tim-Philipp Müller <tim@centricular.net>
6008
6009         * common:
6010           Automatic update of common submodule
6011           From 4f962f7 to 6c0b52c
6012
6013 2012-06-21 20:22:13 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
6014
6015         * omx/gstomx.c:
6016           omx: fix debug statement
6017
6018 2012-06-21 20:21:03 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
6019
6020         * omx/gstomx.c:
6021           omx: use recursive_lock inside set_last_error(), since this function may be called from an event handler
6022
6023 2012-08-22 13:31:59 +0200  Stefan Sauer <ensonic@users.sf.net>
6024
6025         * common:
6026           Automatic update of common submodule
6027           From 668acee to 4f962f7
6028
6029 2012-08-05 16:42:43 +0100  Tim-Philipp Müller <tim@centricular.net>
6030
6031         * common:
6032           Automatic update of common submodule
6033           From 94ccf4c to 668acee
6034
6035 2012-08-03 19:32:13 +0100  Tim-Philipp Müller <tim@centricular.net>
6036
6037         * omx/gstomx.c:
6038           omx: fix plugin name for new GST_PLUGIN_DEFINE API
6039
6040 2012-07-23 08:47:32 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6041
6042         * common:
6043           Automatic update of common submodule
6044           From 98e386f to 94ccf4c
6045
6046 2012-07-10 09:57:09 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6047
6048         * omx/gstbasevideodecoder.c:
6049           omx: Update for allocation query API changes
6050
6051 2012-06-20 11:09:13 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6052
6053         * omx/gstomxaudioenc.c:
6054         * omx/gstomxvideodec.c:
6055         * omx/gstomxvideoenc.c:
6056           omx: Fix compilation after gst_pad_start_task() API changes
6057
6058 2012-06-08 15:06:35 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
6059
6060         * common:
6061           Automatic update of common submodule
6062           From 03a0e57 to 98e386f
6063
6064 2012-06-06 18:20:18 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
6065
6066         * common:
6067           Automatic update of common submodule
6068           From 1fab359 to 03a0e57
6069
6070 2012-06-01 10:30:27 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
6071
6072         * common:
6073           Automatic update of common submodule
6074           From f1b5a96 to 1fab359
6075
6076 2012-05-31 13:10:33 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6077
6078         * common:
6079           Automatic update of common submodule
6080           From 92b7266 to f1b5a96
6081
6082 2012-05-30 12:47:59 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6083
6084         * common:
6085           Automatic update of common submodule
6086           From ec1c4a8 to 92b7266
6087
6088 2012-05-30 11:26:30 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6089
6090         * common:
6091           Automatic update of common submodule
6092           From 3429ba6 to ec1c4a8
6093
6094 2012-05-13 15:58:10 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6095
6096         * common:
6097           Automatic update of common submodule
6098           From dc70203 to 3429ba6
6099
6100 2012-05-08 16:13:32 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
6101
6102         * omx/gstomx.c:
6103           omx: Fix spelling mistake found by lintian: s/Seperate/Separate/
6104
6105 2012-04-30 23:58:43 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
6106
6107         * omx/Makefile.am:
6108         * omx/gstomx.c:
6109         * omx/gstomx.h:
6110         * omx/gstomxaudioenc.c:
6111         * omx/gstomxrecmutex.c:
6112         * omx/gstomxrecmutex.h:
6113         * omx/gstomxvideodec.c:
6114         * omx/gstomxvideoenc.c:
6115           Implement a new custom recursive mutex type and fix locking in callbacks so that in-context calls are allowed.
6116           According to the OMX specification, implementations are allowed to call
6117           callbacks in the context of their function calls. However, our callbacks
6118           take locks and this causes deadlocks if the unerlying OMX implementation
6119           uses this kind of in-context calls.
6120           A solution to the problem would be a recursive mutex. However, a normal
6121           recursive mutex does not fix the problem because it is not guaranteed
6122           that the callbacks are called from the same thread. What we see in Broadcom's
6123           implementation for example is:
6124           - OMX_Foo is called
6125           - OMX_Foo waits on a condition
6126           - A callback is executed in a different thread
6127           - When the callback returns, its calling function
6128           signals the condition that OMX_Foo waits on
6129           - OMX_Foo wakes up and returns
6130           The solution I came up with here is to take a second lock inside the callback,
6131           but only if recursion is expected to happen. Therefore, all calls to OMX
6132           functions are guarded by calls to gst_omx_rec_mutex_begin_recursion() / _end_recursion(),
6133           which effectively tells the mutex that at this point we want to allow calls
6134           to _recursive_lock() to succeed, although we are still holding the master lock.
6135
6136 2012-04-20 14:51:34 +0000  George Kiagiadakis <george.kiagiadakis@collabora.com>
6137
6138         * omx/gstomx.c:
6139         * omx/gstomx.h:
6140           omx: Add hack to disable setting roles to components.
6141           Conflicts:
6142           omx/gstomx.c
6143
6144 2012-04-30 23:20:24 +0000  George Kiagiadakis <george.kiagiadakis@collabora.com>
6145
6146         * omx/gstomx.h:
6147         * omx/gstomxvideodec.c:
6148           omxvideodec: Implement no-empty-eos-buffer hack, as in omxvideoenc.
6149           Conflicts:
6150           omx/gstomxvideodec.c
6151
6152 2012-04-30 23:19:55 +0000  George Kiagiadakis <george.kiagiadakis@collabora.com>
6153
6154         * omx/gstomxvideodec.c:
6155           omxvideodec: Fix coding style in the drain-may-not-return hack code
6156
6157 2012-04-25 19:03:48 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>
6158
6159         * omx/gstomx.c:
6160           omx: Fix trivial debug print bug
6161
6162 2012-04-25 19:01:32 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>
6163
6164         * omx/gstomx.c:
6165         * omx/gstomx.h:
6166         * omx/gstomxvideodec.c:
6167           omxvideodec: Add hack for Ducati components not returning from drain
6168           This happens on the Galaxy Nexus, and causes the pipeline to hang waiting
6169           endlessly for a drain. The hack replaces the wait with a wait + 500ms timeout.
6170
6171 2012-04-25 16:35:40 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>
6172
6173         * omx/gstomx.c:
6174           omx: Fix deadlock between ending a flush and the event handler
6175           gst_omx_port_set_flushing() calls OMX_FillThisBuffer at the end of a flush
6176           without releasing the port lock, and this can cause a deadlock with the
6177           EventHandler. This patches fixes this by dropping the lock for the duration of
6178           the fill buffer call.
6179
6180 2012-04-24 15:41:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6181
6182         * omx/gstbasevideodecoder.c:
6183         * omx/gstbasevideoencoder.c:
6184           omx: Update video encoder/decoder base classes from gst-plugins-bad
6185
6186 2012-04-16 09:16:10 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6187
6188         * configure.ac:
6189           configure: Modernize autotools setup a bit
6190           Also we now only create tar.bz2 and tar.xz tarballs.
6191
6192 2012-04-16 09:12:37 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6193
6194         * common:
6195           Automatic update of common submodule
6196
6197 2012-04-16 08:34:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6198
6199         * omx/gstomxaudioenc.c:
6200           omxaudioenc: Use gst_buffer_extract() to copy the input buffer data to the OpenMAX buffer
6201
6202 2012-04-13 17:16:42 -0400  Alessandro Decina <alessandro.decina@collabora.com>
6203
6204         * omx/Makefile.am:
6205           Fix relative/absolute path glitch
6206           Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
6207
6208 2012-04-12 15:57:32 -0400  Olivier Crête <olivier.crete@collabora.com>
6209
6210         * common:
6211         * configure.ac:
6212         * omx/Makefile.am:
6213         * omx/gstbasevideocodec.c:
6214         * omx/gstbasevideocodec.h:
6215         * omx/gstbasevideodecoder.c:
6216         * omx/gstbasevideodecoder.h:
6217         * omx/gstbasevideoencoder.c:
6218         * omx/gstbasevideoencoder.h:
6219         * omx/gstomx.c:
6220         * omx/gstomx.h:
6221         * omx/gstomxaacenc.c:
6222         * omx/gstomxaudioenc.c:
6223         * omx/gstomxaudioenc.h:
6224         * omx/gstomxh263dec.c:
6225         * omx/gstomxh263enc.c:
6226         * omx/gstomxh264dec.c:
6227         * omx/gstomxh264enc.c:
6228         * omx/gstomxmpeg4videodec.c:
6229         * omx/gstomxmpeg4videoenc.c:
6230         * omx/gstomxvideodec.c:
6231         * omx/gstomxvideodec.h:
6232         * omx/gstomxvideoenc.c:
6233         * omx/gstomxvideoenc.h:
6234         * omx/gstomxwmvdec.c:
6235           Port to Gst 0.11
6236
6237 2012-01-18 16:53:16 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
6238
6239         * Android.mk:
6240         * omx/Makefile.am:
6241           Enable building with Android's buildsystem
6242           This change adds prelimary buildsystem hooks to
6243           build gst-omx with the Android buildsystem. Like
6244           the rest of GStreamer's Android hooks, the process
6245           relies on the availability of androgenizer. A tool
6246           developed by Collabora to automatically generate
6247           Android.mk files from within the auto* setup.
6248           Androgenizer is currently available at:
6249           http://cgit.collabora.com/git/user/derek/androgenizer.git/
6250
6251 2011-12-13 10:17:41 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6252
6253         * omx/gstbasevideocodec.c:
6254           basevideocodec: Don't use G_TYPE_REGISTER_BOXED() yet
6255           This would require GLib 2.26.
6256
6257 2011-12-14 10:09:34 +0100  Jonas Larsson <Jonas.Larsson@palm.com>
6258
6259         * omx/gstomxaudioenc.c:
6260           omxaudioenc: Add hack for encoder components that don't allow empty EOS buffers
6261
6262 2011-12-14 10:07:29 +0100  Jonas Larsson <Jonas.Larsson@palm.com>
6263
6264         * omx/gstomxvideoenc.c:
6265           omxvideoenc: Fix deadlock when using the EOS hack
6266
6267 2011-12-12 14:26:48 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6268
6269         * omx/gstomxvideoenc.c:
6270           omxvideoenc: Remove workaround for basevideocodec bug
6271
6272 2011-12-12 14:26:34 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6273
6274         * omx/gstomxvideodec.c:
6275           omxvideodec: Remove workaround for basevideocodec bug
6276
6277 2011-12-05 17:57:01 +0000  Matej Knopp <matej.knopp@gmail.com>
6278
6279         * omx/gstbasevideocodec.c:
6280         * omx/gstbasevideocodec.h:
6281         * omx/gstbasevideodecoder.c:
6282         * omx/gstbasevideoencoder.c:
6283           basevideo: Make GstVideoFrame a reference counted boxed object
6284           ...and also clear all existing frames when resetting the decoder or encoder.
6285
6286 2011-12-09 12:17:29 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6287
6288         * omx/gstomx.c:
6289         * omx/gstomx.h:
6290         * omx/gstomxvideoenc.c:
6291           omx: Add hack for encoder components that don't allow empty EOS buffers
6292
6293 2011-12-09 10:21:47 +0100  Dake Gu <Dake.Gu@palm.com>
6294
6295         * omx/gstomxaacenc.c:
6296           omxaacenc: Generate and set codec_data on the caps for raw AAC
6297
6298 2011-10-31 11:36:06 +0100  Alessandro Decina <alessandro.decina@collabora.co.uk>
6299
6300         * omx/gstbasevideoencoder.c:
6301           basevideoencoder: handle failures in start() and stop()
6302
6303 2011-08-26 10:50:38 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
6304
6305         * omx/gstbasevideoencoder.c:
6306           basevideoenc: do not try to calculate latency from an unknown framerate
6307           It'll divide by zero, and latency is unknown for an unknown framerate.
6308           Fixes an assert in the schroenc test.
6309           https://bugzilla.gnome.org/show_bug.cgi?id=657419
6310
6311 2011-12-08 11:50:49 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6312
6313         * omx/gstbasevideoencoder.c:
6314           basevideoencoder: Only make the header buffer metadata writable, not the buffer
6315
6316 2011-12-08 10:18:36 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6317
6318         * omx/gstbasevideoencoder.c:
6319           basevideoencoder: Fix handling of force-keyunit events
6320
6321 2011-12-06 13:28:41 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6322
6323         * omx/gstomxaudioenc.c:
6324           omxaudioenc: Don't forward EOS events immediately but let all other events be handled by the base class
6325           Previously this logic was inversed, which did not make any sense at all.
6326
6327 2011-12-06 12:47:25 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6328
6329         * omx/gstomxaudioenc.c:
6330         * omx/gstomxaudioenc.h:
6331           omxaudioenc: Use correct timestamp, duration and filled length for the EOS buffers
6332
6333 2011-12-06 12:47:12 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6334
6335         * omx/gstomxvideodec.c:
6336         * omx/gstomxvideodec.h:
6337           omxvideodec: Use correct timestamp, duration and filled length for the EOS buffers
6338
6339 2011-12-06 12:46:51 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6340
6341         * omx/gstomxvideoenc.c:
6342         * omx/gstomxvideoenc.h:
6343           omxvideoenc: Use correct timestamp, duration and filled length for the EOS buffers
6344
6345 2011-12-05 13:18:09 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6346
6347         * omx/gstomx.c:
6348           omx: Improve debugging of buffer handling
6349
6350 2011-12-05 08:12:48 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6351
6352         * omx/gstomxvideoenc.c:
6353           omxvideoenc: Drop EOS events in ::finish()
6354           The event will be forwarded downstream from the srcpad
6355           loop function after the last buffer was generated by the
6356           component. Forwarding it after ::finish() will use the
6357           sinkpad streaming thread and does not guarantee that
6358           the encoder is completely drained.
6359
6360 2011-12-01 16:20:36 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6361
6362         * omx/gstomxvideodec.c:
6363           omxvideodec: Properly drop frames due to QoS
6364           Instead of finishing them they should be passed to drop(), which
6365           will then send QoS messages.
6366
6367 2011-11-29 12:21:32 +0100  Jonas Larsson <jonas@hallerud.se>
6368
6369         * omx/gstomxh264enc.c:
6370           omxh264enc: Add support for resending headers after a forced-keyframe
6371
6372 2011-11-29 12:12:33 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6373
6374         * omx/gstbasevideocodec.h:
6375         * omx/gstbasevideoencoder.c:
6376           basevideoencoder: Pass the all-headers field of the force-key-unit event to the subclass
6377
6378 2011-11-29 12:12:04 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6379
6380         * omx/gstbasevideoencoder.c:
6381         * omx/gstbasevideoencoder.h:
6382           basevideoencoder: Implement full support for the new force-key-unit event
6383           Including support for the running-time and count fields.
6384
6385 2011-11-29 09:31:11 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6386
6387         * omx/gstbasevideoencoder.c:
6388           basevideoencoder: Use new force-keyunit event API from gst-plugins-base
6389
6390 2011-11-29 09:18:19 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6391
6392         * omx/gstbasevideoencoder.c:
6393         * omx/gstbasevideoencoder.h:
6394           basevideoencoder: Adjusting padding is not required for -bad libraries
6395
6396 2011-11-28 19:48:01 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6397
6398         * omx/gstbasevideoencoder.h:
6399           basevideoencoder: Move some fields to the private part of the instance struct
6400
6401 2011-11-28 19:36:56 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6402
6403         * omx/gstbasevideoencoder.c:
6404           basevideoencoder: Make headers metadata writable before pushing downstream
6405           The timestamp, duration, etc of the headers has to be changed.
6406
6407 2011-11-28 19:35:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6408
6409         * omx/gstbasevideoencoder.c:
6410         * omx/gstbasevideoencoder.h:
6411           basevideoencoder: Push the downstream force-keyframe event after the next keyframe
6412           Even if the corresponding GstVideoFrame doesn't have the is_sync_point
6413           flag set.
6414
6415 2011-11-28 19:29:13 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6416
6417         * omx/gstbasevideoencoder.c:
6418         * omx/gstbasevideoencoder.h:
6419           basevideoencoder: Don't push an upstream force-keyunit event downstream
6420
6421 2011-11-25 11:48:08 +0100  Jonas Larsson <jonas@hallerud.se>
6422
6423         * omx/gstbasevideoencoder.c:
6424         * omx/gstbasevideoencoder.h:
6425           basevideoencoder: Add initial support for the all-headers field of the force-keyframe event
6426           See bug #607742.
6427
6428 2011-11-25 11:37:39 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
6429
6430         * omx/gstbasevideodecoder.c:
6431           basevideodecoder: some more debug logging
6432
6433 2011-11-23 20:03:32 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
6434
6435         * omx/gstbasevideodecoder.c:
6436         * omx/gstbasevideodecoder.h:
6437           basevideodecoder: add API to drop a frame and post a QoS message on the bus
6438           https://bugzilla.gnome.org/show_bug.cgi?id=640017
6439           API: gst_base_video_decoder_drop_frame()
6440
6441 2011-11-22 23:04:49 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
6442
6443         * omx/gstbasevideodecoder.c:
6444           docs: fix comment in gst_base_video_decoder_get_max_decode_time() docs
6445
6446 2011-11-22 19:57:07 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
6447
6448         * omx/gstbasevideodecoder.c:
6449           basevideodecoder: fix weird event list handling
6450           Get rid of weird code that copies a list manually, taking
6451           ownership of the elements and then frees the old list. Instead,
6452           just take over the old list entirely. (If the intent was to
6453           reverse the list, one could use g_list_reverse() instead).
6454           Then, push events in the list out from last to first (since they
6455           were prepended as they came in) instead of just pushing out the
6456           last in the list and leaking the others.
6457
6458 2011-11-25 11:31:58 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6459
6460         * configure.ac:
6461         * omx/Makefile.am:
6462         * omx/gstbaseaudiodecoder.c:
6463         * omx/gstbaseaudiodecoder.h:
6464         * omx/gstbaseaudioencoder.c:
6465         * omx/gstbaseaudioencoder.h:
6466         * omx/gstbaseaudioutils.c:
6467         * omx/gstbaseaudioutils.h:
6468         * omx/gstomxaacenc.c:
6469         * omx/gstomxaudioenc.c:
6470         * omx/gstomxaudioenc.h:
6471           omxaudioenc: Use audio base classes from gst-plugins-base instead of having our own copies
6472
6473 2011-11-18 10:00:31 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6474
6475         * omx/gstomxaudioenc.c:
6476           omxaudioenc: First set ports to flushing before waiting for the srcpad streaming thread to finish
6477
6478 2011-11-18 09:59:43 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6479
6480         * omx/gstomxvideoenc.c:
6481           omxvideoenc: First set ports to flushing before waiting for the srcpad streaming thread to finish
6482
6483 2011-11-18 09:58:58 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6484
6485         * omx/gstomxvideodec.c:
6486           omxvideodec: First set ports to flushing before waiting for the srcpad streaming thread to finish
6487
6488 2011-11-17 14:38:54 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6489
6490         * omx/gstomx.c:
6491           omx: Only disabling of a port is like flushing, enabling is like unflushing
6492
6493 2011-11-17 13:33:35 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6494
6495         * omx/gstomx.c:
6496           omx: Enabling/disabling a port is also like flushing
6497           The component returns all buffers to us and shouldn't get any
6498           new buffers passed anymore.
6499
6500 2011-11-17 11:26:33 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6501
6502         * omx/gstomxaudioenc.c:
6503           omxaudioenc: Signal the drain GCond even if downstream returned an error
6504
6505 2011-11-17 11:26:20 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6506
6507         * omx/gstomxvideoenc.c:
6508           omxvideoenc: Signal the drain GCond even if downstream returned an error
6509
6510 2011-11-17 11:25:52 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6511
6512         * omx/gstomxvideodec.c:
6513           omxvideodec: Signal the drain GCond even if downstream returned an error
6514
6515 2011-11-17 10:34:19 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6516
6517         * omx/gstbasevideoencoder.c:
6518           basevideoencoder: Only call ::reset once in READY->PAUSED
6519
6520 2011-11-17 10:19:35 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6521
6522         * omx/gstomxaudioenc.c:
6523           omxaudioenc: Shutdown component in PAUSED->READY and deallocate buffers
6524
6525 2011-11-17 10:19:30 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6526
6527         * omx/gstomxvideoenc.c:
6528           omxvideoenc: Shutdown component in PAUSED->READY and deallocate buffers
6529
6530 2011-11-17 10:19:10 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6531
6532         * omx/gstomxvideodec.c:
6533           omxvideodec: Shutdown component in PAUSED->READY and deallocate buffers
6534
6535 2011-11-16 12:02:08 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6536
6537         * omx/gstomxvideoenc.c:
6538           omxvideoenc: Set force_keyframe to FALSE after handling it
6539           There's no reason why the base class should forward the event
6540           further downstream if we already handled it and will insert a
6541           keyframe.
6542
6543 2011-11-16 11:21:25 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6544
6545         * omx/gstomxvideodec.c:
6546           omxvideodec: Always push buffers downstream, even if we didn't find a corresponding GstVideoFrame
6547
6548 2011-11-15 09:47:55 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6549
6550         * omx/gstomx.c:
6551           omx: Fix debug level for flushing in wrong state from ERROR to DEBUG
6552           It's not really an error and doesn't matter at all if flush is called
6553           when the component is not running.
6554
6555 2011-11-15 08:40:07 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6556
6557         * omx/gstomxh264enc.c:
6558           omxh264enc: Detect bytestream stream format and don't put SPS/PPS into the caps for this format
6559
6560 2011-11-15 08:28:32 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6561
6562         * omx/gstomxvideoenc.c:
6563         * omx/gstomxvideoenc.h:
6564           omxvideoenc: Add vfunc for handling the output frames
6565           This can be used by subclasses to override the buffer flags
6566           or to handle some frames differently than the default behaviour.
6567
6568 2011-11-14 12:50:26 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6569
6570         * omx/gstomxvideodec.c:
6571           omxvideodec: Don't release buffers twice if dropping because of QoS
6572
6573 2011-11-14 09:13:06 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6574
6575         * omx/gstomx.c:
6576           omx: Add XXX to the nOffset reset hack comment for QCOM
6577
6578 2011-11-10 15:18:08 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6579
6580         * omx/gstomxaudioenc.c:
6581           omxaudioenc: Make srcpad caps setting threadsafe
6582
6583 2011-11-10 15:17:56 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6584
6585         * omx/gstomxvideoenc.c:
6586           omxvideoenc: Make srcpad caps setting threadsafe
6587
6588 2011-11-10 15:17:41 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6589
6590         * omx/gstomxvideodec.c:
6591           omxvideodec: Make srcpad caps setting threadsafe
6592
6593 2011-11-10 15:10:14 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6594
6595         * omx/gstomxaudioenc.c:
6596           omxaudioenc: Make the srcpad task and the sinkpad streaming thread handling threadsafe
6597
6598 2011-11-10 15:03:05 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6599
6600         * omx/gstomxaudioenc.c:
6601           omxaudioenc: Always flush the ports and make sure no processing is happening in ::flush
6602           This fixes a race condition that happened when seeking
6603           very often in a short period of time.
6604
6605 2011-11-10 15:02:22 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6606
6607         * omx/gstomxvideoenc.c:
6608           omxvideoenc: Always flush the ports and make sure no processing is happening in ::reset
6609           This fixes a race condition that happened when seeking
6610           very often in a short period of time.
6611
6612 2011-11-10 15:01:36 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6613
6614         * omx/gstomxvideoenc.c:
6615           omxvideoenc: Fix minor race condition when draining after upstream signalled EOS
6616
6617 2011-11-10 14:56:19 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6618
6619         * omx/gstomxaudioenc.c:
6620           omxaudioenc: Improve EOS handling
6621           If downstream return UNEXPECTED we should still signal the
6622           drain cond because nothing will trigger this again later.
6623
6624 2011-11-10 14:56:11 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6625
6626         * omx/gstomxvideoenc.c:
6627           omxvideoenc: Improve EOS handling
6628           If downstream return UNEXPECTED we should still signal the
6629           drain cond because nothing will trigger this again later.
6630
6631 2011-11-10 14:54:33 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6632
6633         * omx/gstomxaudioenc.c:
6634           omxaudioenc: Improve debugging of EOS and draining
6635
6636 2011-11-10 14:54:17 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6637
6638         * omx/gstomxvideoenc.c:
6639           omxvideoenc: Improve debugging of EOS and draining
6640
6641 2011-11-10 14:51:06 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6642
6643         * omx/gstomxvideodec.c:
6644           omxvideodec: Log if acquiring buffer for EOS failed
6645
6646 2011-11-10 14:42:13 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6647
6648         * omx/gstomxvideodec.c:
6649           omxvideodec: The component is not started in READY
6650
6651 2011-11-10 14:39:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6652
6653         * omx/gstomxaudioenc.c:
6654           omxaudioenc: No need to signal the drain cond when going from READY to PAUSED
6655           Also the component is not started in READY
6656
6657 2011-11-10 14:40:56 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6658
6659         * omx/gstomxvideoenc.c:
6660           omxvideoenc: No need to signal the drain cond when going from READY to PAUSED
6661           Also the component is not started in READY.
6662
6663 2011-11-09 15:46:02 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6664
6665         * omx/gstomxvideodec.c:
6666           omxvideodec: Always flush the ports and make sure no processing is happening in ::reset
6667           This fixes a race condition that happened when seeking
6668           very often in a short period of time.
6669
6670 2011-11-09 15:45:20 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6671
6672         * omx/gstomxvideodec.c:
6673           omxvideodec: Fix minor race condition when draining after upstream signalled EOS
6674
6675 2011-11-09 15:44:11 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6676
6677         * omx/gstomxvideodec.c:
6678           omxvideodec: Improve EOS handling
6679           If downstream return UNEXPECTED we should still signal the
6680           drain cond because nothing will trigger this again later.
6681
6682 2011-11-09 15:43:32 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6683
6684         * omx/gstomxvideodec.c:
6685           omxvideodec: Improve debugging of EOS and draining
6686
6687 2011-11-09 15:42:46 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6688
6689         * omx/gstomxvideodec.c:
6690           omxvideodec: The component is not started already when going from READY to PAUSED
6691
6692 2011-11-09 15:42:13 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6693
6694         * omx/gstomxvideodec.c:
6695           omxvideodec: No need to signal the drain cond when going from READY to PAUSED
6696
6697 2011-11-09 15:41:02 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6698
6699         * omx/gstomx.c:
6700           omx: Always reset buffer flags for output ports, even in flushing/error state
6701
6702 2011-11-09 09:00:57 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6703
6704         * omx/gstomxvideodec.c:
6705           omxvideodec: Improve debugging in case of QoS-related frame drops
6706
6707 2011-11-08 12:46:31 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6708
6709         * omx/gstomxvideoenc.c:
6710           omxvideoenc: Release the video codec stream lock before acquiring an input buffer
6711           Otherwise the srcpad task might block on this lock and
6712           no buffers ever become available again.
6713
6714 2011-11-08 12:45:16 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6715
6716         * omx/gstomxaudioenc.c:
6717           omxaudioenc: Release the audio encoder stream lock before acquiring an input buffer
6718           Otherwise the srcpad task might block on this lock and
6719           no buffers ever become available again.
6720
6721 2011-11-08 12:42:58 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6722
6723         * omx/gstomxvideodec.c:
6724           omxvideodec: Release the video codec stream lock before acquiring an input buffer
6725           Otherwise the srcpad task might block on this lock and
6726           no buffers ever become available again.
6727
6728 2011-11-08 11:07:01 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6729
6730         * omx/gstomxaudioenc.c:
6731         * omx/gstomxaudioenc.h:
6732           omxaudioenc: Don't try to drain the component after EOS
6733           And don't send EOS twice in any case. This most likely
6734           will cause the component to not output it again and
6735           is not necessary anyway.
6736
6737 2011-11-08 11:03:29 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6738
6739         * omx/gstomxvideoenc.c:
6740         * omx/gstomxvideoenc.h:
6741           omxvideoenc: Don't try to drain the component after EOS
6742           And don't send EOS twice in any case. This most likely
6743           will cause the component to not output it again and
6744           is not necessary anyway.
6745
6746 2011-11-08 10:46:36 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6747
6748         * omx/gstomxvideodec.c:
6749         * omx/gstomxvideodec.h:
6750           omxvideodec: Don't try to drain the component after EOS
6751           And don't send EOS twice in any case. This most likely
6752           will cause the component to not output it again and
6753           is not necessary anyway.
6754
6755 2011-11-08 09:09:28 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6756
6757         * omx/gstomxvideodec.c:
6758           omxvideodec: Implement dropping of too late frames via QoS
6759
6760 2011-11-08 08:31:58 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6761
6762         * omx/gstomxaudioenc.c:
6763           omxaudioenc: Minor code refactoring
6764
6765 2011-11-08 08:31:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6766
6767         * omx/gstomxvideoenc.c:
6768           omxvideoenc: Minor code refactoring
6769
6770 2011-11-08 08:31:32 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6771
6772         * omx/gstomxvideodec.c:
6773           omxvideodec: Make sure to always release buffers back to OMX
6774
6775 2011-11-08 08:24:19 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6776
6777         * omx/gstomx.c:
6778           omx: Also properly release buffers when in error state
6779
6780 2011-11-08 08:22:08 +0100  Jonas Larsson <Jonas.Larsson@palm.com>
6781
6782         * omx/gstomx.c:
6783           omx: Properly release buffers during flushing
6784           We can't pass them back to OMX_FillThisBuffer() or OMX_EmptyThisBuffer()
6785           but instead of doing nothing we have to put them back into our queue.
6786           Otherwise the buffer is leaked and we will have too few buffers in
6787           the future.
6788
6789 2011-11-07 14:00:47 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6790
6791         * omx/gstomxvideodec.c:
6792           omxvideodec: Free pending frames after draining component
6793
6794 2011-11-07 14:00:35 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6795
6796         * omx/gstomxvideoenc.c:
6797           omxvideoenc: Free pending frames after draining the component
6798
6799 2011-11-07 11:07:01 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6800
6801         * omx/gstomxvideoenc.c:
6802           omxvideoenc: Make handling and usage of the base video codec frames threadsafe
6803
6804 2011-11-07 11:05:29 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6805
6806         * omx/gstomxvideoenc.c:
6807           omxvideoenc: Fix deadlock between srcpad stream lock and ::reset()
6808
6809 2011-11-07 11:04:27 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6810
6811         * omx/gstomxvideodec.c:
6812           omxvideoenc: Make handling and usage of the base video codec frames threadsafe
6813
6814 2011-11-07 10:58:44 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6815
6816         * omx/gstomxvideoenc.c:
6817           omxvideoenc: Free all pending frames after draining the component
6818
6819 2011-11-07 10:58:24 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6820
6821         * omx/gstomxvideodec.c:
6822           omxvideodec: Always free all pending frames when caps changes require reconfiguration
6823
6824 2011-11-04 09:43:48 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6825
6826         * omx/gstomxaudioenc.c:
6827           omxaudioenc: Only drain the component a single time and only after processing started
6828
6829 2011-11-04 09:43:32 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6830
6831         * omx/gstomxvideodec.c:
6832           omxvideodec: Only drain the component a single time and only after processing started
6833
6834 2011-11-04 09:43:12 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6835
6836         * omx/gstomxvideoenc.c:
6837           omxvideoenc: Only drain the component a single time and only after processing started
6838
6839 2011-11-04 09:04:16 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6840
6841         * omx/gstomx.c:
6842           omx: Reset buffer flags to 0 after it was consumed by the component or the element
6843           Some implementations don't reset the flags and the standard is not
6844           really clear on the expected behaviour. Let's just always reset the
6845           flags as they're not valid at this point anymore.
6846
6847 2011-11-02 13:50:14 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6848
6849         * omx/gstomxvideoenc.c:
6850         * omx/gstomxvideoenc.h:
6851           omxvideoenc: Better handling of encoder parameters
6852           Only set them if necessary and allow to use the component
6853           defaults.
6854
6855 2011-11-02 13:22:50 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6856
6857         * omx/gstomxvideoenc.c:
6858           omxvideoenc: Make unsupported bitrate/quantizer settings less fatal
6859
6860 2011-11-02 10:39:50 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6861
6862         * omx/gstomxvideodec.c:
6863           omxvideodec: If no stride was set for the OMX output port assume GStreamer stride
6864           This is not really correct but there's nothing else we could do.
6865
6866 2011-11-02 10:39:10 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6867
6868         * omx/gstomxvideoenc.c:
6869           omxvideoenc: If no stride was set for the OMX input port assume GStreamer stride
6870           This is not really correct but there's nothing else we could do.
6871
6872 2011-11-01 16:46:09 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6873
6874         * omx/gstomxaudioenc.c:
6875         * omx/gstomxaudioenc.h:
6876           omxaudioenc: Implement draining of the component and use it
6877           This makes sure that all buffers are encoded and pushed downstream
6878           before flushing the ports and losing some buffers.
6879
6880 2011-11-01 16:41:46 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6881
6882         * omx/gstomxvideoenc.c:
6883         * omx/gstomxvideoenc.h:
6884           omxvideoenc: Implement draining of the component and use it
6885           This makes sure that all buffers are encoded and pushed downstream
6886           before flushing the ports and losing some buffers.
6887
6888 2011-11-01 16:08:59 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6889
6890         * omx/gstomxvideodec.c:
6891         * omx/gstomxvideodec.h:
6892           omxvideodec: Implement draining of the component and use it
6893           This makes sure that all buffers are decoded and pushed downstream
6894           before flushing the ports and losing some buffers.
6895
6896 2011-10-20 14:32:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6897
6898         * omx/gstomxvideodec.c:
6899           omxvideodec: Fix deadlock if ::reset is called before finding the corresponding frame of a decoded buffer
6900
6901 2011-11-01 15:10:12 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6902
6903         * omx/gstomxaudioenc.c:
6904         * omx/gstomxaudioenc.h:
6905         * omx/gstomxvideoenc.h:
6906           omxaudioenc: Forward downstream flow returns to upstream
6907
6908 2011-11-01 15:10:01 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6909
6910         * omx/gstomxvideoenc.c:
6911           omxvideoenc: Forward downstream flow returns to upstream
6912
6913 2011-11-01 13:58:38 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6914
6915         * omx/gstomxvideodec.c:
6916         * omx/gstomxvideodec.h:
6917           omxvideodec: Forward downstream flow returns to upstream
6918
6919 2011-10-25 14:23:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6920
6921         * README:
6922           omx: Add minimal README file
6923
6924 2011-10-20 15:21:07 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6925
6926         * omx/gstomxvideodec.c:
6927           omxvideodec: Fix deadlock caused by calling reset while the loop function does something with the base video codec stream lock
6928
6929 2011-10-20 15:20:47 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6930
6931         * omx/gstomxvideoenc.c:
6932           omxvideoenc: Fix deadlock caused by calling reset while the loop function does something with the base video codec stream lock
6933
6934 2011-10-20 14:30:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6935
6936         * omx/gstomxvideodec.c:
6937           omxvideodec: Move locking at the correct place
6938
6939 2011-10-14 10:27:47 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6940
6941         * omx/gstomx.c:
6942         * omx/gstomx.h:
6943           omx: Remove QCOM hack to reset nOffset in EmptyBufferDone
6944           This is now done in a generic way that does not require any
6945           hacks because it will work without any side effects on any
6946           OMX implementation.
6947
6948 2011-10-14 10:26:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6949
6950         * omx/gstomx.c:
6951           omx: Reset nOffset to 0 in EmptyBufferDone if nFilledLen is 0
6952           Some OMX implementations don't reset nOffset when the complete
6953           buffer is emptied but instead only reset nFilledLen. We reset
6954           nOffset to 0 if nFilledLen == 0, which is safe to do because
6955           the offset *must* be 0 if the buffer is not filled at all.
6956           Seen in QCOM's OMX implementation.
6957
6958 2011-10-04 10:56:33 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6959
6960         * omx/gstomxvideoenc.c:
6961           omxvideoenc: If one parameter/configuration is not supported don't skip the next
6962
6963 2011-10-03 09:12:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6964
6965         * omx/gstomxh264dec.c:
6966           omxh264dec: Require stream-format=byte-stream
6967           Other stream-formats are unlikely to be supported by OMX components.
6968
6969 2011-09-29 10:37:32 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6970
6971         * omx/gstomxvideodec.c:
6972         * omx/gstomxvideodec.h:
6973           omxvideodec: Add API for subclasses to prepare/convert frames
6974
6975 2011-09-27 15:08:54 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6976
6977         * omx/gstomxaudioenc.c:
6978           omxaudioenc: Switch to Idle first and wait before switching to Loaded and deallocating buffers
6979           Allocating buffers before the Idle state is reached can lead to crashes.
6980
6981 2011-09-27 15:08:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6982
6983         * omx/gstomxvideoenc.c:
6984           omxvideoenc: Switch to Idle first and wait before switching to Loaded and deallocating buffers
6985           Allocating buffers before the Idle state is reached can lead to crashes.
6986
6987 2011-09-27 15:05:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6988
6989         * omx/gstomxvideodec.c:
6990           omxvideodec: Switch to Idle first and wait before switching to Loaded and deallocating buffers
6991           Allocating buffers before the Idle state is reached can lead to crashes.
6992
6993 2011-09-27 14:15:06 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
6994
6995         * omx/gstomx.c:
6996         * omx/gstomx.h:
6997         * omx/gstomxvideodec.c:
6998           omxvideodec: New hack for QCOM to recreate the component instead of reconfiguring it on caps changes
6999
7000 2011-09-27 12:13:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7001
7002         * omx/gstomx.c:
7003           omx: Change a g_assert() into a GST_WARNING_OBJECT()
7004
7005 2011-09-26 13:04:18 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7006
7007         * omx/gstomx.c:
7008         * omx/gstomx.h:
7009           omx: Add hack for Qualcomm's OMX implementation to manually reset nOffset in EmptyBufferDone
7010
7011 2011-09-23 17:02:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7012
7013         * omx/gstomxaudioenc.c:
7014           omxaudioenc: Add a check to prevent a zero-sized OMX buffer
7015
7016 2011-09-23 17:02:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7017
7018         * omx/gstomxvideoenc.c:
7019           omxvideoenc: Add some more checks for correct OMX buffer sizes
7020
7021 2011-09-23 15:53:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7022
7023         * omx/gstomxvideodec.c:
7024           omxvideodec: Add some more checks for OMX buffer sizes
7025
7026 2011-09-14 10:15:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7027
7028         * omx/gstomx.c:
7029         * omx/gstomx.h:
7030         * omx/gstomxaudioenc.c:
7031         * omx/gstomxvideodec.c:
7032         * omx/gstomxvideoenc.c:
7033           omx: Wait until the Executing state is reached before calling OMX_FillThisBuffer()
7034           This correctly works around the QCOM race condition that happens when calling
7035           FTB after setting the new state and before reaching it.
7036
7037 2011-09-02 14:43:43 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7038
7039         * omx/gstomxvideodec.c:
7040           omxvideodec: Negotiate video format with downstream and what the component claims to support
7041
7042 2011-08-25 19:56:58 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
7043
7044         * omx/gstbasevideoencoder.c:
7045           basevideoencoder: fix element leak
7046           and this concludes an hour of yelling at the bloody test failing,
7047           only to track down the problem not being in the test.
7048           https://bugzilla.gnome.org/show_bug.cgi?id=657368
7049
7050 2011-08-19 09:20:39 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7051
7052         * omx/gstomxvideoenc.c:
7053           omxvideoenc: Release basevideocodec stream lock while waiting for a buffer
7054           This prevents deadlocks if no empty input buffers are available and
7055           releasing input buffers requires the loop function to handle some
7056           output buffers first.
7057
7058 2011-08-19 09:19:22 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7059
7060         * omx/gstomxvideodec.c:
7061           omxvideodec: Release basevideocodec stream lock while waiting for a buffer
7062           This prevents deadlocks if no empty input buffers are available and
7063           releasing input buffers requires the loop function to handle some
7064           output buffers first.
7065
7066 2011-08-18 10:24:26 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7067
7068         * omx/gstbasevideodecoder.c:
7069           basevideodecoder: Fix deadlock
7070
7071 2011-08-18 10:03:20 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7072
7073         * omx/gstbaseaudiodecoder.c:
7074           baseaudiodecoder: Don't take the stream lock in the seek handler
7075           This will lead to deadlocks
7076
7077 2011-08-18 10:02:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7078
7079         * omx/gstbasevideocodec.c:
7080         * omx/gstbasevideocodec.h:
7081         * omx/gstbasevideodecoder.c:
7082         * omx/gstbasevideoencoder.c:
7083           basevideo: Fix locking, especially if both pads have different streaming threads
7084
7085 2011-08-18 09:42:02 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7086
7087         * omx/gstbasevideodecoder.c:
7088         * omx/gstbasevideoencoder.c:
7089           basevideo: Don't call g_type_class_peek_parent() in class_init
7090           This is already done by the GObject boilerplate macro
7091
7092 2011-08-18 09:40:46 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7093
7094         * omx/gstbaseaudiodecoder.c:
7095           baseaudiodecoder: Don't call g_type_class_peek_parent() in class_init
7096           This is already done by the boilerplate macro
7097
7098 2011-08-18 09:34:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7099
7100         * omx/gstbaseaudiodecoder.c:
7101         * omx/gstbaseaudiodecoder.h:
7102           baseaudiodecoder: Fix thread safety issues if both pads have different streaming threads
7103
7104 2011-08-18 09:17:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7105
7106         * omx/gstbaseaudiodecoder.c:
7107           baseaudiodecoder: Delay sending of serialized events to finish_frame()
7108
7109 2011-08-17 14:33:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7110
7111         * omx/gstomxaudioenc.c:
7112           omxaudioenc: Always require at least OMX_MIN_PCMPAYLOAD_MSEC per input buffer
7113
7114 2011-08-17 14:28:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7115
7116         * omx/gstbaseaudioencoder.c:
7117         * omx/gstbaseaudioencoder.h:
7118           baseaudioencoder: Add support for requesting a minimum and maximum number of samples per frame
7119           This extends the special case of a fixed number of samples per frame
7120           that was supported before already.
7121
7122 2011-08-17 14:17:18 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7123
7124         * omx/gstomxaudioenc.c:
7125           omxaudioenc: Handle inbuf==NULL properly in ::handle_frame()
7126
7127 2011-08-17 13:04:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7128
7129         * omx/gstomxaacenc.c:
7130           omxaacenc: Implement ::get_num_samples() vfunc
7131
7132 2011-08-17 13:03:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7133
7134         * omx/gstomxaudioenc.c:
7135         * omx/gstomxaudioenc.h:
7136           omxaudioenc: Add vfunc to get the number of samples inside a buffer
7137
7138 2011-08-17 11:34:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7139
7140         * omx/gstomxaudioenc.c:
7141           omxaudioenc: Release baseaudioencoder stream lock while waiting for a buffer in ::handle_frame()
7142           This prevents deadlocks if no empty input buffers are available and
7143           releasing input buffers requires the loop function to handle some
7144           output buffers first.
7145
7146 2011-08-17 11:34:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7147
7148         * omx/gstbaseaudioencoder.c:
7149         * omx/gstbaseaudioencoder.h:
7150           baseaudioencoder: Fix thread safety issues if both pads have different streaming threads
7151
7152 2011-08-17 09:58:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7153
7154         * omx/gstbaseaudioencoder.c:
7155           baseaudioencoder: Taking the OBJECT lock in reset() is not needed
7156
7157 2011-08-16 11:03:24 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7158
7159         * omx/gstomxaudioenc.c:
7160           omxaudioenc: Remove hack that only applies to the video encoder class
7161
7162 2011-08-16 10:49:21 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7163
7164         * omx/Makefile.am:
7165         * omx/gstomx.c:
7166         * omx/gstomx.conf:
7167         * omx/gstomxaacenc.c:
7168         * omx/gstomxaacenc.h:
7169           omxaacenc: Add initial version of OpenMAX AAC encoder element
7170
7171 2011-08-15 15:10:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7172
7173         * omx/Makefile.am:
7174         * omx/gstomxaudioenc.c:
7175         * omx/gstomxaudioenc.h:
7176           omxaudioenc: Add initial version of audio encoder base class
7177
7178 2011-08-15 14:14:11 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7179
7180         * omx/gstbaseaudioencoder.c:
7181           baseaudioencoder: Delay sending of serialized events to finish_frame()
7182
7183 2011-08-15 13:06:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7184
7185         * omx/Makefile.am:
7186         * omx/gstbaseaudiodecoder.c:
7187         * omx/gstbaseaudiodecoder.h:
7188         * omx/gstbaseaudioencoder.c:
7189         * omx/gstbaseaudioencoder.h:
7190           audio: Integrate audio base classes into the build system and fixup
7191
7192 2011-08-15 12:56:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7193
7194         * omx/gstbaseaudiodecoder.c:
7195         * omx/gstbaseaudiodecoder.h:
7196         * omx/gstbaseaudioencoder.c:
7197         * omx/gstbaseaudioencoder.h:
7198         * omx/gstbaseaudioutils.c:
7199         * omx/gstbaseaudioutils.h:
7200           audio: Add audio decoder/encoder base classes
7201           Taken from http://cgit.collabora.com/git/user/manauw/gst-plugins-bad.git/log/?h=baseaudio
7202
7203 2011-08-12 12:25:03 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7204
7205         * omx/gstbasevideoencoder.c:
7206           basevideoencoder: Proxy the width/height/framerate/PAR constraints of downstream caps to upstream
7207           This allows to specify constraints on the compressed downstream caps
7208           by muxers or capsfilters, which will then be forwarded to upstream
7209           and allows video converters to fulfill the constraints.
7210           Code based on Mark Nauwelaerts audio encoder base class.
7211
7212 2011-08-12 12:13:45 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7213
7214         * omx/gstbasevideoencoder.h:
7215           basevideoencoder: Remove old ::getcaps() comment
7216
7217 2011-08-12 12:06:23 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7218
7219         * omx/gstbasevideoencoder.c:
7220         * omx/gstbasevideoencoder.h:
7221           basevideoencoder: Remove ::get_caps() vfunc
7222           Subclasses can set the caps more efficiently and this only
7223           caused additional indirections.
7224
7225 2011-08-10 10:24:21 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7226
7227         * omx/gstomxh263enc.c:
7228         * omx/gstomxh264enc.c:
7229         * omx/gstomxmpeg4videoenc.c:
7230         * omx/gstomxvideoenc.c:
7231           omxvideoenc: Use "video/x-raw-yuv" as sink template caps instead of strict I420 caps
7232
7233 2011-08-10 10:23:39 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7234
7235         * omx/gstomxmpeg4videodec.c:
7236           omxmpeg4videodec: Don't require width/height on sink pad caps
7237
7238 2011-08-10 10:11:37 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7239
7240         * omx/gstomxh263dec.c:
7241         * omx/gstomxh264dec.c:
7242         * omx/gstomxmpeg4videodec.c:
7243         * omx/gstomxvideodec.c:
7244         * omx/gstomxwmvdec.c:
7245           omxvideodec: Use "video/x-raw-yuv" as src template caps instead of strict I420 caps
7246
7247 2011-08-10 09:56:30 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7248
7249         * omx/gstomxvideoenc.c:
7250           omxvideoenc: Set the state back to StateLoaded even if an error happened
7251
7252 2011-08-10 09:49:57 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7253
7254         * omx/gstomx.c:
7255           omx: Don't hold any locks while calling OMX_SendCommand()
7256           It might call into one of the callbacks and lead to deadlocks, e.g.
7257           with the Qualcomm OMX implementation.
7258
7259 2011-08-10 09:32:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7260
7261         * omx/gstomx.c:
7262           omx: Move some code
7263
7264 2011-08-10 09:23:10 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7265
7266         * omx/gstomx.c:
7267           omx: Reset pending reconfigure output ports when changing the state from Executing to any lower state
7268
7269 2011-08-10 09:08:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7270
7271         * omx/gstomx.c:
7272           omx: Fix crash when setting last error after the ports were freed
7273
7274 2011-08-10 09:03:52 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7275
7276         * omx/gstomx.c:
7277           omx: Free component structure
7278
7279 2011-08-10 09:02:52 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7280
7281         * omx/gstomx.c:
7282           omx: Make component destruction safer
7283
7284 2011-08-10 08:53:05 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7285
7286         * omx/gstomx.c:
7287           omx: Set pAppPrivate of buffers to NULL when deallocating buffers
7288           This prevents usage of freed memory later if the OMX component
7289           has weird behaviour.
7290
7291 2011-08-10 08:52:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7292
7293         * omx/gstomxvideodec.c:
7294           omxvideodec: Set the state back to StateLoaded even if an error happened
7295
7296 2011-08-10 08:51:54 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7297
7298         * omx/gstomx.c:
7299           omx: Add some assertions to check if the buffer pAppPrivate is still correct
7300
7301 2011-08-08 13:04:30 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7302
7303         * omx/gstomx.h:
7304           omx: Add parenthesis at correct places in the struct init macro
7305
7306 2011-08-08 12:12:58 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7307
7308         * omx/gstomx.c:
7309           omx: Only prevent setting a higher state if the component is in an error state
7310
7311 2011-08-03 16:02:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7312
7313         * omx/gstbasevideodecoder.c:
7314           basevideodecoder: Use the cached video frame size instead of recalculating it
7315
7316 2011-08-03 15:35:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7317
7318         * omx/gstomx.c:
7319           omx: Improve debugging in param/config getter/setter wrappers
7320
7321 2011-08-03 13:10:33 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7322
7323         * omx/gstomxvideodec.c:
7324           omxvideodec: Don't abort if the color format is not supported but give a useful error message
7325
7326 2011-08-02 15:14:37 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7327
7328         * omx/gstomxh263enc.c:
7329         * omx/gstomxh264enc.c:
7330         * omx/gstomxmpeg4videoenc.c:
7331         * omx/gstomxvideoenc.c:
7332           omxvideoenc: Don't fail if setting the bitrate or profile is not supported by the component
7333           Also always set/get the profile, even if there are no peer caps.
7334
7335 2011-08-02 15:14:24 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7336
7337         * omx/gstbasevideoencoder.c:
7338           basevideoencoder: Make access to the list of frames threadsafe
7339
7340 2011-08-01 13:22:05 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7341
7342         * omx/gstomx.c:
7343         * omx/gstomx.h:
7344           omx: Add a hacks flag for the Qualcomm 7x30 OMX_FillThisBuffer() race and make it optional
7345
7346 2011-07-29 13:56:59 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7347
7348         * omx/gstomx.c:
7349           omx: Add workaround for QCOM 7x30 race condition
7350
7351 2011-07-29 12:06:21 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7352
7353         * omx/Makefile.am:
7354         * omx/gstomx.c:
7355         * omx/gstomxh263enc.c:
7356         * omx/gstomxh263enc.h:
7357           omxh263enc: Add H.263 encoder element
7358
7359 2011-07-29 11:26:39 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7360
7361         * omx/gstomxmpeg4videoenc.c:
7362           omxmpeg4videoenc: Add support for setting profile/level via caps
7363
7364 2011-07-28 14:14:45 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7365
7366         * omx/gstomxh264enc.c:
7367           omxh264enc: Add support for setting profile/level via caps
7368
7369 2011-07-28 12:58:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7370
7371         * omx/gstomxvideoenc.c:
7372           omxvideoenc: Add support for forcing the next frame to be a keyframe
7373
7374 2011-07-28 11:54:16 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7375
7376         * omx/gstomxvideoenc.c:
7377         * omx/gstomxvideoenc.h:
7378           omxvideoenc: Add support for setting bitrate/quantization related parameters
7379
7380 2011-07-28 10:23:08 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7381
7382         * omx/gstomx.c:
7383         * omx/gstomx.h:
7384           omx: Add wrapper functions for OMX_[GS]et{Config,Parameter}
7385
7386 2011-07-28 09:54:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7387
7388         * omx/gstomx.c:
7389         * omx/gstomx.h:
7390           omx: Add macro to initialize OpenMAX structures
7391
7392 2011-07-28 09:08:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7393
7394         * omx/gstomxvideoenc.c:
7395           omxvideoenc: Don't output 0-byte buffers
7396
7397 2011-07-25 15:05:08 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7398
7399         * omx/gstomx.c:
7400           omx: Ensure that the pAppPrivate pointer in OMX buffers is set correctly
7401
7402 2011-07-25 13:19:06 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7403
7404         * omx/gstomxvideodec.c:
7405         * omx/gstomxvideoenc.c:
7406           omxvideo{enc,dec}: Only set/unset flushing state on ports if they were created already
7407
7408 2011-07-25 12:01:05 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7409
7410         * omx/Makefile.am:
7411         * omx/gstomx.c:
7412         * omx/gstomxwmvdec.c:
7413         * omx/gstomxwmvdec.h:
7414           omxwmvdec: Add WMV video decoder element
7415
7416 2011-07-25 11:44:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7417
7418         * omx/Makefile.am:
7419         * omx/gstomx.c:
7420         * omx/gstomxh263dec.c:
7421         * omx/gstomxh263dec.h:
7422           omxh263dec: Add H.263 decoder element
7423
7424 2011-07-25 11:32:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7425
7426         * omx/Makefile.am:
7427         * omx/gstomx.c:
7428         * omx/gstomxh264enc.c:
7429         * omx/gstomxh264enc.h:
7430           omxh264enc: Add H.264 encoder element
7431
7432 2011-07-25 10:48:58 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7433
7434         * omx/gstomxvideodec.c:
7435           omxvideodec: Try harder to deallocate the buffers after errors happened
7436
7437 2011-07-25 10:47:28 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7438
7439         * omx/gstomxvideoenc.c:
7440           omxvideoenc: Try harder to deallocate the buffers after errors happened
7441
7442 2011-07-25 10:46:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7443
7444         * omx/gstomx.c:
7445           omx: Deallocate port buffers before freeing the component
7446           They should be deallocated by the caller before reaching the
7447           Loaded state but to be on the safe side we will make sure
7448           they're really deallocated here.
7449
7450 2011-07-21 11:15:14 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7451
7452         * omx/gstomxvideoenc.c:
7453           omxvideoenc: Add initial support for stride conversion
7454
7455 2011-07-21 10:38:26 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7456
7457         * omx/gstomxh264dec.c:
7458         * omx/gstomxmpeg4videodec.c:
7459         * omx/gstomxmpeg4videoenc.c:
7460           omx: Set default roles for the components if none were set from the config file
7461
7462 2011-07-21 10:36:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7463
7464         * omx/gstomx.c:
7465           omx: Failure to set the component role is fatal
7466
7467 2011-07-21 07:53:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7468
7469         * omx/gstomxvideoenc.c:
7470           omxvideoenc: Add support for setting codec_data on the srcpad caps
7471
7472 2011-07-21 07:44:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7473
7474         * omx/gstomxvideoenc.c:
7475           omxvideoenc: Free/drop GstVideoFrames that resulted in an empty buffer
7476
7477 2011-07-21 07:44:10 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7478
7479         * omx/gstbasevideoencoder.c:
7480           basevideoencoder: Allow finishing of frames with no src_buffer to drop/free the GstVideoFrame
7481
7482 2011-07-21 07:31:05 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7483
7484         * omx/gstomxvideoenc.c:
7485           omxvideoenc: Remove obsolete TODO comment
7486
7487 2011-07-20 11:09:54 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7488
7489         * omx/Makefile.am:
7490         * omx/gstomx.c:
7491           omx: Use libgstopenmax.so for the plugin filename and openmax for the plugin name
7492           Resolves conflicts with gst-openmax.
7493
7494 2011-07-20 08:34:33 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7495
7496         * omx/Makefile.am:
7497         * omx/gstomx.c:
7498         * omx/gstomx.conf:
7499         * omx/gstomx.h:
7500         * omx/gstomxmpeg4videoenc.c:
7501         * omx/gstomxmpeg4videoenc.h:
7502         * omx/gstomxvideoenc.c:
7503         * omx/gstomxvideoenc.h:
7504           omxvideoenc: Add video encoder base class and MPEG4 video encoder
7505           Unfortunately requires lots of hacks again to work properly with
7506           Bellagio.
7507
7508 2011-07-20 10:39:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7509
7510         * omx/gstbasevideoencoder.c:
7511           basevideoencoder: Only get caps from the subclass if they were not set yet by the subclass
7512
7513 2011-07-20 09:25:28 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7514
7515         * omx/gstbasevideoencoder.c:
7516         * omx/gstbasevideoencoder.h:
7517           basevideoencoder: Delay sending of serialized sink events until finish_frame()
7518
7519 2011-07-20 09:09:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7520
7521         * omx/gstbasevideoencoder.c:
7522         * omx/gstbasevideoencoder.h:
7523           basevideoencoder: Add ::reset vfunc and handle ::reset/::finish the same way as in the decoder
7524
7525 2011-07-19 12:50:43 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7526
7527         * omx/gstbasevideoencoder.c:
7528           basevideoencoder: Use a temporary GstVideoState until the subclass accepted the caps
7529           Also store the caps in the GstVideoState and assume a PAR of 1/1 instead
7530           of 0/1 if no PAR is specified in the caps.
7531
7532 2011-07-19 12:29:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7533
7534         * omx/gstomx.c:
7535         * omx/gstomxvideodec.c:
7536           omx: Improve debug output a bit
7537
7538 2011-07-19 10:33:54 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7539
7540         * omx/gstomx.c:
7541         * omx/gstomx.h:
7542         * omx/gstomxvideodec.c:
7543           omx: Rework port reconfiguration again and only use the Bellagio specific hacks with Bellagio
7544           We only reconfigure ports that need to be reconfigured now instead of
7545           always all ports.
7546
7547 2011-07-19 10:33:15 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7548
7549         * omx/gstomx.c:
7550         * omx/gstomx.conf:
7551         * omx/gstomx.h:
7552         * omx/gstomxvideodec.c:
7553         * omx/gstomxvideodec.h:
7554           omx: Add infrastructure to enable special hacks for broken OpenMAX implementations
7555
7556 2011-07-18 13:10:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7557
7558         * omx/gstomx.c:
7559           omx: When acquiring a buffer from an input port always wait until all output ports are reconfigured
7560
7561 2011-07-18 08:41:20 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7562
7563         * omx/gstomxvideodec.c:
7564           omxvideodec: Add support for converting between omx and gst rowstrides
7565
7566 2011-07-14 10:34:09 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7567
7568         * omx/gstomx.c:
7569           omx: Provide all buffers to output ports after enabling them
7570
7571 2011-07-14 08:29:03 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7572
7573         * omx/gstomxvideodec.c:
7574           omxvideodec: Add support for NV12 / OMX_COLOR_FormatYUV420SemiPlanar
7575
7576 2011-07-14 07:58:41 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7577
7578         * omx/gstomxvideodec.c:
7579         * omx/gstomxvideodec.h:
7580           omxvideodec: Only flush the component ports after we passed input to them
7581
7582 2011-07-13 21:19:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7583
7584         * omx/gstomxvideodec.c:
7585           omxvideodec: Only change states downwards if an upper state was reached
7586
7587 2011-07-13 20:37:02 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7588
7589         * omx/gstomx.c:
7590         * omx/gstomx.h:
7591         * omx/gstomxvideodec.c:
7592         * omx/gstomxvideodec.h:
7593           omx: Add support for setting the component-role
7594
7595 2011-07-13 20:22:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7596
7597         * omx/gstomx.c:
7598         * omx/gstomx.h:
7599         * omx/gstomxvideodec.c:
7600           omx: Improve error reporting by formatting the error codes better and also providing their string representation
7601
7602 2011-07-13 14:36:14 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7603
7604         * Makefile.am:
7605           build: Dist autogen.sh
7606
7607 2011-07-13 14:35:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7608
7609         * configure.ac:
7610         * omx/gstomx.c:
7611           build: Only require GStreamer >= 0.10.29 and GLib >= 2.16
7612
7613 2011-07-13 14:04:47 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7614
7615         * omx/Makefile.am:
7616           build: Dist gstomx.conf
7617
7618 2011-07-13 14:04:20 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7619
7620         * Makefile.am:
7621           build: Clean _stdint.h on "make distclean"
7622
7623 2011-07-13 14:02:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7624
7625         * omx/gstomxvideodec.c:
7626           omxvideodec: Fix typo
7627
7628 2011-07-13 13:59:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7629
7630         * omx/Makefile.am:
7631           omx: Dist gstomx.h
7632
7633 2011-07-13 12:46:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7634
7635         * omx/gstomxvideodec.c:
7636           omxvideodec: Set SYNCFRAME flag on the OMX buffers for non-delta units
7637
7638 2011-07-13 12:37:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7639
7640         * omx/gstomxvideodec.c:
7641           omxvideodec: Free all pending frames when resetting the decoder
7642           Workaround for https://bugzilla.gnome.org/show_bug.cgi?id=654529
7643
7644 2011-07-13 09:59:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7645
7646         * omx/gstomxvideodec.c:
7647           omxvideodec: Handle output buffers without a corresponding GstVideoFrame more gracefully
7648           This can happen on EOS in some cases and when the input is not
7649           properly framed.
7650
7651 2011-07-13 09:31:22 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7652
7653         * omx/gstomxvideodec.c:
7654           omxvideodec: Fix deadlock when finishing old frames that are left over by the decoder
7655
7656 2011-07-12 11:37:28 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7657
7658         * omx/gstomxh264dec.c:
7659           omxh264dec: It's called H.264, not H264
7660
7661 2011-07-12 11:36:42 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7662
7663         * omx/gstomxh264dec.c:
7664         * omx/gstomxmpeg4videodec.c:
7665         * omx/gstomxvideodec.c:
7666         * omx/gstomxvideodec.h:
7667           omxvideodec: Make sink/src pad template caps configurable
7668
7669 2011-07-12 11:13:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7670
7671         * omx/gstomx.c:
7672           omx: Allow to set a preferred configuration directory with the GST_OMX_CONFIG_DIR environment variable
7673
7674 2011-07-12 10:55:57 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7675
7676         * omx/gstomxh264dec.c:
7677         * omx/gstomxmpeg4videodec.c:
7678         * omx/gstomxvideodec.c:
7679           omxvideodec: Make core/component-name and in/outport index configurable
7680
7681 2011-07-12 10:05:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7682
7683         * omx/gstomx.c:
7684         * omx/gstomx.conf:
7685         * omx/gstomx.h:
7686           omx: Add initial version of configuration system
7687           This now only registers elements that are specified in the
7688           configuration file.
7689           The configuration file is a keyfile in the first XDG configuration
7690           directory with the name gstomx.conf.
7691
7692 2011-07-12 08:53:15 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7693
7694         * omx/Makefile.am:
7695         * omx/gstomx.c:
7696         * omx/gstomxh264dec.c:
7697         * omx/gstomxh264dec.h:
7698         * omx/gstomxh264videodec.h:
7699           omxh264dec: Rename from omxh264videodec to omxh264dec
7700
7701 2011-07-12 08:40:48 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7702
7703         * omx/gstomxh264videodec.c:
7704           omxh264videodec: Require alignment=au and stream-format={avc,bytestream}
7705
7706 2011-07-11 12:59:07 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7707
7708         * omx/gstbasevideodecoder.c:
7709           basevideodecoder: First inform subclass about resetting before resetting/freeing all internal state
7710           The subclass might want to access the old state.
7711
7712 2011-07-11 12:36:42 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7713
7714         * omx/gstbasevideodecoder.c:
7715           basevideodecoder: Track present position on discont before resetting it
7716
7717 2011-07-11 11:52:33 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7718
7719         * omx/gstbasevideodecoder.c:
7720           basevideodecoder: Also protect the list of pending frames from concurrent access when pushing all pendings events
7721
7722 2011-07-11 11:28:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7723
7724         * omx/gstbasevideocodec.c:
7725         * omx/gstbasevideocodec.h:
7726         * omx/gstbasevideodecoder.c:
7727           basevideocodec: Protect access to the list of pending frames with the object lock
7728           This is required if ::finish_frame() and all buffer output happens
7729           on a different thread than the sinkpad streaming thread.
7730
7731 2011-07-11 09:35:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7732
7733         * omx/gstbasevideodecoder.c:
7734           basevideodecoder: Set the correct lists to NULL after freeing
7735
7736 2011-07-11 08:54:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7737
7738         * omx/gstbasevideodecoder.c:
7739           basevideodecoder: Work with a copy of the GstVideoState in setcaps until the caps are accepted
7740           Also fix a refcount problem with the codec_data.
7741
7742 2011-07-12 08:34:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7743
7744         * omx/Makefile.am:
7745         * omx/gstomx.c:
7746         * omx/gstomxh264videodec.c:
7747         * omx/gstomxh264videodec.h:
7748           omxh264videodec: Add h.264 video decoder
7749
7750 2011-07-12 08:29:15 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7751
7752         * omx/gstomxmpeg4videodec.c:
7753           omxmpeg4videodec: Fix debug category name
7754
7755 2011-07-09 11:41:42 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7756
7757         * omx/Makefile.am:
7758         * omx/gstbasevideocodec.h:
7759         * omx/gstbasevideodecoder.c:
7760         * omx/gstbasevideoencoder.c:
7761         * omx/gstbasevideoutils.c:
7762         * omx/gstbasevideoutils.h:
7763           basevideo: Move the utils from the codec header to its own header
7764
7765 2011-07-09 11:32:06 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7766
7767         * omx/gstbasevideocodec.c:
7768         * omx/gstbasevideodecoder.c:
7769           basevideo: Use GSlice for allocating GstVideoFrame and don't duplicate code in the decoder base class
7770
7771 2011-07-09 11:05:37 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7772
7773         * omx/gstomxvideodec.c:
7774           omxvideodec: Use the destroy notify to free the coder_hook
7775
7776 2011-07-09 10:57:52 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7777
7778         * omx/gstbasevideocodec.c:
7779         * omx/gstbasevideocodec.h:
7780         * omx/gstbasevideodecoder.c:
7781           basevideo: Add destroy notify for the coder_hook to prevent memory leaks
7782           Fixes bug #654293.
7783
7784 2011-07-09 10:44:16 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7785
7786         * omx/Makefile.am:
7787           basevideo: Fix GType names to not conflict with the public video base classes
7788           It's still not possible to include headers of both in the same file
7789           or compile/link both into the same plugin but that shouldn't be
7790           necessary anyway.
7791
7792 2011-07-08 15:42:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7793
7794         * omx/gstomxvideodec.c:
7795           omxvideodec: Fix some minor memory leaks
7796
7797 2011-07-08 15:25:07 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7798
7799         * omx/gstomx.c:
7800         * omx/gstomx.h:
7801         * omx/gstomxvideodec.c:
7802           omx: Rework port reconfiguration
7803           We always reconfigure all ports now if the settings of one
7804           port changes to prevent lots of race conditions, dropped
7805           frames and similar issues.
7806
7807 2011-07-08 13:16:45 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7808
7809         * omx/gstomxvideodec.c:
7810         * omx/gstomxvideodec.h:
7811           omxvideodec: Use the frames storage of the base class instead of implementing our own
7812           They could get out of sync and we could store already destroyed frames.
7813
7814 2011-07-07 12:51:03 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7815
7816         * omx/gstomx.h:
7817           omx: Clarify GQueue/GPtrArray element types
7818
7819 2011-07-07 12:23:24 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7820
7821         * omx/gstomx.c:
7822         * omx/gstomx.h:
7823         * omx/gstomxvideodec.c:
7824           omx: Add more checks to acquire_buffer() and return the current state additional to the buffer
7825           Also refactor the code flow in the video decoder for this. This makes
7826           the usage of acquire_buffer() easier and more atomic.
7827
7828 2011-07-07 12:22:57 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7829
7830         * omx/gstomxvideodec.c:
7831           omxvideodec: Also flush/unflush the input port when changing the state PAUSED<->READY
7832
7833 2011-07-07 12:21:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7834
7835         * omx/gstomx.c:
7836           omx: Don't broadcast port->port_cond after allocating buffers successfully
7837           Allocating buffers must happen while no thread is waiting for the
7838           cond and especially must happen from the thread that would acquire
7839           buffers from the port.
7840
7841 2011-07-07 11:27:15 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7842
7843         * omx/gstomxvideodec.c:
7844           omxvideodec: Don't leak the codec_data after sending it
7845
7846 2011-07-07 10:27:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7847
7848         * omx/gstomx.c:
7849           omx: Always check if the component is in an error state before waiting for a condition variable to be signalled
7850           Otherwise we might wait forever because nothing is going to signal
7851           the condition variable anymore.
7852
7853 2011-07-07 10:22:12 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7854
7855         * omx/gstomx.c:
7856           omx: Always hold port->port_lock before signalling port->port_cond when notifying about errors
7857           Otherwise a port might be in the critical section, has checked the error state
7858           already but waits after port->port_cond is signalled, which will lead
7859           to a deadlock.
7860
7861 2011-07-07 10:07:43 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7862
7863         * omx/gstomxvideodec.c:
7864           omxvideodec: Remove reconfiguration test hack
7865
7866 2011-07-06 13:27:12 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7867
7868         * omx/gstomx.c:
7869           omx: Improve debug output a bit
7870
7871 2011-07-06 13:26:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7872
7873         * omx/gstomx.c:
7874           omx: Always try to deallocate buffers, even if there's a component error
7875
7876 2011-07-06 13:26:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7877
7878         * omx/gstomx.c:
7879           omx: Use G_USEC_PER_SEC for clarity instead of 1000000
7880
7881 2011-07-06 13:19:15 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7882
7883         * omx/gstomxvideodec.c:
7884           omxvideodec: Error out if the GStreamer allocated buffer is smaller than the OpenMAX output buffer
7885           Usually this must never happen but currently it happens during reconfigurations
7886           because of a race condition. Still it's better than crashing.
7887
7888 2011-07-06 10:40:13 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7889
7890         * omx/gstomx.c:
7891         * omx/gstomx.h:
7892           omx: Don't use port_def.bEnabled to check if the Enable/Disable command is finished
7893           bEnabled should be set immediately after sending the command, it's only
7894           Bellagio that waits until the command is finished before setting it.
7895
7896 2011-07-06 10:30:11 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7897
7898         * omx/gstomxvideodec.c:
7899           omxvideodec: Remove obsolete FIXME comment
7900
7901 2011-07-06 10:29:54 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7902
7903         * omx/gstomx.c:
7904         * omx/gstomx.h:
7905           omx: Improve error handling and reporting
7906
7907 2011-07-06 08:48:37 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7908
7909         * omx/gstomxmpeg4videodec.c:
7910         * omx/gstomxvideodec.c:
7911         * omx/gstomxvideodec.h:
7912           omxvideodec: Make the inport and outport index configurable by the subclass
7913
7914 2011-06-28 08:51:23 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7915
7916         * omx/Makefile.am:
7917         * omx/gstomx.c:
7918         * omx/gstomx.h:
7919         * omx/gstomxmpeg4videodec.c:
7920         * omx/gstomxmpeg4videodec.h:
7921         * omx/gstomxvideodec.c:
7922         * omx/gstomxvideodec.h:
7923           omx: Add initial version of OpenMAX framework, video decoder base class and MPEG4 video decoder
7924           This currently hardcodes a lot of stuff but works at least.
7925           Also adds a generic framework for handling OpenMAX cores, components
7926           and ports.
7927
7928 2011-06-28 11:47:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7929
7930         * omx/gstbasevideocodec.c:
7931         * omx/gstbasevideocodec.h:
7932         * omx/gstbasevideodecoder.c:
7933         * omx/gstbasevideodecoder.h:
7934           basevideodecoder: Don't reorder serialized src events
7935           And allow to drop EOS by the subclass if ::finish returns
7936           DROPPED.
7937           Fixes bug #653544.
7938
7939 2011-06-27 09:41:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7940
7941         * omx/gstbasevideocodec.c:
7942         * omx/gstbasevideocodec.h:
7943         * omx/gstbasevideodecoder.c:
7944           basevideo: Add the caps to the GstVideoState and clean up caps/codec_data properly
7945
7946 2011-06-27 09:37:03 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7947
7948         * omx/gstbasevideocodec.c:
7949         * omx/gstbasevideocodec.h:
7950         * omx/gstbasevideodecoder.c:
7951         * omx/gstbasevideodecoder.h:
7952         * omx/gstbasevideoencoder.c:
7953         * omx/gstbasevideoencoder.h:
7954         * omx/gstbasevideoutils.c:
7955           basevideo: Add video encoder/decoder base classes from gst-plugins-bad
7956
7957 2011-06-21 11:17:35 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
7958
7959         * omx/openmax/OMX_Audio.h:
7960         * omx/openmax/OMX_Component.h:
7961         * omx/openmax/OMX_ComponentExt.h:
7962         * omx/openmax/OMX_ContentPipe.h:
7963         * omx/openmax/OMX_Core.h:
7964         * omx/openmax/OMX_CoreExt.h:
7965         * omx/openmax/OMX_IVCommon.h:
7966         * omx/openmax/OMX_Image.h:
7967         * omx/openmax/OMX_Index.h:
7968         * omx/openmax/OMX_IndexExt.h:
7969         * omx/openmax/OMX_Other.h:
7970         * omx/openmax/OMX_Types.h:
7971         * omx/openmax/OMX_Video.h:
7972         * omx/openmax/OMX_VideoExt.h:
7973           openmax: Add OpenMAX IL 1.1.2 headers
7974