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