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