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