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