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