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