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