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