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