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