01d723c9cc900b85a0bb0be1879d96b12159fb33
[platform/upstream/gstreamer.git] / ChangeLog
1 === release 1.11.90 ===
2
3 2017-04-07  Sebastian Dröge <slomo@coaxion.net>
4
5         * configure.ac:
6           releasing 1.11.90
7
8 2017-04-07 14:27:23 +0300  Sebastian Dröge <sebastian@centricular.com>
9
10         * omx/gstomxvideoenc.c:
11           omxvideoenc: Fix compiler warning
12           gstomxvideoenc.c: In function ‘gst_omx_video_enc_fill_buffer’:
13           CC       libgstomx_la-gstomxaacdec.lo
14           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=]
15           GST_LOG_OBJECT (self, "Matched strides - direct copy %u bytes",
16           ^
17           outbuf->omx_buf->nFilledLen);
18           ~~~~~~~~~~~~~~~~~~
19
20 2017-03-22 17:18:09 +0530  Gurkirpal Singh <gurkirpal204@gmail.com>
21
22         * meson.build:
23           meson: fix logic to set HAVE_THEORA
24           https://bugzilla.gnome.org/show_bug.cgi?id=780392
25
26 2017-03-14 03:02:06 +1100  Jan Schmidt <thaytan@noraisin.net>
27
28         * omx/gstomxvideoenc.c:
29           omxvideoenc: Add an unimplemented mapping for RGBA formats
30           Add some pixel formats mappings for 2 RGBA formats. Not yet
31           implemented in the buffer input code though, so no effect for now.
32
33 2017-03-14 03:00:49 +1100  Jan Schmidt <thaytan@noraisin.net>
34
35         * omx/gstomx.c:
36         * omx/gstomx.h:
37         * omx/gstomxvideoenc.c:
38           omxvideoenc: Add GST_OMX_HACK_HEIGHT_MULTIPLE_16 for Rpi
39           The Raspberry Pi encoder produces corrupt output unless
40           the input height is a multiple of 16. Add a hack that adds
41           zero padding when needed.
42
43 2017-03-14 02:42:15 +1100  Jan Schmidt <thaytan@noraisin.net>
44
45         * omx/gstomxvideoenc.c:
46           omxvideoenc: Add a mapping for OMX_COLOR_FormatYUV420PackedSemiPlanar
47           The RaspberryPi
48
49 2017-03-14 02:40:24 +1100  Jan Schmidt <thaytan@noraisin.net>
50
51         * omx/gstomxvideoenc.c:
52           omxvideoenc: Filter out unimplemented formats
53           Don't announce pixel formats in the caps if they've not been
54           implemented.
55
56 2017-03-14 02:34:36 +1100  Jan Schmidt <thaytan@noraisin.net>
57
58         * omx/gstomxvideodec.c:
59           omxvideodec: demote ERROR message
60           There's no need to warn about failing to negotiate EGL output
61           - that can be perfectly normal.
62
63 2017-02-24 16:00:29 +0200  Sebastian Dröge <sebastian@centricular.com>
64
65         * meson.build:
66           meson: Update version
67
68 2017-02-24 15:38:17 +0200  Sebastian Dröge <sebastian@centricular.com>
69
70         * configure.ac:
71           Back to development
72
73 === release 1.11.2 ===
74
75 2017-02-24 15:10:17 +0200  Sebastian Dröge <sebastian@centricular.com>
76
77         * ChangeLog:
78         * NEWS:
79         * RELEASE:
80         * configure.ac:
81         * gst-omx.doap:
82           Release 1.11.2
83
84 2017-02-15 18:22:53 +0000  Tim-Philipp Müller <tim@centricular.com>
85
86         * Makefile.am:
87           meson: dist meson build files
88           Ship meson build files in tarballs, so people who use tarballs
89           in their builds can start playing with meson already.
90
91 2017-01-13 16:23:12 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
92
93         * omx/gstomxaacenc.c:
94           omxaacenc: let encoder know about incoming rate/channels
95           https://bugzilla.gnome.org/show_bug.cgi?id=777223
96
97 2017-01-18 02:43:44 +1100  Matthew Waters <matthew@centricular.com>
98
99         * config/bellagio/meson.build:
100         * config/meson.build:
101         * config/rpi/meson.build:
102         * examples/egl/meson.build:
103         * examples/meson.build:
104         * hooks/pre-commit.hook:
105         * meson.build:
106         * meson_options.txt:
107         * omx/meson.build:
108           build: add meson build definition
109           Currently only been tested on the RPi within gst-build.
110
111 2017-01-18 15:21:35 +1100  Matthew Waters <matthew@centricular.com>
112
113         * examples/egl/testegl.c:
114           examples/testegl: update for libgstgl changes
115
116 2017-01-12 16:33:09 +0200  Sebastian Dröge <sebastian@centricular.com>
117
118         * configure.ac:
119           Back to development
120
121 === release 1.11.1 ===
122
123 2017-01-12 16:26:55 +0200  Sebastian Dröge <sebastian@centricular.com>
124
125         * ChangeLog:
126         * NEWS:
127         * RELEASE:
128         * configure.ac:
129         * gst-omx.doap:
130           Release 1.11.1
131
132 2017-01-10 15:29:08 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
133
134         * omx/gstomxaudioenc.c:
135           omxaudioenc: set base class format instead of just source pad caps
136
137 2016-12-18 19:46:55 +0000  Graham Leggett <minfrin@sharp.fm>
138
139         * omx/gstomxaudiodec.c:
140         * omx/gstomxvideodec.c:
141           omx*dec: Flush before we stop the srcpad loop
142           Flushing could otherwise hang if output port queue of pending buffers was empty
143           https://bugzilla.gnome.org/show_bug.cgi?id=774654
144
145 2016-12-14 13:29:08 -0800  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
146
147         * omx/gstomx.c:
148           Fix broken build due to syntax error
149           Problem was introduced by 8716c23e2b0553db2982eb84c437f493c974385e
150
151 2016-12-12 11:12:48 +0000  Graham Leggett <minfrin@sharp.fm>
152
153         * omx/gstomx.c:
154           Prevent early EOS by resetting eos flag once GST_OMX_ACQUIRE_BUFFER_EOS is triggered
155           https://bugzilla.gnome.org/show_bug.cgi?id=774600
156
157 2016-12-12 11:09:15 +0000  Graham Leggett <minfrin@sharp.fm>
158
159         * omx/gstomx.c:
160           Add clear debug logging on all the paths out of gst_omx_port_acquire_buffer()
161           https://bugzilla.gnome.org/show_bug.cgi?id=774600
162
163 2016-12-01 18:23:50 +0100  George Kiagiadakis <george.kiagiadakis@collabora.com>
164
165         * config/rpi/gstomx.conf:
166         * omx/gstomx.c:
167         * omx/gstomx.h:
168           Add a signals-premature-eos hack for egl_render
169           egl_render seems to have a bug and signals EOS before it has finished
170           pushing out all data; this hack simply makes acquire_buffer() wait
171           a bit more before signalling EOS, in case egl_render decides to spit
172           out some more data.
173           https://bugzilla.gnome.org/show_bug.cgi?id=741856
174
175 2016-12-11 19:52:37 +0000  Graham Leggett <minfrin@sharp.fm>
176
177         * omx/gstomxvideo.c:
178           Add support for OMX_COLOR_FormatYUV420PackedSemiPlanar and OMX_COLOR_Format24bitBGR888
179           https://bugzilla.gnome.org/show_bug.cgi?id=775959
180
181 2016-12-03 08:20:46 +0100  Edward Hervey <bilboed@bilboed.com>
182
183         * common:
184           Automatic update of common submodule
185           From ac2f647 to 39ac2f5
186
187 2016-11-26 11:27:58 +0000  Tim-Philipp Müller <tim@centricular.com>
188
189         * .gitmodules:
190           common: use https protocol for common submodule
191           https://bugzilla.gnome.org/show_bug.cgi?id=775110
192
193 2016-11-25 23:56:06 +0200  Sebastian Dröge <sebastian@centricular.com>
194
195         * omx/gstomx.c:
196           omx: Fix compiler warning with latest clang
197           gstomx.c:1376:42: error: implicit conversion from enumeration type 'GstOMXAcquireBufferReturn' to different enumeration type 'OMX_ERRORTYPE'
198           (aka 'enum OMX_ERRORTYPE') [-Werror,-Wenum-conversion]
199           g_return_val_if_fail (!port->tunneled, GST_OMX_ACQUIRE_BUFFER_ERROR);
200           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
201           https://bugzilla.gnome.org/show_bug.cgi?id=775112
202
203 2016-11-17 19:56:35 +1100  Matthew Waters <matthew@centricular.com>
204
205         * omx/gstomxvideodec.c:
206           videodecoder: remove use of EGLImage orientation
207           New code should use GstVideoTransformationMeta
208           (The defaults do the right thing here though).
209
210 === release 1.11.0 ===
211
212 2016-11-01 18:53:25 +0200  Sebastian Dröge <sebastian@centricular.com>
213
214         * configure.ac:
215           Back to development
216
217 === release 1.10.0 ===
218
219 2016-11-01 18:20:48 +0200  Sebastian Dröge <sebastian@centricular.com>
220
221         * ChangeLog:
222         * NEWS:
223         * RELEASE:
224         * configure.ac:
225         * gst-omx.doap:
226           Release 1.10.0
227
228 === release 1.9.90 ===
229
230 2016-09-30 13:04:51 +0300  Sebastian Dröge <sebastian@centricular.com>
231
232         * ChangeLog:
233         * NEWS:
234         * RELEASE:
235         * common:
236         * configure.ac:
237         * gst-omx.doap:
238           Release 1.9.90
239
240 2016-09-14 11:33:13 +0200  Sebastian Dröge <sebastian@centricular.com>
241
242         * configure.ac:
243           configure: Depend on gstreamer 1.9.2.1
244
245 2016-09-12 14:09:46 +0200  Sebastian Dröge <sebastian@centricular.com>
246
247         * configure.ac:
248         * omx/gstomx.c:
249           omx: Also search for gstomx.conf in the autoconf --sysconfdir
250           https://bugzilla.gnome.org/show_bug.cgi?id=770743
251
252 2016-09-10 20:52:10 +1000  Jan Schmidt <jan@centricular.com>
253
254         * autogen.sh:
255         * common:
256           Automatic update of common submodule
257           From b18d820 to f980fd9
258
259 2016-09-10 09:58:16 +1000  Jan Schmidt <jan@centricular.com>
260
261         * autogen.sh:
262         * common:
263           Automatic update of common submodule
264           From ac2f647 to b18d820
265
266 2016-09-01 12:36:09 +0300  Sebastian Dröge <sebastian@centricular.com>
267
268         * configure.ac:
269           Back to development
270
271 === release 1.9.2 ===
272
273 2016-09-01 12:35:58 +0300  Sebastian Dröge <sebastian@centricular.com>
274
275         * ChangeLog:
276         * NEWS:
277         * RELEASE:
278         * common:
279         * configure.ac:
280         * gst-omx.doap:
281           Release 1.9.2
282
283 2016-07-11 21:15:48 +0200  Stefan Sauer <ensonic@users.sf.net>
284
285         * common:
286           Automatic update of common submodule
287           From ac2f647 to f49c55e
288
289 2016-07-06 13:51:24 +0300  Sebastian Dröge <sebastian@centricular.com>
290
291         * configure.ac:
292           Back to development
293
294 === release 1.9.1 ===
295
296 2016-07-06 13:48:45 +0300  Sebastian Dröge <sebastian@centricular.com>
297
298         * ChangeLog:
299         * NEWS:
300         * RELEASE:
301         * common:
302         * configure.ac:
303         * gst-omx.doap:
304           Release 1.9.1
305
306 2016-06-29 16:37:43 +0900  Kazunori Kobayashi <kkobayas@igel.co.jp>
307
308         * omx/gstomxvideodec.c:
309           omxvideodec: Use GST_VIDEO_FRAME_PLANE_STRIDE() to get output buffer's stride
310           GST_VIDEO_FRAME_PLANE_STRIDE() should be used to get the actual buffer stride,
311           as reported in the buffers's GstVideoMeta, when copying data to that buffer.
312           https://bugzilla.gnome.org/show_bug.cgi?id=768173
313
314 2016-06-21 11:48:40 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
315
316         * common:
317           Automatic update of common submodule
318           From ac2f647 to f363b32
319
320 2016-06-21 11:43:13 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
321
322         * omx/gstomxaudioenc.c:
323           omxaudioenc: implement GstPreset interface
324           To allow user to use GstPreset to quickly save and load a set of
325           parameters.
326           https://bugzilla.gnome.org/show_bug.cgi?id=767907
327
328 2016-06-21 11:41:15 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
329
330         * omx/gstomxvideoenc.c:
331           omxvideoenc: implement GstPreset interface
332           To allow user to use GstPreset to quickly save and load a set of
333           parameters.
334           https://bugzilla.gnome.org/show_bug.cgi?id=767907
335
336 2016-06-17 12:06:48 +0300  Sebastian Dröge <sebastian@centricular.com>
337
338         * configure.ac:
339         * omx/gstomx.h:
340         * omx/gstomxaudiodec.c:
341         * omx/gstomxaudioenc.c:
342         * omx/gstomxvideo.c:
343         * omx/gstomxvideodec.c:
344         * omx/gstomxvideoenc.c:
345           omx: #define OMX_SKIP64BIT on the RPi as required by their API
346           Also add generic support for OMX_SKIP64BIT to gst-omx, in case other
347           implementations also #define that for whatever reason.
348           https://bugzilla.gnome.org/show_bug.cgi?id=766475
349
350 2016-06-17 10:59:45 +0300  Sebastian Dröge <sebastian@centricular.com>
351
352         * omx/gstomxvideodec.c:
353           omxvideodec: Implement ::drain() virtual method
354           https://bugzilla.gnome.org/show_bug.cgi?id=767641
355
356 2016-06-04 19:31:45 +0100  Tim-Philipp Müller <tim@centricular.com>
357
358         * configure.ac:
359           configure: remove AG_GST_PARSE_SUBSYSTEM_DISABLES
360           This would check which subsystems are disabled in core by grepping
361           gstconfig.h. Only problem is: gstconfig.h has moved into libdir now
362           so we've been checking a non-existent file for a while now. The
363           macro would just sets GST_DISABLE_* for use in configure.ac and
364           Makefile.am, but we don't use that anywhere so just get rid of it
365           (the one place where we use GST_DISABLE_GST_DEBUG is in a .c file
366           which gets the define from the gstconfig.h include).
367           https://bugzilla.gnome.org/show_bug.cgi?id=750056
368
369 2016-01-20 03:10:38 +0900  Gwang Yoon Hwang <yoon@igalia.com>
370
371         * examples/egl/testegl.c:
372         * omx/gstomxvideodec.c:
373           omxvideodec : Use gstglmemoryegl for the RPi
374           Modified to use gstglmemoryegl to avoid texture creation/copy operations
375           at the glupload.
376           [Matthew Waters]: gst-indent the sources and port testegl to GstGLMemoryEGL
377           https://bugzilla.gnome.org/show_bug.cgi?id=760918
378
379 2016-04-14 10:04:32 +0100  Julien Isorce <j.isorce@samsung.com>
380
381         * common:
382           Automatic update of common submodule
383           From 6f2d209 to ac2f647
384
385 2016-02-26 12:42:41 +0200  Sebastian Dröge <sebastian@centricular.com>
386
387         * common:
388           Automatic update of common submodule
389           From b64f03f to 6f2d209
390
391 2016-02-17 20:51:03 +1100  Matthew Waters <matthew@centricular.com>
392
393         * examples/egl/testegl.c:
394           examples: update egl example for gstgl API changes
395           https://bugzilla.gnome.org/show_bug.cgi?id=762053
396           https://bugzilla.gnome.org/show_bug.cgi?id=753917
397
398 2016-02-05 18:11:06 -0300  Thiago Santos <thiagoss@osg.samsung.com>
399
400         * autogen.sh:
401         * common:
402           Automatic update of common submodule
403           From 86e4663 to b64f03f
404
405 2015-12-21 00:43:49 +0100  Koop Mast <kwm@rainbow-runner.nl>
406
407         * configure.ac:
408           configure: Make -Bsymbolic check work with clang.
409           Update the -Bsymbolic check with the version glib has. This version
410           works with clang.
411           https://bugzilla.gnome.org/show_bug.cgi?id=759713
412
413 2015-12-07 09:11:32 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
414
415         * autogen.sh:
416         * common:
417           Automatic update of common submodule
418           From b319909 to 86e4663
419
420 2015-11-18 13:00:28 +0000  Enrique Ocaña González <eocanha@igalia.com>
421
422         * omx/gstomx.c:
423           Remember the last_error after a failed set state call to avoid blocking the next get state call
424           gst_omx_video_dec_flush() blocks forever in
425           http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomxvideodec.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n2110
426           when the previous call to gst_omx_component_set_state() fails in
427           http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomx.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n827.
428           To mitigate that, I set "last_error" to true, so the code in
429           http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomx.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n862
430           exits early and doesn't block.
431           https://bugzilla.gnome.org/show_bug.cgi?id=758274
432
433 2015-11-18 12:59:59 +0000  Enrique Ocaña González <eocanha@igalia.com>
434
435         * omx/gstomxaudiodec.c:
436         * omx/gstomxaudioenc.c:
437         * omx/gstomxvideodec.c:
438         * omx/gstomxvideoenc.c:
439           Properly handle drain requests while flushing
440           Without this commit the decoder streaming thread stops without ever attending
441           the drain request, leaving the decoder input thread waiting forever.
442           https://bugzilla.gnome.org/show_bug.cgi?id=758274
443
444 2015-11-10 10:42:35 +0100  Nicolas Huet <nicolas.huet@parrot.com>
445
446         * omx/gstomx.c:
447           omx: fix hacks leak on class init
448
449 2015-10-21 14:37:13 +0100  Tim-Philipp Müller <tim@centricular.com>
450
451         * common:
452           Automatic update of common submodule
453           From b99800a to b319909
454
455 2015-10-21 14:28:41 +0300  Sebastian Dröge <sebastian@centricular.com>
456
457         * common:
458           Automatic update of common submodule
459           From 9aed1d7 to b99800a
460
461 2015-09-01 16:08:11 -0300  Thiago Santos <thiagoss@osg.samsung.com>
462
463         * omx/gstomxaacdec.c:
464           omxaacdec: Do not accept unknown layouts
465           It was defaulting to RAW when an unknown layout was received but
466           the caps template would actually forbid that on the caps query
467           or accept-caps anyway.
468
469 2015-09-01 08:59:54 -0300  Thiago Santos <thiagoss@osg.samsung.com>
470
471         * omx/gstomxaudiodec.c:
472           omxaudiodec: use default pad accept-caps handling
473           Instead of the audiodecoder one. The OMX audioo decoders have their
474           valid input in the template pad, so just check against that to
475           avoid doing a query downstream.
476
477 2015-08-28 12:57:33 -0300  Thiago Santos <thiagoss@osg.samsung.com>
478
479         * omx/gstomxvideodec.c:
480           omxvideodec: use default pad accept-caps handling
481           Instead of the videodecoder one. The OMX video decoders have their
482           valid input in the template pad, so just check against that to
483           avoid doing a query downstream.
484
485 2015-08-22 15:54:55 +0000  Graham Leggett <minfrin@sharp.fm>
486
487         * omx/gstomxvideoenc.c:
488           omxvideoenc: Add keyframe support for the Rpi, using OMX_IndexConfigBrcmVideoRequestIFrame
489           https://bugzilla.gnome.org/show_bug.cgi?id=753085
490
491 2015-08-20 17:20:50 +0900  Vineeth TM <vineeth.tm@samsung.com>
492
493         * examples/egl/testegl.c:
494           gst-omx: Fix memory leaks when context parse fails
495           When g_option_context_parse fails, context and error variables are not getting free'd
496           which results in memory leaks. Free'ing the same.
497           And replacing g_error_free with g_clear_error, which checks if the error being passed
498           is not NULL and sets the variable to NULL on free'ing.
499           https://bugzilla.gnome.org/show_bug.cgi?id=753865
500
501 2015-08-16 14:53:42 +0200  Philippe Normand <philn@igalia.com>
502
503         * omx/gstomxh264dec.c:
504           omxh264dec: implement is_format_change
505           The omxvideodecoder class only checks some of the caps parameters but if
506           other fields change such as h264 profile and/or level it wouldn't trigger a
507           reconfiguration.
508           https://bugzilla.gnome.org/show_bug.cgi?id=752376
509
510 2015-07-03 00:26:48 +0200  Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
511
512         * omx/gstomxvideodec.c:
513           omxvideodec: unref allocator after getting it from allocation query
514           Otherwise a reference will be leaked for each allocator. It only happens
515           when target platform is Raspberry Pi and when we have GL support.
516           https://bugzilla.gnome.org/show_bug.cgi?id=751867
517
518 2015-07-03 21:59:54 +0200  Stefan Sauer <ensonic@users.sf.net>
519
520         * common:
521           Automatic update of common submodule
522           From f74b2df to 9aed1d7
523
524 2015-06-16 17:50:14 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
525
526         * common:
527           Automatic update of common submodule
528           From 6015d26 to f74b2df
529
530 2015-06-09 11:30:49 +0200  Edward Hervey <bilboed@bilboed.com>
531
532         * common:
533           Automatic update of common submodule
534           From d9a3353 to 6015d26
535
536 2015-06-08 23:08:28 +0200  Stefan Sauer <ensonic@users.sf.net>
537
538         * common:
539           Automatic update of common submodule
540           From d37af32 to d9a3353
541
542 2015-06-07 23:07:22 +0200  Stefan Sauer <ensonic@users.sf.net>
543
544         * common:
545           Automatic update of common submodule
546           From 21ba2e5 to d37af32
547
548 2015-06-07 17:32:25 +0200  Stefan Sauer <ensonic@users.sf.net>
549
550         * common:
551           Automatic update of common submodule
552           From c408583 to 21ba2e5
553
554 2015-06-07 17:16:43 +0200  Stefan Sauer <ensonic@users.sf.net>
555
556         * autogen.sh:
557         * common:
558           Automatic update of common submodule
559           From c8fb372 to c408583
560
561 2015-05-19 18:21:40 +0300  Sebastian Dröge <sebastian@centricular.com>
562
563         * omx/gstomxaudiodec.c:
564         * omx/gstomxaudiodec.h:
565           omxaudiodec: Add an output adapter for chunking the output into codec frames
566           Otherwise the base class will be confused.
567           See https://bugzilla.gnome.org/show_bug.cgi?id=685730
568
569 2015-04-26 18:24:13 +0100  Tim-Philipp Müller <tim@centricular.com>
570
571         * Android.mk:
572         * omx/Makefile.am:
573           Remove obsolete Android build cruft
574           This is not needed any longer.
575
576 2015-04-22 10:40:22 +0200  Sebastian Dröge <sebastian@centricular.com>
577
578         * INSTALL:
579           Remove INSTALL file
580           autotools automatically generate this, and when using different versions
581           for autogen.sh there will always be changes to a file tracked by git.
582
583 2015-04-08 15:57:59 +0100  Tim-Philipp Müller <tim@centricular.com>
584
585         * .gitignore:
586         * Makefile.am:
587         * configure.ac:
588         * m4/Makefile.am:
589           Add m4 directory so aclocal doesn't complain in autogen.sh
590           Might come in handy, and these warnings seem to be
591           fatal in some environments.
592           You may need to git clean -x -d -f your tree before
593           git pulling/merging.
594
595 2015-04-07 22:25:57 +0100  Tim-Philipp Müller <tim@centricular.com>
596
597         * INSTALL:
598         * autogen.sh:
599           Update autogen.sh to latest version
600
601 2015-04-03 18:58:17 +0100  Tim-Philipp Müller <tim@centricular.com>
602
603         * common:
604           Automatic update of common submodule
605           From bc76a8b to c8fb372
606
607 2015-03-06 12:12:49 +0000  Luis de Bethencourt <luis.bg@samsung.com>
608
609         * omx/gstomxaacdec.c:
610           omxaudiodec: add comment explaining duplicate code path
611
612 2015-03-06 12:09:06 +0000  Luis de Bethencourt <luis.bg@samsung.com>
613
614         * omx/gstomxaacdec.c:
615           Revert "omxaudiodec: remove duplicate code path"
616           This reverts commit a8d26ff27a8b43f589424a59294f9057641b2a46.
617
618 2015-03-06 12:03:56 +0000  Luis de Bethencourt <luis.bg@samsung.com>
619
620         * omx/gstomx.c:
621           omx: handle both errors in the two steps of update_port_definition
622           Also consider potential errors in the _get_parameter() in the return of the
623           update_port_definition function.
624           CID #1287052
625
626 2015-03-06 10:57:53 +0000  Luis de Bethencourt <luis.bg@samsung.com>
627
628         * omx/gstomxaudioenc.c:
629           omxaudioenc: impossible if statement
630           ret is set to GST_STATE_CHANGE_SUCCESS and never touched, so it is impossible
631           for it to be anything else at the if check. Remove the if check.
632           CID #1287053
633
634 2015-03-06 10:54:43 +0000  Luis de Bethencourt <luis.bg@samsung.com>
635
636         * omx/gstomxaudiodec.c:
637           omxaudiodec: impossible if statement
638           ret is set to GST_STATE_CHANGE_SUCCESS and never touched, so it is impossible
639           for it to be anything else at the if check. Remove it.
640           CID #1287054
641
642 2015-03-06 10:50:30 +0000  Luis de Bethencourt <luis.bg@samsung.com>
643
644         * omx/gstomxaacdec.c:
645           omxaudiodec: remove duplicate code path
646
647 2014-12-19 11:19:55 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>
648
649         * omx/gstomx.c:
650           omx: call handle_messages() only once in acquire_buffer() to avoid potential deadlock
651           There is one rare case where calling handle_messages() more than once can cause a deadlock
652           in the video decoder element:
653           - sink pad thread starts the src pad task (gst_omx_video_dec_loop())
654           - _video_dec_loop() calls gst_omx_port_acquire_buffer() on dec_out_port
655           - blocks in gst_omx_component_wait_message() releasing comp->lock and comp->messages_lock
656           (initially, there are no buffers configured on that port, so it waits for OMX_EventPortSettingsChanged)
657           - the sink pad thread pushes a buffer to the decoder with gst_omx_port_release_buffer()
658           - _release_buffer() grabs comp->lock and sends the buffer to OMX, which consumes it immediately
659           - EmptyBufferDone gets called at this point, which signals _wait_message() to unblock
660           - the message from EmptyBufferDone is processed in gst_omx_component_handle_messages()
661           called from gst_omx_port_release_buffer()
662           - gst_omx_port_release_buffer releases comp->lock
663           - the src pad thread now gets to run, grabbing comp->lock while it exits from _wait_message()
664           - _acquire_buffer() calls the _handle_messages() on the next line after _wait_message(),
665           which does nothing (no pending messages)
666           - then it goes to "retry:" and calls _handle_messages() again, which also does nothing
667           (still no pending messages)
668           - scheduler switches to a videocore thread that calls EventHandler, informing us about the
669           OMX_EventPortSettingsChanged event that just arrived
670           - EventHandler graps comp->messages_lock, but not comp->lock, so it can run in parallel at
671           this point just fine.
672           - scheduler switches back to the src pad thread (which is in the middle of _acquire_buffer())
673           - the next _handle_messages() which is right before if (g_queue_is_empty (&port->pending_buffers))
674           processes the OMX_EventPortSettingsChanged
675           - the buffer queue is still empty, so that thread blocks again in _wait_message()
676           - the sink pad thread tries to acquire the next input port buffer
677           - _acquire_buffer() also blocks this thread in:
678           if (comp->pending_reconfigure_outports) { ... _wait_message() ... }
679           - DEADLOCK. gstreamer is waiting for omx to do something, omx waits for gstreamer to do something.
680           By removing those extra _handle_messages() calls, we can ensure that all the checks of
681           _acquire_buffer() will re-run. In the above case, after the scheduler switches back to
682           the middle of _acquire_buffer(), the code will enter _wait_message(), which will see that
683           there are pending messages and will return immediately, going back to "retry:" and
684           re-doing all the checks properly.
685           https://bugzilla.gnome.org/show_bug.cgi?id=741854
686
687 2015-02-26 09:27:44 +0900  Wonchul Lee <chul0812@gmail.com>
688
689         * omx/gstomx.c:
690           omx: cleanup code a bit to remove else statement
691           https://bugzilla.gnome.org/show_bug.cgi?id=745191
692
693 2015-01-12 16:13:35 +0100  Stefan Sauer <ensonic@users.sf.net>
694
695         * common:
696           Automatic update of common submodule
697           From f2c6b95 to bc76a8b
698
699 2014-12-18 10:56:15 +0100  Sebastian Dröge <sebastian@centricular.com>
700
701         * common:
702           Automatic update of common submodule
703           From ef1ffdc to f2c6b95
704
705 2014-11-27 17:12:42 +0100  Edward Hervey <bilboed@bilboed.com>
706
707         * common:
708           Automatic update of common submodule
709           From 7bb2bce to ef1ffdc
710
711 2014-11-13 09:55:02 +0900  Jun Ji <jun.ji@lge.com>
712
713         * omx/Makefile.am:
714         * omx/gstomx.c:
715         * omx/gstomxamrdec.c:
716         * omx/gstomxamrdec.h:
717           omx: Add omxamrdec
718           https://bugzilla.gnome.org/show_bug.cgi?id=739333
719
720 2014-10-27 18:00:50 +0100  Sebastian Dröge <sebastian@centricular.com>
721
722         * common:
723           Automatic update of common submodule
724           From 84d06cd to 7bb2bce
725
726 2014-10-21 13:03:44 +0100  Tim-Philipp Müller <tim@centricular.com>
727
728         * common:
729           Automatic update of common submodule
730           From a8c8939 to 84d06cd
731
732 2014-10-21 13:00:10 +0200  Stefan Sauer <ensonic@users.sf.net>
733
734         * common:
735           Automatic update of common submodule
736           From 1f5d3c3 to a8c8939
737
738 2014-09-30 10:47:20 +0300  Sebastian Dröge <sebastian@centricular.com>
739
740         * omx/gstomxaudiodec.c:
741           omxaudiodec: Clean up code a bit to get rid of useless NULL checks
742
743 2014-09-30 10:50:07 +0900  junji <jun.ji@lge.com>
744
745         * omx/gstomxaudiodec.c:
746           omxaudiodec: Unmap input buffers after usage
747           https://bugzilla.gnome.org/show_bug.cgi?id=736314
748
749 2014-08-31 20:30:13 +0000  Michal Lazo <michal.lazo@mdragon.org>
750
751         * omx/gstomxvideoenc.c:
752           omxvideoenc: Setup aspect ratio on RPi
753           Needs firmware from yesterday or newer to work with all possible
754           aspect ratios. Before that it only supported a fixed list.
755           https://bugzilla.gnome.org/show_bug.cgi?id=732533
756
757 2014-08-28 10:44:31 +0300  Sebastian Dröge <sebastian@centricular.com>
758
759         * omx/gstomxaudioenc.c:
760           omxaudioenc: Implement the hack flag GST_OMX_HACK_NO_COMPONENT_RECONFIGURE
761
762 2014-08-28 10:43:22 +0300  Sebastian Dröge <sebastian@centricular.com>
763
764         * omx/gstomxaudioenc.c:
765           omxaudioenc: Use the base class' open/close vfuncs instead of calling them ourselves
766
767 2014-08-26 22:13:53 -0500  Peng Liu <pengliu.mail@gmail.com>
768
769         * config/rpi/gstomx.conf:
770         * omx/gstomxvideoenc.c:
771           omxvideoenc: Implement the hack flag GST_OMX_HACK_NO_COMPONENT_RECONFIGURE
772           Fix a video encoder stall problem on RPi when changing the aspect ratio.
773           https://bugzilla.gnome.org/show_bug.cgi?id=732533
774
775 2014-08-14 17:36:11 +0300  Sebastian Dröge <sebastian@centricular.com>
776
777         * omx/gstomxaudiodec.c:
778         * omx/gstomxaudiodec.h:
779         * omx/gstomxaudioenc.c:
780         * omx/gstomxaudioenc.h:
781         * omx/gstomxvideodec.c:
782         * omx/gstomxvideodec.h:
783         * omx/gstomxvideoenc.c:
784         * omx/gstomxvideoenc.h:
785           omx: Let base classes handle EOS
786           https://bugzilla.gnome.org//show_bug.cgi?id=734774
787
788 2014-08-14 17:33:07 +0300  Sebastian Dröge <sebastian@centricular.com>
789
790         * omx/gstomxaudiodec.c:
791           omxaudiodec: Fix flushing logic and make it more similar to the video decoder
792
793 === release 1.2.0 ===
794
795 2014-07-23 11:28:12 +0200  Sebastian Dröge <sebastian@centricular.com>
796
797         * ChangeLog:
798         * NEWS:
799         * RELEASE:
800         * configure.ac:
801         * gst-omx.doap:
802         * omx/Makefile.am:
803           Release 1.2.0
804
805 2014-07-22 09:23:00 +0200  Sebastian Dröge <sebastian@centricular.com>
806
807         * config/bellagio/gstomx.conf:
808         * config/rpi/gstomx.conf:
809           config: Update ranks to PRIMARY+1 to have higher preference than avdec_*
810           See https://bugzilla.gnome.org/show_bug.cgi?id=732161
811
812 2014-07-20 17:46:30 +0200  Sebastian Dröge <sebastian@centricular.com>
813
814         * omx/gstomxaudiosink.c:
815           omxaudiosink: Set port to not flushing in prepare() and keep it at flushing in unprepare()
816           https://bugzilla.gnome.org/show_bug.cgi?id=733168
817
818 2014-07-13 22:15:18 +0200  Sebastian Dröge <sebastian@centricular.com>
819
820         * omx/gstomxaacdec.c:
821         * omx/gstomxaudiodec.c:
822         * omx/gstomxaudiodec.h:
823         * omx/gstomxmp3dec.c:
824           omxaudiodec: Implement setting of fallback channel positions
825
826 2014-07-13 18:22:39 +0200  Sebastian Dröge <sebastian@centricular.com>
827
828         * omx/Makefile.am:
829         * omx/gstomx.c:
830         * omx/gstomxaacdec.c:
831         * omx/gstomxaacdec.h:
832         * omx/gstomxmp3dec.c:
833           omx: Add AAC audio decoder
834
835 2014-07-02 09:22:28 +0200  Sebastian Dröge <sebastian@centricular.com>
836
837         * omx/gstomxaudiodec.c:
838           omxaudiodec: Get PCM parameters from the out port, not the in port
839
840 2014-05-15 13:24:39 +0200  Sebastian Dröge <sebastian@centricular.com>
841
842         * omx/gstomxaudiodec.c:
843           omxaudiodec: Implement hack for not disabling the output port after set_format until the output format is known
844           Needed on some OMX implementations, e.g. the one from Atmel. It does
845           not send the settings-changed event on the output port if it is
846           disabled.
847
848 2014-05-10 23:12:54 +0200  Sebastian Dröge <sebastian@centricular.com>
849
850         * omx/Makefile.am:
851         * omx/gstomx.c:
852         * omx/gstomxaudiodec.c:
853         * omx/gstomxaudiodec.h:
854         * omx/gstomxmp3dec.c:
855         * omx/gstomxmp3dec.h:
856           omx: Add audio decoder base class and a subclass for MP3
857
858 2014-07-01 09:38:01 +0200  Sebastian Dröge <sebastian@centricular.com>
859
860         * configure.ac:
861         * omx/Makefile.am:
862           omx: Link to gmodule-2.0-no-export for being able to use the g_module_*() API
863           https://bugzilla.gnome.org/show_bug.cgi?id=732518
864
865 2014-06-30 15:00:54 +0200  Sebastian Dröge <sebastian@centricular.com>
866
867         * examples/egl/testegl.c:
868           examples: #define GST_USE_UNSTABLE_API for libgstgl
869
870 2014-06-29 19:10:19 +0200  Sebastian Dröge <sebastian@centricular.com>
871
872         * omx/gstomxh264enc.c:
873         * omx/gstomxh264enc.h:
874           omxh264enc: Properly accumulate headers and push before the next frame
875           Fixes output of encoding on RPi, where each header buffer (SPS and PPS)
876           is in a separate OMX buffer.
877           https://bugzilla.gnome.org/show_bug.cgi?id=726669
878
879 2014-06-29 19:04:54 +0200  Sebastian Dröge <sebastian@centricular.com>
880
881         * omx/gstomxvideoenc.c:
882           omxvideoenc: Implement flush() instead of the deprecated reset()
883
884 2014-06-25 17:14:18 +0200  Sebastian Dröge <sebastian@centricular.com>
885
886         * config/rpi/gstomx.conf:
887           rpi: It's 44100Hz, not 41400Hz
888
889 2014-06-25 11:12:51 +0100  Julien Isorce <julien.isorce@collabora.co.uk>
890
891         * configure.ac:
892           configure.ac: require gstgl >= 1.3.3
893
894 2014-04-25 13:25:05 +0100  Julien Isorce <julien.isorce@collabora.co.uk>
895
896         * Makefile.am:
897         * configure.ac:
898           example: enable testegl
899           See https://bugzilla.gnome.org/show_bug.cgi?id=728940
900
901 2014-06-25 10:19:54 +0100  Julien Isorce <julien.isorce@collabora.co.uk>
902
903         * examples/egl/testegl.c:
904           testegl: do matrix mutlplication in the shader
905           See https://bugzilla.gnome.org/show_bug.cgi?id=728940
906
907 2014-06-25 09:36:38 +0100  Julien Isorce <julien.isorce@collabora.co.uk>
908
909         * examples/egl/testegl.c:
910           testegl: add a comment for the parse command
911           See https://bugzilla.gnome.org/show_bug.cgi?id=728940
912
913 2014-04-25 17:32:16 +0100  Julien Isorce <julien.isorce@collabora.co.uk>
914
915         * examples/egl/Makefile.am:
916         * examples/egl/cube_texture_and_coords.h:
917         * examples/egl/testegl.c:
918           testegl: convert code from GLESv1 to GLESv2
919           See https://bugzilla.gnome.org/show_bug.cgi?id=728940
920
921 2014-04-25 13:21:59 +0100  Julien Isorce <julien.isorce@collabora.co.uk>
922
923         * examples/egl/Makefile.am:
924         * examples/egl/testegl.c:
925           testegl: port to gstgl API
926           - append a glfilter just before fakesink
927           So that we get gltexture or eglimages
928           - propagate our EGLDisplay to the pipeline
929           see GST_QUERY_CONTEXT
930           - share our EGLContext with the iternal gl context
931           of the pipeline, see GST_QUERY_ALLOCATION
932           - use GstVideoGLTextureUploadMeta to upload
933           the incoming gltexture or eglimage to our gl texture
934           TODO: convert from GLESv1 to GLESv2
935           See https://bugzilla.gnome.org/show_bug.cgi?id=728940
936
937 2014-06-24 14:52:58 +0200  Sebastian Dröge <sebastian@centricular.com>
938
939         * omx/gstomxbufferpool.c:
940         * omx/gstomxbufferpool.h:
941         * omx/gstomxvideodec.c:
942           omxbufferpool: Copy buffers if the stride does not match and we can't use video meta
943           https://bugzilla.gnome.org/show_bug.cgi?id=731672
944
945 2014-06-24 14:52:43 +0200  Sebastian Dröge <sebastian@centricular.com>
946
947         * configure.ac:
948         * omx/gstomx.h:
949         * omx/gstomxvp8dec.h:
950           omx: Only include OMX_VideoExt.h conditionally
951           It does not exist on the RPi for example.
952
953 2014-06-24 13:59:44 +0200  Sebastian Dröge <sebastian@centricular.com>
954
955         * configure.ac:
956           configure.ac: Require GStreamer core/base >= 1.2.2
957           Needed at least for gst_video_decoder_release_frame().
958
959 2014-06-24 13:02:13 +0200  Sebastian Dröge <sebastian@centricular.com>
960
961         * omx/gstomxbufferpool.c:
962           omxbufferpool: Fix format string compiler warning
963
964 2014-06-22 21:11:45 +0000  Michal Lazo <xlazom00@gmail.com>
965
966         * omx/gstomxbufferpool.c:
967           omxbufferpool: Initialize debug category
968
969 2014-06-24 12:42:22 +0200  Sebastian Dröge <sebastian@centricular.com>
970
971         * omx/gstomxbufferpool.c:
972           omxbufferpool: Properly convert OMX alignment to GStreamer alignment
973           GStreamer uses a bitmask for the alignment while OMX uses the
974           alignment itself. Let's convert.
975           https://bugzilla.gnome.org/show_bug.cgi?id=710564
976
977 2014-06-24 11:11:28 +0200  Sebastian Dröge <sebastian@centricular.com>
978
979         * omx/gstomxh264enc.c:
980           omxh264enc: Don't let baseclass finish frames for SPS/PPS buffers
981           Otherwise we a) send them twice, and b) finish a frame for something
982           that does not even include a frame.
983           https://bugzilla.gnome.org/show_bug.cgi?id=726669
984
985 2014-06-24 10:22:37 +0200  Sebastian Dröge <sebastian@centricular.com>
986
987         * omx/gstomxvideo.h:
988           omxvideo: Include the separate headers too for compatibility with 1.0.x
989
990 2014-03-24 16:09:40 +0800  Zhao, Halley <halley.zhao@intel.com>
991
992         * configure.ac:
993         * omx/gstomxvp8dec.h:
994           omxvp8dec: use VP8 definition from OMX_VideoExt.h
995           https://bugzilla.gnome.org/show_bug.cgi?id=726957
996
997 2014-03-24 15:33:26 +0800  Zhao, Halley <halley.zhao@intel.com>
998
999         * configure.ac:
1000           configure: add --with-omx-header-path option for external omx headers
1001           https://bugzilla.gnome.org/show_bug.cgi?id=726957
1002
1003 2014-06-18 23:04:33 +0200  Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
1004
1005         * omx/gstomxvideodec.c:
1006           omxvideodec: fix a query leak
1007           Also add a debug message if query fails.
1008           https://bugzilla.gnome.org/show_bug.cgi?id=731898
1009
1010 2014-05-30 15:29:15 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
1011
1012         * omx/gstomxvideodec.c:
1013           omxvideodec: release frames with old PTS to avoid memory issue
1014           Interlaced stream could make the decoder use two input frames to produce
1015           one output frame causing the gstvideodecoder frame list to grow.
1016           Assuming the video decoder output frame in display order rather than in
1017           decoding order, this commit add a way to release frames with PTS less
1018           than current output frame.
1019           https://bugzilla.gnome.org/show_bug.cgi?id=730995
1020
1021 2013-06-27 21:59:29 +0900  Kazunori Kobayashi <kkobayas@igel.co.jp>
1022
1023         * omx/gstomx.c:
1024           omx: Fix a missing g_free() in error path
1025           This fixes a memory leak with g_strdup() when an error occurs.
1026           https://bugzilla.gnome.org/show_bug.cgi?id=731141
1027
1028 2014-06-02 15:34:09 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
1029
1030         * omx/gstomxvideodec.c:
1031           omxvideodec: add missing stream unlock in error path
1032
1033 2014-05-31 15:12:05 +0200  Sebastian Dröge <sebastian@centricular.com>
1034
1035         * omx/gstomx.c:
1036           omx: Don't handle disabling/enabling ports exactly like flushing
1037           Otherwise we might abort a flush operation in another thread when
1038           enabling/disabling ports, leading to deadlocks sometimes.
1039           https://bugzilla.gnome.org/show_bug.cgi?id=730989
1040
1041 2014-05-26 11:02:10 +0200  Sebastian Dröge <sebastian@centricular.com>
1042
1043         * omx/gstomxvideodec.c:
1044           omxvideodec: Don't leak buffer pool config in error cases
1045           CID 1216158
1046
1047 2014-05-21 10:53:43 +0200  Sebastian Dröge <sebastian@centricular.com>
1048
1049         * common:
1050           Automatic update of common submodule
1051           From 211fa5f to 1f5d3c3
1052
1053 2014-05-19 09:10:07 +0200  Sebastian Dröge <sebastian@centricular.com>
1054
1055         * omx/gstomxvideoenc.c:
1056           omxvideoenc: Don't forget to unref codec state
1057           CID 1214603
1058
1059 2014-05-19 09:08:33 +0200  Sebastian Dröge <sebastian@centricular.com>
1060
1061         * omx/gstomxvideodec.c:
1062           omxvideodec: Make output buffer pointer always initialized
1063           CID 1214605
1064
1065 2014-05-19 09:06:42 +0200  Sebastian Dröge <sebastian@centricular.com>
1066
1067         * omx/gstomxvideodec.c:
1068           omxvideodec: Check return value of gst_buffer_map()
1069           CID 1214599
1070
1071 2014-05-19 09:04:09 +0200  Sebastian Dröge <sebastian@centricular.com>
1072
1073         * omx/gstomxvideodec.c:
1074           omxvideodec: Check return value of gst_omx_port_set_enabled() for errors
1075           CID 1214589
1076
1077 2014-05-19 09:01:46 +0200  Sebastian Dröge <sebastian@centricular.com>
1078
1079         * omx/gstomxvideodec.c:
1080           omxvideodec: Check return values of buffer pool config parsing functions
1081           CID 1214588
1082
1083 2014-05-19 08:48:50 +0200  Sebastian Dröge <sebastian@centricular.com>
1084
1085         * omx/gstomx.c:
1086           omx: Remove dead code, buf can never be NULL here as we just check for that the line above
1087           CID 1214596
1088
1089 2014-05-19 08:47:36 +0200  Sebastian Dröge <sebastian@centricular.com>
1090
1091         * omx/gstomx.c:
1092           omx: Fix comparisons in gst_omx_state_to_string() case to actually make sense
1093           CID 1214593
1094
1095 2014-05-19 08:45:10 +0200  Sebastian Dröge <sebastian@centricular.com>
1096
1097         * omx/gstomx.c:
1098           omx: Make sure to compare the error codes as unsigned integers so that comparisons >2**31 actually work
1099           CID 1214592
1100
1101 2014-05-19 08:40:23 +0200  Sebastian Dröge <sebastian@centricular.com>
1102
1103         * omx/gstomx.c:
1104           omx: Fix comparisons in gst_omx_command_to_string() default cause to actually work
1105           CID 1214591
1106
1107 2014-05-15 13:22:56 +0200  Sebastian Dröge <sebastian@centricular.com>
1108
1109         * omx/gstomxaudioenc.c:
1110           omxaudioenc: Implement hack for not disabling the output port after set_format until the output format is known
1111           Needed on some OMX implementations, e.g. the one from Atmel. It does
1112           not send the settings-changed event on the output port if it is
1113           disabled.
1114
1115 2014-05-15 13:21:07 +0200  Sebastian Dröge <sebastian@centricular.com>
1116
1117         * omx/gstomxvideoenc.c:
1118           omxvideoenc: Implement hack for not disabling the output port after set_format until the output format is known
1119           Needed on some OMX implementations, e.g. the one from Atmel. It does
1120           not send the settings-changed event on the output port if it is
1121           disabled.
1122
1123 2014-05-15 10:58:34 +0200  Sebastian Dröge <sebastian@centricular.com>
1124
1125         * omx/gstomx.c:
1126         * omx/gstomx.h:
1127         * omx/gstomxvideodec.c:
1128           omx: Add a hack for not disabling the output port after set_format until the output format is known
1129           Needed on some OMX implementations, e.g. the one from Atmel. It does
1130           not send the settings-changed event on the output port if it is
1131           disabled.
1132
1133 2014-05-12 12:33:32 +0200  Josep Torra <n770galaxy@gmail.com>
1134
1135         * omx/gstomxaudiosink.c:
1136           omxaudiosink: implement _delay only in the RaspberryPI
1137           Make code implementation conditionally built for RaspberryPI because
1138           OMX_IndexConfigAudioRenderingLatency seems to be a Broadcom extension.
1139           On other targets the query position might not be accurate without
1140           implementing _delay appropriatelly.
1141
1142 2014-05-12 08:56:15 +0200  Sebastian Dröge <sebastian@centricular.com>
1143
1144         * omx/gstomxaudioenc.c:
1145           omxaudioenc: Correctly scale nTickCount by OMX_TICKS_PER_SECOND
1146
1147 2014-05-10 22:48:23 +0200  Sebastian Dröge <sebastian@centricular.com>
1148
1149         * omx/gstomxaudioenc.c:
1150           omxaudioenc: Drain encoder on NULL buffer and don't drain on flushing
1151
1152 2014-05-10 22:47:56 +0200  Sebastian Dröge <sebastian@centricular.com>
1153
1154         * omx/gstomxvideodec.c:
1155           omxvideodec: Set nTickCount based on the buffer's duration instead of something wrong
1156
1157 2014-05-10 22:47:21 +0200  Sebastian Dröge <sebastian@centricular.com>
1158
1159         * omx/gstomxvideoenc.c:
1160           omxvideoenc: Set nTickCount to the whole duration of the buffer instead of a wrong calculation
1161
1162 2014-05-10 22:46:51 +0200  Sebastian Dröge <sebastian@centricular.com>
1163
1164         * omx/gstomxaudiosink.c:
1165           omxaudiosink: Fix format string compiler warnings
1166
1167 2014-04-04 14:11:58 +0200  Josep Torra <n770galaxy@gmail.com>
1168
1169         * config/rpi/gstomx.conf:
1170         * omx/Makefile.am:
1171         * omx/gstomx.c:
1172         * omx/gstomxanalogaudiosink.c:
1173         * omx/gstomxanalogaudiosink.h:
1174         * omx/gstomxaudiosink.c:
1175         * omx/gstomxaudiosink.h:
1176         * omx/gstomxhdmiaudiosink.c:
1177         * omx/gstomxhdmiaudiosink.h:
1178           omxaudiosink: Implements OpenMAX based audio sinks
1179           Provides omxanalogaudiosink and omxhdmiaudiosink elements on
1180           the Raspberry PI.
1181           - omxanalogaudiosink is capable to render raw mono or stereo audio
1182           through the jack output.
1183           - omxhdmiaudiosink is capable to render raw audio up to 8 channels
1184           and transmit ac3/dts(IEC 61937) through the HDMI output.
1185           - sinks provide a clock derived from rendered samples
1186           - sinks support the GstStreamVolume interface by implementing
1187           the volume and mute properties.
1188           https://bugzilla.gnome.org/show_bug.cgi?id=728962
1189
1190 2014-05-03 10:17:35 +0200  Sebastian Dröge <sebastian@centricular.com>
1191
1192         * common:
1193           Automatic update of common submodule
1194           From bcb1518 to 211fa5f
1195
1196 2014-04-29 15:16:16 +0100  Julien Isorce <julien.isorce@collabora.co.uk>
1197
1198         * omx/gstomxvideodec.c:
1199           omxvideodec: can negotiate caps with memory:EGLImage feature when using EGLImage allocator
1200           Previously when using gst EGLImage allocator the caps was
1201           video/x-raw, format=RGBA instead of
1202           video/x-raw(memory:EGLImage), format=RGBA
1203           Kepp previous behavior in case negotiation fails with caps feature.
1204           It means it will still have a chance to use EGLImage even if the
1205           feature is not in the caps.
1206           https://bugzilla.gnome.org/show_bug.cgi?id=729196
1207
1208 2014-04-23 09:57:48 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
1209
1210         * omx/gstomxvp8dec.h:
1211           omxvp8dec: fix typo in GST_TYPE_OMX_VP8_DEC define
1212           https://bugzilla.gnome.org/show_bug.cgi?id=728774
1213
1214 2014-04-16 11:00:55 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
1215
1216         * omx/gstomxvideodec.c:
1217           omxvideodec: don't unref caps before logging field from it
1218           https://bugzilla.gnome.org/show_bug.cgi?id=728322
1219
1220 2014-04-15 17:30:13 +0100  Julien Isorce <julien.isorce@collabora.co.uk>
1221
1222         * Makefile.am:
1223         * configure.ac:
1224           example: disable testegl since libgstegl has been removed
1225           As decided in bug #703343
1226           Not compatible with the new libgstgl API.
1227           A portage has been started, attachment 272800.
1228           https://bugzilla.gnome.org/show_bug.cgi?id=703343
1229
1230 2014-04-15 17:11:08 +0100  Julien Isorce <julien.isorce@collabora.co.uk>
1231
1232         * omx/gstomxvideodec.c:
1233           omxvideodec: use new libgstgl API since libgstegl has been removed
1234           There is no point to retrieve a ref/unref type
1235           instead of an EGLDisplay directly. It's like for EGLImage.
1236           https://bugzilla.gnome.org/show_bug.cgi?id=703343
1237
1238 2014-04-15 17:06:38 +0100  Julien Isorce <julien.isorce@collabora.co.uk>
1239
1240         * configure.ac:
1241         * examples/Makefile.am:
1242         * omx/Makefile.am:
1243         * omx/gstomxvideodec.c:
1244           configure.ac: check for libgstgl since libgstegl has been removed
1245           https://bugzilla.gnome.org/show_bug.cgi?id=703343
1246
1247 2014-04-09 18:52:16 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
1248
1249         * omx/gstomxbufferpool.c:
1250         * omx/gstomxvideodec.c:
1251           omxvideodec: add support of more color format
1252           Add support for ABGR, ARGB, RGB16, BGR16, YUY2, UYVY, YVYU, GRAY8 and
1253           NV16 color format.
1254
1255 2014-04-09 18:51:57 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
1256
1257         * omx/gstomxvideodec.c:
1258           omxvideodec: simplify color format conversion in fill_buffer function
1259
1260 2014-04-09 18:51:41 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
1261
1262         * omx/gstomxbufferpool.c:
1263           omxbufferpool: make video stride and offset calculation easier
1264           It will be easier to support more color format.
1265
1266 2014-04-09 18:51:12 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>
1267
1268         * omx/gstomxvideo.c:
1269         * omx/gstomxvideo.h:
1270         * omx/gstomxvideodec.c:
1271           omx: add an helper to convert OMX color format to GStreamer color format
1272
1273 2014-03-10 17:43:50 +0100  Josep Torra <n770galaxy@gmail.com>
1274
1275         * examples/egl/testegl.c:
1276         * omx/gstomxvideodec.c:
1277           omxvideodec: Implement pipeline draining to support adaptive scenarios
1278           When draining due a format change also drain
1279           the pipeline to reclaim back all buffers.
1280           https://bugzilla.gnome.org/show_bug.cgi?id=726107
1281
1282 2014-03-27 13:57:32 +0100  Josep Torra <n770galaxy@gmail.com>
1283
1284         * examples/egl/testegl.c:
1285           examples: fix several memory leaks in the testegl example
1286           Ensure to call to image_data_free in order to release GPU resources.
1287           Also ensure to destroy EGLImage and GLTexture from proper
1288           thread/context.
1289           https://bugzilla.gnome.org/show_bug.cgi?id=726107
1290
1291 2014-03-25 17:16:31 +0000  Julien Isorce <julien.isorce@collabora.co.uk>
1292
1293         * examples/egl/testegl.c:
1294           examples: keep a ref on the buffer instead of the memory
1295           Like in eglglessink
1296           https://bugzilla.gnome.org/show_bug.cgi?id=726107
1297
1298 2014-03-07 20:08:05 +0100  Josep Torra <n770galaxy@gmail.com>
1299
1300         * omx/gstomxvideodec.c:
1301           omxvideodec: fixes race condition during seeks
1302           Acording 6.1.3 Seek Event Sequence in the OpenMAX IL 1.1.2 spec
1303           document in order to flush the component it needs to be in
1304           paused state.
1305           https://bugzilla.gnome.org/show_bug.cgi?id=726038
1306
1307 2014-01-29 18:31:26 +0000  Julien Isorce <julien.isorce@collabora.co.uk>
1308
1309         * omx/gstomxvideodec.c:
1310           omxvideodec: use flush because reset is deprecated
1311           https://bugzilla.gnome.org/show_bug.cgi?id=726038
1312
1313 2014-01-27 17:03:50 +0000  Julien Isorce <julien.isorce@collabora.co.uk>
1314
1315         * omx/gstomxvideodec.c:
1316           omxvideodec: populate the most downstream output port on reset
1317           Make seeking work when using egl_render component
1318           https://bugzilla.gnome.org/show_bug.cgi?id=726038
1319
1320 2014-03-24 17:49:59 +0100  Josep Torra <n770galaxy@gmail.com>
1321
1322         * omx/gstomxbufferpool.c:
1323           omxbufferpool: return buffers to the pool instead of freeing them
1324           We have to return the buffers back to the pool in when stopping to
1325           not mess with the GstBufferPool accounting.
1326           The OMX buffers will be freed when those won't be in charge of the
1327           pool in the chained up call to 'stop'.
1328           Fixes segfaults on finalize and pool not being properly deactivated.
1329           https://bugzilla.gnome.org/show_bug.cgi?id=726337
1330
1331 2014-03-19 12:12:49 +0100  Christian König <christian.koenig@amd.com>
1332
1333         * omx/gstomxvideodec.c:
1334           omxvideodec: add missing unlock in the error path
1335           Signed-off-by: Christian König <christian.koenig@amd.com>
1336           https://bugzilla.gnome.org/show_bug.cgi?id=726958
1337
1338 2014-03-18 23:36:59 +0100  Michal Lazo <xlazom00@gmail.com>
1339
1340         * omx/gstomxh264enc.c:
1341         * omx/gstomxh264enc.h:
1342           fix filemode
1343
1344 2014-03-17 09:57:11 +0000  Julien Isorce <julien.isorce@collabora.co.uk>
1345
1346         * omx/gstomxbufferpool.c:
1347           omxbufferpool: fix memory leak if used on output port
1348           When using GstOMXBufferPool on an output port, it internally uses
1349           a GPtrArray to manage the GstBuffers instead of the default queue
1350           from the GstBufferPool base class.
1351           In this case GstBufferPool::default_free_buffer is not called when
1352           the pool is stopped. Because the queue is empty. So explicitely
1353           call gst_omx_buffer_pool_free_buffer on each buffer contained in
1354           the GPtrArray.
1355           https://bugzilla.gnome.org/show_bug.cgi?id=726337
1356
1357 2014-03-16 17:32:05 +0100  Sebastian Dröge <sebastian@centricular.com>
1358
1359         * omx/gstomxh264enc.c:
1360           omxh264enc: Fix compiler warnings
1361
1362 2014-03-16 17:19:08 +0100  Michal Lazo <xlazom00@gmail.com>
1363
1364         * omx/gstomxh264enc.c:
1365         * omx/gstomxh264enc.h:
1366           omxh264enc: IDR interval, SPS and PPS headers for rpi
1367           https://bugzilla.gnome.org/show_bug.cgi?id=720031
1368
1369 2014-03-13 14:26:58 +0100  Christian König <christian.koenig@amd.com>
1370
1371         * omx/gstomx.c:
1372         * omx/gstomx.h:
1373         * omx/gstomxvideo.c:
1374           omxvideo: fix debug category initialisation
1375           https://bugzilla.gnome.org/show_bug.cgi?id=726024
1376
1377 2014-03-13 19:04:47 +0100  Christian König <christian.koenig@amd.com>
1378
1379         * omx/gstomxbufferpool.h:
1380           omxbufferpool: add proper type definitions
1381           https://bugzilla.gnome.org/show_bug.cgi?id=726325
1382
1383 2014-03-02 10:30:04 +0100  Christian König <christian.koenig@amd.com>
1384
1385         * omx/gstomx.c:
1386           omx: consolidate message waiting code
1387           Add a wait_message helper function and remove all those duplicated code.
1388           https://bugzilla.gnome.org/show_bug.cgi?id=725493
1389
1390 2014-03-12 12:48:12 +0100  Sebastian Dröge <sebastian@centricular.com>
1391
1392         * omx/gstomxvideo.c:
1393           omx: Copy old copyright notice into the new file
1394
1395 2014-03-12 12:47:34 +0100  Sebastian Dröge <sebastian@centricular.com>
1396
1397         * omx/gstomxvideo.c:
1398         * omx/gstomxvideo.h:
1399         * omx/gstomxvideodec.c:
1400         * omx/gstomxvideoenc.c:
1401           omx: Rename function from _4_ to _for_ for clarity
1402
1403 2014-03-03 16:15:24 +0100  Christian König <christian.koenig@amd.com>
1404
1405         * omx/Makefile.am:
1406         * omx/gstomxvideo.c:
1407         * omx/gstomxvideo.h:
1408         * omx/gstomxvideodec.c:
1409         * omx/gstomxvideoenc.c:
1410           omxvideo: start sharing more code between video decoder and encoder
1411           Identical functionality spread of two different components.
1412           We can't use a common base class because of different inheritance,
1413           but let's try to share the code anyway.
1414           https://bugzilla.gnome.org/show_bug.cgi?id=726024
1415
1416 2014-03-12 12:43:49 +0100  Sebastian Dröge <sebastian@centricular.com>
1417
1418         * examples/egl/Makefile.am:
1419           examples: Only build RPi EGL example if RPi was chosen as target
1420
1421 2014-03-12 12:42:23 +0100  Sebastian Dröge <sebastian@centricular.com>
1422
1423         * omx/gstomxbufferpool.h:
1424           omxbufferpool: Fix header include guard
1425
1426 2014-03-05 11:41:02 +0100  Christian König <christian.koenig@amd.com>
1427
1428         * omx/Makefile.am:
1429         * omx/gstomxbufferpool.c:
1430         * omx/gstomxbufferpool.h:
1431         * omx/gstomxvideodec.c:
1432           omxvideodec: separate the buffer pool from the decoder
1433           https://bugzilla.gnome.org/show_bug.cgi?id=726025
1434
1435 2014-03-04 17:41:20 +0100  Christian König <christian.koenig@amd.com>
1436
1437         * omx/gstomx.c:
1438         * omx/gstomx.h:
1439         * omx/gstomxvideodec.c:
1440           omx: simplify tunnel functions
1441           Specifying the component is error prone and unnecessary.
1442           https://bugzilla.gnome.org/show_bug.cgi?id=726021
1443
1444 2014-03-07 17:12:24 +0100  Christian König <christian.koenig@amd.com>
1445
1446         * omx/gstomxvideodec.c:
1447           omxvideodec: fix memory leak in gst_omx_video_dec_allocate_output_buffers
1448           https://bugzilla.gnome.org/show_bug.cgi?id=725907
1449
1450 2014-03-07 13:18:49 +0100  Christian König <christian.koenig@amd.com>
1451
1452         * omx/gstomxvideodec.c:
1453           omxvideodec: fix memory leak gst_omx_video_dec_negotiate
1454           https://bugzilla.gnome.org/show_bug.cgi?id=725907
1455
1456 2014-03-05 18:54:05 +0100  Christian König <christian.koenig@amd.com>
1457
1458         * omx/gstomxvideoenc.c:
1459           omxvideoenc: fix a memory leak in gst_omx_video_enc_getcaps
1460           https://bugzilla.gnome.org/show_bug.cgi?id=725826
1461
1462 2014-03-05 17:43:33 +0100  Josep Torra <n770galaxy@gmail.com>
1463
1464         * Makefile.am:
1465           Makefile.am: build examples
1466           There's no reason to not build the examples now that are ported to 1.x.
1467
1468 2014-03-05 17:25:09 +0100  Josep Torra <n770galaxy@gmail.com>
1469
1470         * examples/egl/testegl.c:
1471           examples: avoid a clashing name with the recently added GstEGLImagePool
1472           Fixes build with current master.
1473
1474 2013-09-05 03:41:10 -0600  Christian König <christian.koenig@amd.com>
1475
1476         * omx/gstomxvideoenc.c:
1477           omxvideoenc: simplify _find_nearest_frame
1478           Just the same as we did with the decoder. Also give the
1479           function a gst_omx_video_enc prefix to distinct it from
1480           the decoder function.
1481           https://bugzilla.gnome.org/show_bug.cgi?id=724236
1482
1483 2013-09-05 02:23:39 -0600  Christian König <christian.koenig@amd.com>
1484
1485         * omx/gstomxvideodec.c:
1486           omxvideodec: simplify _find_nearest_frame
1487           No need to make it more complicated and error prone than
1488           necessary. Also give the function a gst_omx_video_dec prefix
1489           to distinct it from the encoder function.
1490           https://bugzilla.gnome.org/show_bug.cgi?id=724236
1491
1492 2013-09-05 02:05:52 -0600  Christian König <christian.koenig@amd.com>
1493
1494         * omx/gstomxvideodec.c:
1495           omxvideodec: remove dead code
1496           This code doesn't seems to be used for quite a while,
1497           remove it before it starts to rot.
1498           https://bugzilla.gnome.org/show_bug.cgi?id=724236
1499
1500 2014-03-01 22:28:24 +0100  Christian König <christian.koenig@amd.com>
1501
1502         * omx/gstomx.c:
1503           omx: fix two serious message handling bugs
1504           Waiting for the next message if we already got one
1505           is nonsense and can lead to lockups.
1506           https://bugzilla.gnome.org/show_bug.cgi?id=725468
1507
1508 2014-03-01 18:49:41 +0100  Christian König <christian.koenig@amd.com>
1509
1510         * omx/gstomxvideoenc.c:
1511           omxvideoenc: fix startup race condition
1512           The reset function shouldn't start the src pad
1513           loop if it wasn't started before.
1514           Signed-off-by: Christian König <christian.koenig@amd.com>
1515
1516 2014-03-01 18:48:17 +0100  Christian König <christian.koenig@amd.com>
1517
1518         * omx/gstomxvideodec.c:
1519           omxvideodec: fix startup race condition
1520           The reset function shouldn't start the src pad
1521           loop if it wasn't started before.
1522           Signed-off-by: Christian König <christian.koenig@amd.com>
1523
1524 2014-02-28 09:36:13 +0100  Sebastian Dröge <sebastian@centricular.com>
1525
1526         * common:
1527           Automatic update of common submodule
1528           From fe1672e to bcb1518
1529
1530 2014-02-26 22:15:00 +0100  Stefan Sauer <ensonic@users.sf.net>
1531
1532         * common:
1533           Automatic update of common submodule
1534           From 1a07da9 to fe1672e
1535
1536 2014-01-30 10:45:18 +0100  Edward Hervey <bilboed@bilboed.com>
1537
1538         * common:
1539           Automatic update of common submodule
1540           From d48bed3 to 1a07da9
1541
1542 2014-01-25 17:44:14 +0100  Sebastian Dröge <sebastian@centricular.com>
1543
1544         * omx/gstomxaudioenc.c:
1545         * omx/gstomxvideodec.c:
1546         * omx/gstomxvideoenc.c:
1547           omx: Don't handle FLUSHING and NOT_LINKED as errors
1548           Also don't stop the task on NOT_LINKED. We're not a demuxer.
1549
1550 2013-12-22 22:35:31 +0000  Tim-Philipp Müller <tim@centricular.com>
1551
1552         * common:
1553           Automatic update of common submodule
1554           From dbedaa0 to d48bed3
1555
1556 2013-11-05 11:22:02 +0000  Tim-Philipp Müller <tim@centricular.com>
1557
1558         * common:
1559           Automatic update of common submodule
1560           From 865aa20 to dbedaa0
1561
1562 2013-09-28 13:32:37 +0200  Josep Torra <n770galaxy@gmail.com>
1563
1564         * examples/egl/testegl.c:
1565           examples: simplify the thread synchronization code
1566           Make everithing more simple and fix the races conditions remaining in
1567           the previous approaches.
1568
1569 2013-09-25 19:17:17 +0200  Sebastian Dröge <slomo@circular-chaos.org>
1570
1571         * config/rpi/gstomx.conf:
1572           rpi: The WMV/VC1 decoder can only do WMV9 and VC1, no older versions
1573
1574 2013-09-24 18:34:42 +0100  Tim-Philipp Müller <tim@centricular.net>
1575
1576         * common:
1577           Automatic update of common submodule
1578           From 6b03ba7 to 865aa20
1579
1580 2013-09-24 18:48:24 +0200  Josep Torra <n770galaxy@gmail.com>
1581
1582         * examples/egl/testegl.c:
1583           examples: fix another race condition
1584           Fix a race condition that caused randome deadlocks on EOS.
1585
1586 2013-09-20 17:19:53 +0200  Josep Torra <n770galaxy@gmail.com>
1587
1588         * config/rpi/gstomx.conf:
1589           rpi: fix a copy paste error in the config file
1590
1591 2013-09-20 17:09:52 +0200  Josep Torra <n770galaxy@gmail.com>
1592
1593         * examples/egl/testegl.c:
1594           examples: fix a race condition when seeking
1595           Fixes a race condition that caused pipeline deadlock during seeks.
1596
1597 2013-09-20 10:38:12 +0200  Josep Torra <n770galaxy@gmail.com>
1598
1599         * examples/egl/testegl.c:
1600           examples: display QoS statistics
1601
1602 2013-09-20 09:34:37 +0200  Josep Torra <n770galaxy@gmail.com>
1603
1604         * examples/egl/testegl.c:
1605           examples: use dedicated thread for rendering the scene
1606           Produces smother animation and prevents dropping frames due busy
1607           mainloop.
1608
1609 2013-09-20 08:25:21 +0200  Josep Torra <n770galaxy@gmail.com>
1610
1611         * examples/egl/testegl.c:
1612           examples: don't force an specific audio sink
1613           Let playbin2 choose the audiosink available in the system.
1614
1615 2013-09-20 08:19:48 +0200  Josep Torra <n770galaxy@gmail.com>
1616
1617         * examples/egl/Makefile.am:
1618           examples: drop remnants of initial appsink attempt
1619
1620 2013-09-20 16:18:18 +0200  Edward Hervey <edward@collabora.com>
1621
1622         * common:
1623           Automatic update of common submodule
1624           From b613661 to 6b03ba7
1625
1626 2013-09-19 18:45:36 +0100  Tim-Philipp Müller <tim@centricular.net>
1627
1628         * common:
1629           Automatic update of common submodule
1630           From 74a6857 to b613661
1631
1632 2013-09-19 17:38:30 +0100  Tim-Philipp Müller <tim@centricular.net>
1633
1634         * common:
1635           Automatic update of common submodule
1636           From 01a7a46 to 74a6857
1637
1638 2013-08-20 16:00:07 +0100  Tim-Philipp Müller <tim@centricular.net>
1639
1640         * omx/gstomx.c:
1641         * omx/gstomxvideodec.c:
1642           omx: don't use the 'z' modifier to print size_t
1643           gcc will warn in some cases even if the size of the type
1644           is exactly that of size_t on the platform.
1645           https://bugzilla.gnome.org/show_bug.cgi?id=699008
1646
1647 2013-07-01 15:48:47 +0200  Roman Arutyunyan <arutyunyan.roman@gmail.com>
1648
1649         * omx/gstomxvideoenc.c:
1650           gstomxvideoenc: Set bitrate in setcaps
1651           Otherwise it gets lost whenever we configure new caps
1652           https://bugzilla.gnome.org/show_bug.cgi?id=698049
1653
1654 2013-06-30 18:17:05 +0700  Ilya Smelykh <ilya@videoexpertsgroup.com>
1655
1656         * examples/egl/testegl.c:
1657           examples: enable audio in testegl example
1658
1659 2013-06-12 09:38:22 +0200  Sebastian Dröge <slomo@circular-chaos.org>
1660
1661         * configure.ac:
1662           configure: Allow build without gstreamer-egl
1663
1664 2013-06-07 12:39:18 +0700  Ilya Smelykh <ilya@videoexpertsgroup.com>
1665
1666         * examples/egl/Makefile.am:
1667         * examples/egl/testegl.c:
1668           examples: testegl example port to 1.x
1669           https://bugzilla.gnome.org/show_bug.cgi?id=701706
1670
1671 2013-06-05 15:17:16 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1672
1673         * common:
1674           Automatic update of common submodule
1675           From 098c0d7 to 01a7a46
1676
1677 2013-05-20 12:06:34 +0200  Josep Torra <n770galaxy@gmail.com>
1678
1679         * omx/gstomxaudioenc.c:
1680         * omx/gstomxvideodec.c:
1681         * omx/gstomxvideoenc.c:
1682           omx: Take lock on EOS to update the flow return value
1683           Fixes "GThread-ERROR **: file gthread-posix.c: line 171
1684           (g_mutex_free_posix_impl): error 'Device or resource busy' during
1685           'pthread_mutex_destroy ((pthread_mutex_t *) mutex)'" in _finalize.
1686
1687 2013-05-15 10:54:12 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1688
1689         * common:
1690           Automatic update of common submodule
1691           From 5edcd85 to 098c0d7
1692
1693 2013-04-11 17:35:19 +0200  Josep Torra <n770galaxy@gmail.com>
1694
1695         * Makefile.am:
1696         * configure.ac:
1697         * examples/Makefile.am:
1698         * examples/egl/Makefile.am:
1699         * examples/egl/cube_texture_and_coords.h:
1700         * examples/egl/testegl.c:
1701           examples: add an example aplication based OpenGL ES + EGL
1702           Application that shows how to integrate playbin with an OpenGL ES
1703           scene through EGL. Renders a video on the surfaces of an animated cube.
1704           The code is not ported to 1.x so it's not built by default.
1705
1706 2013-05-10 12:25:07 +0200  Josep Torra <n770galaxy@gmail.com>
1707
1708         * omx/gstomxvideodec.c:
1709           omxvideodec: Redesign video size change reconfiguration code
1710           Ensure stop the decoder before clossing the tunnel.
1711
1712 2013-05-06 16:25:27 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1713
1714         * Makefile.am:
1715           Makefile.am: Add -I common/m4
1716           This allows autoreconf to work correctly and automatic regeneration
1717           of autotools files if something changed.
1718
1719 2013-05-06 19:03:59 +0530  jitendra <jvarshney20@gmail.com>
1720
1721         * omx/gstomx.c:
1722         * omx/gstomx.h:
1723         * omx/gstomxaudioenc.c:
1724         * omx/gstomxvideodec.c:
1725         * omx/gstomxvideoenc.c:
1726           omx: Add pads based on element type
1727           This allows to later add sources and sink that only have a srcpad
1728           or sinkpad.
1729           https://bugzilla.gnome.org/show_bug.cgi?id=699754
1730
1731 2013-04-27 02:50:25 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>
1732
1733         * omx/gstomx.c:
1734           omx: fixed type error in printf call
1735           %zu expects size_t
1736           https://bugzilla.gnome.org/show_bug.cgi?id=699008
1737
1738 2013-04-08 17:26:16 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
1739
1740         * configure.ac:
1741         * omx/Makefile.am:
1742         * omx/gstomxvideodec.c:
1743           Check for gstreamer-egl
1744           And don't use if not available.
1745           https://bugzilla.gnome.org/show_bug.cgi?id=697574
1746
1747 2013-04-23 09:53:18 +0100  Tim-Philipp Müller <tim@centricular.net>
1748
1749         * configure.ac:
1750           configure: error out if no OMX target has been set explicitly with --with-omx-target=x
1751           Avoids people building for e.g. the Raspberry Pi and then wondering
1752           why things don't work as expected (since structs are packed differently
1753           there).
1754
1755 2013-04-22 23:55:03 +0100  Tim-Philipp Müller <tim@centricular.net>
1756
1757         * common:
1758           Automatic update of common submodule
1759           From 3cb3d3c to 5edcd85
1760
1761 2013-04-18 22:07:28 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
1762
1763         * omx/gstomx.c:
1764         * omx/gstomxaudioenc.c:
1765         * omx/gstomxh263enc.c:
1766         * omx/gstomxh264enc.c:
1767         * omx/gstomxmpeg4videoenc.c:
1768         * omx/gstomxvideodec.c:
1769         * omx/gstomxvideoenc.c:
1770           omx: more printf format fixes
1771           Fix printf formats again, so that gst-omx compiles warning-
1772           free on the Raspberry Pi as well. Unfortunately OMX_UINT32
1773           maybe be typedefed to uint32_t or unsigned long, which
1774           doesn't work well with our debugging printf format strings,
1775           so just use %u for those and cast to guint.
1776
1777 2013-04-18 16:40:06 +0200  Josep Torra <n770galaxy@gmail.com>
1778
1779         * omx/gstomx.c:
1780           omx: fixes unused variable 'comp' when GStreamer is built without debug
1781
1782 2013-04-18 16:03:56 +0200  Josep Torra <n770galaxy@gmail.com>
1783
1784         * omx/gstomxvideodec.c:
1785           omxvideodec: don't use 'self->dec_out_port' anymore and use just 'port'
1786           Fixes some criticals.
1787
1788 2013-04-18 15:21:32 +0200  Josep Torra <n770galaxy@gmail.com>
1789
1790         * omx/gstomxvideodec.c:
1791           omxvideodec: fixes 'port' may be used uninitialized in this function
1792
1793 2013-04-18 12:03:31 +0200  Josep Torra <n770galaxy@gmail.com>
1794
1795         * omx/gstomxvideodec.c:
1796           omxvideodec: silence warnings building for RPI related to 'vcos_*'
1797
1798 2013-04-18 11:19:52 +0200  Josep Torra <n770galaxy@gmail.com>
1799
1800         * omx/gstomxvideodec.c:
1801           omxvideodec: Use new type from libgstvideo
1802
1803 2013-04-16 14:50:49 +0530  jitendra <jvarshney20@gmail.com>
1804
1805         * omx/gstomxaudioenc.c:
1806         * omx/gstomxvideodec.c:
1807         * omx/gstomxvideoenc.c:
1808           omx: Disable output port before transition to idle state
1809           https://bugzilla.gnome.org/show_bug.cgi?id=698109
1810
1811 2012-10-24 12:19:41 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1812
1813         * configure.ac:
1814           gst: Add better support for static plugins
1815
1816 2013-04-14 17:57:34 +0100  Tim-Philipp Müller <tim@centricular.net>
1817
1818         * common:
1819           Automatic update of common submodule
1820           From aed87ae to 3cb3d3c
1821
1822 2013-04-12 17:58:30 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
1823
1824         * configure.ac:
1825           configure: add --disable-fatal-warnings for disabling -Werror
1826
1827 2013-04-09 21:02:09 +0200  Stefan Sauer <ensonic@users.sf.net>
1828
1829         * common:
1830           Automatic update of common submodule
1831           From 04c7a1e to aed87ae
1832
1833 2013-04-08 17:02:32 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
1834
1835         * omx/gstomx.c:
1836         * omx/gstomxaudioenc.c:
1837         * omx/gstomxh263enc.c:
1838         * omx/gstomxh264enc.c:
1839         * omx/gstomxmpeg4videoenc.c:
1840         * omx/gstomxvideodec.c:
1841         * omx/gstomxvideoenc.c:
1842           omx: fix printf formats in debug messages
1843           OMX_U32 is typedefed to an unsigned long,
1844           OMX_TICKS to a 64-bit integer.
1845
1846 2013-04-08 16:52:19 +0200  Josep Torra <n770galaxy@gmail.com>
1847
1848         * omx/gstomxvideodec.c:
1849           omxvideodec: use the correct printf format in a debug message
1850
1851 2013-04-08 16:31:33 +0200  Josep Torra <n770galaxy@gmail.com>
1852
1853         * omx/gstomxvideodec.c:
1854           omxvideodec: use the correct OMX_IndexParam value
1855           Fixes playback is not smooth in the EGL path.
1856
1857 2013-04-05 13:45:24 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1858
1859         * omx/gstomxvideodec.c:
1860           omxvideodec: Don't use API that is not in master yet
1861           It's not really needed here yet, will be needed in future versions
1862
1863 2013-02-25 11:55:04 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1864
1865         * configure.ac:
1866         * omx/Makefile.am:
1867         * omx/gstomx.c:
1868         * omx/gstomx.h:
1869         * omx/gstomxvideodec.c:
1870         * omx/gstomxvideodec.h:
1871           omxvideodec: Add support for egl_render on RPi
1872
1873 2013-03-22 19:26:54 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
1874
1875         * configure.ac:
1876           Back to development
1877
1878 2013-03-22 19:23:14 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
1879
1880         * omx/gstomxh263enc.c:
1881         * omx/gstomxh264enc.c:
1882         * omx/gstomxmpeg4videoenc.c:
1883           omx: fix compiler warnings when compiling with -DG_DISABLE_ASSERT
1884           As we do for releases. Fixes 'variable may be used uninitialized'
1885           warnings.
1886
1887 === release 1.0.0 ===
1888
1889 2013-03-22 17:16:33 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1890
1891         * AUTHORS:
1892         * ChangeLog:
1893         * Makefile.am:
1894         * NEWS:
1895         * RELEASE:
1896         * configure.ac:
1897         * gst-omx.doap:
1898           Release 1.0.0
1899
1900 2013-03-19 16:40:09 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
1901
1902         * omx/gstomxtheoradec.h:
1903         * omx/gstomxvp8dec.h:
1904           omx: fix typo in copyright headers
1905
1906 2013-03-19 13:46:33 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1907
1908         * config/rpi/gstomx.conf:
1909           rpi: Fix commit that added the VC1 decoder
1910
1911 2013-03-19 13:27:35 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1912
1913         * config/rpi/gstomx.conf:
1914         * omx/gstomxh263dec.c:
1915         * omx/gstomxh264dec.c:
1916         * omx/gstomxmjpegdec.c:
1917         * omx/gstomxmpeg2videodec.c:
1918         * omx/gstomxmpeg4videodec.c:
1919         * omx/gstomxtheoradec.c:
1920         * omx/gstomxvideodec.c:
1921         * omx/gstomxvp8dec.c:
1922         * omx/gstomxwmvdec.c:
1923           omx: Add more constraints to the default sink template caps
1924
1925 2013-03-19 13:10:39 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1926
1927         * config/rpi/gstomx.conf:
1928           rpi: Add VC1/WMV3 decoder
1929           WMV2 and WMV1 (aka WMV 1-8) are not supported by RPi.
1930
1931 2013-03-19 12:59:20 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1932
1933         * config/rpi/gstomx.conf:
1934           rpi: Add MJPEG decoder
1935
1936 2013-03-19 12:56:50 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1937
1938         * config/rpi/gstomx.conf:
1939           rpi: Add VP8 decoder
1940
1941 2013-03-19 12:55:09 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1942
1943         * omx/gstomxvideodec.c:
1944           omxvideodec: Set ENDOFFRAME flag for the end of frames
1945
1946 2013-03-19 12:28:50 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1947
1948         * config/rpi/gstomx.conf:
1949           rpi: Add Theora decoder to the config
1950
1951 2013-03-19 09:36:18 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1952
1953         * configure.ac:
1954         * omx/Makefile.am:
1955         * omx/gstomx.c:
1956         * omx/gstomxtheoradec.c:
1957         * omx/gstomxtheoradec.h:
1958           omx: Add Theora decoder
1959
1960 2013-03-18 16:43:24 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1961
1962         * omx/gstomx.c:
1963           omx: Remove additional comma
1964
1965 2013-03-18 16:34:21 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1966
1967         * config/rpi/gstomx.conf:
1968         * omx/Makefile.am:
1969         * omx/gstomx.c:
1970         * omx/gstomxmpeg2dec.h:
1971         * omx/gstomxmpeg2videodec.c:
1972         * omx/gstomxmpeg2videodec.h:
1973           omx: Rename MPEG2 decoder for consistency everywhere
1974
1975 2013-03-18 16:30:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1976
1977         * omx/Makefile.am:
1978         * omx/gstomx.c:
1979         * omx/gstomxmjpegdec.c:
1980         * omx/gstomxmjpegdec.h:
1981           omx: Add MJPEG decoder support
1982
1983 2013-03-18 16:06:54 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1984
1985         * configure.ac:
1986         * omx/Makefile.am:
1987         * omx/gstomx.c:
1988         * omx/gstomxvp8dec.c:
1989         * omx/gstomxvp8dec.h:
1990           omx: Add VP8 decoder support
1991
1992 2013-03-18 15:44:23 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1993
1994         * config/rpi/gstomx.conf:
1995           rpi: Add h263 decoder and rename MPEG2 decoder for consistency
1996
1997 2013-03-16 13:20:27 +0000  Tim-Philipp Müller <tim@centricular.net>
1998
1999         * omx/gstomxmpeg2dec.c:
2000           omxmpeg2dec: mpeg-2 decoder should be able to handle mpeg-1 too
2001           https://bugzilla.gnome.org/show_bug.cgi?id=695879
2002
2003 2013-03-16 10:13:06 +0100  Josep Torra <n770galaxy@gmail.com>
2004
2005         * omx/gstomx.c:
2006           omx: minor stylistic change for consistency with other similar code
2007
2008 2013-03-16 10:00:24 +0100  Josep Torra <n770galaxy@gmail.com>
2009
2010         * omx/gstomxaudioenc.c:
2011         * omx/gstomxvideodec.c:
2012         * omx/gstomxvideoenc.c:
2013           omx: Clarify that loop task is also paused in EOS
2014
2015 2013-03-16 09:59:01 +0100  Josep Torra <n770galaxy@gmail.com>
2016
2017         * omx/gstomxvideoenc.c:
2018           omxvideoenec: Don't forget propagate flow return value upstream
2019
2020 2013-03-15 13:16:39 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
2021
2022         * omx/gstomx.c:
2023           omx: improve debug logging some more
2024
2025 2013-03-15 14:09:45 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2026
2027         * omx/gstomxvideodec.c:
2028           omxvideodec: Make sure that the first frame we pass to OpenMAX is a sync frame
2029
2030 2013-03-15 11:46:34 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2031
2032         * omx/gstomxaudioenc.c:
2033         * omx/gstomxvideodec.c:
2034         * omx/gstomxvideoenc.c:
2035           omx: Stop output port task after draining
2036
2037 2013-03-15 10:58:58 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2038
2039         * omx/gstomx.c:
2040           omx: Reset EOS flag in more places
2041
2042 2013-03-15 10:38:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2043
2044         * omx/gstomxvideodec.c:
2045           omxvideodec: Deallocate output buffers with the right function
2046
2047 2013-03-15 01:06:05 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
2048
2049         * omx/gstomx.c:
2050         * omx/gstomx.h:
2051           omx: log commands as strings
2052           Makes logs easier to read.
2053
2054 2013-03-15 00:47:47 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
2055
2056         * omx/gstomx.c:
2057         * omx/gstomx.h:
2058           omx: log states as strings
2059
2060 2013-03-15 00:28:02 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
2061
2062         * omx/gstomx.c:
2063         * omx/gstomx.h:
2064           omx: log component name in debug messages
2065           Useful when we have more different components
2066           active at the same time.
2067
2068 2013-03-15 09:51:42 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2069
2070         * omx/gstomxvideodec.c:
2071           omxvideodec: Don't interpolate timestamps
2072           We will get exactly one frame per input buffer and assigning
2073           timestamps between frames if more than one OMX buffer is required
2074           per frame easily confuses timestamp tracking in OMX.
2075
2076 2013-03-15 09:32:42 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2077
2078         * omx/gstomxvideodec.c:
2079           omxvideodec: Give the codec_data the timestamp of the first frame and no duration
2080
2081 2013-03-14 17:31:17 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2082
2083         * config/rpi/gstomx.conf:
2084           omx: The MPEG4 encoder is not available on RPi and probably never will
2085
2086 2013-03-14 17:26:30 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2087
2088         * omx/gstomx.c:
2089           omx: Reset some more buffer fields as required
2090
2091 2013-03-14 17:01:08 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2092
2093         * config/rpi/gstomx.conf:
2094         * omx/gstomx.c:
2095           omx: The hack to disable usage of EOS buffers is not necessary anymore on RPi
2096
2097 2013-03-14 17:00:12 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2098
2099         * omx/gstomx.c:
2100           omx: Reset the flags for output ports when releasing a buffer, not for input ports
2101
2102 2013-03-14 15:03:02 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2103
2104         * omx/gstomxh263enc.c:
2105         * omx/gstomxh264enc.c:
2106         * omx/gstomxmpeg4videoenc.c:
2107           omx: Only unref caps after usage of its fields
2108
2109 2013-03-14 14:51:32 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2110
2111         * omx/gstomxvideodec.c:
2112           omxvideodec: Simplify bufferpool implementation
2113
2114 2013-03-13 13:23:35 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2115
2116         * omx/gstomxvideodec.c:
2117           omxvideodec: Improve min/max buffer counts handling
2118
2119 2013-03-14 12:49:42 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2120
2121         * omx/gstomx.c:
2122         * omx/gstomx.h:
2123         * omx/gstomxaudioenc.c:
2124         * omx/gstomxvideodec.c:
2125         * omx/gstomxvideoenc.c:
2126           omx: Handle the OMX_EventBufferFlag to detect EOS too
2127
2128 2013-03-13 10:29:23 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2129
2130         * omx/gstomx.c:
2131         * omx/gstomx.h:
2132           omx: Mark OpenMAX buffers as EGLImage if they contain one
2133           Needs special handling in some places, e.g. because nFilledLen
2134           will always be 0.
2135
2136 2013-03-13 10:21:49 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2137
2138         * omx/gstomxvideoenc.c:
2139           omxvideoenc: Properly check the nVersion field
2140
2141 2013-03-13 09:34:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2142
2143         * omx/gstomxvideoenc.c:
2144           omxvideoenc: RPi returns garbage for OMX_IndexParamVideoBitrate, work around that
2145
2146 2013-03-12 20:02:53 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2147
2148         * omx/gstomxvideodec.c:
2149           omxvideodec: Make sure to always get the right buffer
2150
2151 2013-03-12 19:35:39 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2152
2153         * omx/gstomxvideodec.c:
2154           omxvideodec: Make sure the buffer is released to the pool if it's not the one we wanted
2155
2156 2013-03-12 19:17:08 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2157
2158         * omx/gstomxvideodec.c:
2159           omxvideodec: Drop too late frames instead of finishing them
2160
2161 2013-03-12 19:16:46 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2162
2163         * omx/gstomxvideodec.c:
2164           omx: Release buffers to the correct port
2165
2166 2013-03-13 09:37:02 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2167
2168         * omx/gstomx.c:
2169           omx: Always load the OpenMAX IL cores with G_MODULE_BIND_LOCAL
2170
2171 2013-03-12 18:20:22 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2172
2173         * omx/gstomx.c:
2174           omx: Lazy-load symbols of libbcm_host.so
2175           It exports eglIntOpenMAXILDoneMarker(), which is also
2176           exported by libopenmaxil.so... but we need the version
2177           from libopenmaxil.so as the other one is just a stub.
2178
2179 2013-03-11 13:59:15 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2180
2181         * omx/gstomxaacenc.c:
2182         * omx/gstomxh263enc.c:
2183         * omx/gstomxmpeg4videoenc.c:
2184           omx: Don't set profile/level in other encoders if downstream caps don't specify any
2185
2186 2013-03-11 13:49:38 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2187
2188         * omx/gstomxh264enc.c:
2189           omxh264enc: If caps specify no profile/level use the component's defaults
2190
2191 2013-03-11 13:45:04 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2192
2193         * omx/gstomxvideoenc.c:
2194           omxvideoenc: Always allocate output buffers from the loop function
2195
2196 2013-03-11 13:12:57 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2197
2198         * omx/gstomxh264enc.c:
2199           omxh264enc: The h264 encoders are supposed to output byte-stream/au
2200
2201 2013-03-11 11:47:42 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2202
2203         * omx/gstomxvideoenc.c:
2204           omxvideoenc: Wait until the Executing state is reached before passing buffers to the component
2205
2206 2013-03-11 10:39:25 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2207
2208         * omx/gstomxvideodec.c:
2209           omxvideodec: Don't provide buffers to downstream
2210           This only works reliable if we have a way to tell downstream to
2211           release all our buffers for reconfiguration.
2212
2213 2013-03-11 10:29:44 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2214
2215         * omx/gstomxaudioenc.c:
2216           omxaudioenc: Disable output port when setting a new format
2217
2218 2013-03-11 10:29:30 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2219
2220         * omx/gstomxvideoenc.c:
2221           omxvideoenc: Disable output port when setting a new format
2222
2223 2013-03-11 10:22:07 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2224
2225         * omx/gstomxvideodec.c:
2226           omxvideodec: Disable output port when setting a new format
2227           Based on a patch by Josep Torra <n770galaxy@gmail.com>
2228
2229 2013-03-11 10:04:10 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2230
2231         * omx/gstomxaudioenc.c:
2232         * omx/gstomxvideodec.c:
2233         * omx/gstomxvideoenc.c:
2234           omx: Catch errors when releasing buffers to a port and handle them
2235
2236 2013-03-10 12:09:23 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2237
2238         * omx/gstomxvideoenc.c:
2239           omxvideoenc: Use the correct video codec state when filling an input buffer
2240
2241 2013-03-10 12:05:50 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2242
2243         * omx/gstomxvideoenc.c:
2244           omxvideoenc: Store correct input state
2245
2246 2013-03-10 11:27:34 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2247
2248         * omx/gstomxvideoenc.c:
2249           omxvideoenc: Allocate output buffers as early as possible
2250
2251 2013-03-10 11:01:57 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2252
2253         * omx/gstomx.c:
2254           omx: Log unknown events
2255
2256 2013-03-09 14:14:40 +0100  Josep Torra <n770galaxy@gmail.com>
2257
2258         * omx/gstomxaudioenc.c:
2259         * omx/gstomxvideodec.c:
2260         * omx/gstomxvideoenc.c:
2261           omx: Fix deadlock in encoders and add explainatory comments.
2262
2263 2013-03-09 13:27:08 +0100  Josep Torra <n770galaxy@gmail.com>
2264
2265         * omx/gstomxvideodec.c:
2266           omxvideodec: fix printf format identifier
2267
2268 2013-03-09 13:07:59 +0100  Josep Torra <n770galaxy@gmail.com>
2269
2270         * omx/gstomxvideodec.c:
2271           omx: Minor changes on debuging info
2272
2273 2013-03-09 13:00:33 +0100  Josep Torra <n770galaxy@gmail.com>
2274
2275         * omx/gstomxvideodec.c:
2276           omxvideodec: avoid a deadlock
2277
2278 2013-03-08 15:56:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2279
2280         * omx/gstomxvideodec.c:
2281           omxvideodec: Don't forget to populate output port
2282
2283 2013-03-08 15:11:27 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2284
2285         * omx/gstomxaudioenc.c:
2286         * omx/gstomxvideodec.c:
2287         * omx/gstomxvideoenc.c:
2288           omx: Flush and stop srcpad when configuring new caps
2289
2290 2013-03-07 17:40:21 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2291
2292         * config/rpi/gstomx.conf:
2293         * omx/gstomx.c:
2294           Revert "omx: use no-component-reconfigure hack on the Raspberry PI"
2295           This reverts commit e123b2089f69a413241f30a2428ea6edd8f231e7.
2296           It's not required anymore after the fix from the last commit.
2297
2298 2013-03-07 17:38:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2299
2300         * omx/gstomxvideodec.c:
2301           omxvideodec: Only negotiate a color format with downstream on the initial caps
2302
2303 2013-03-07 17:29:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2304
2305         * omx/gstomxvideodec.c:
2306           omxvideodec: Make sure the output port is disabled while we allocate buffers
2307
2308 2013-03-07 17:27:05 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2309
2310         * omx/gstomx.c:
2311           omx: Also wait for disabled output ports to be reconfigured
2312
2313 2013-03-07 14:10:12 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2314
2315         * omx/gstomxvideodec.c:
2316         * omx/gstomxvideodec.h:
2317           omxvideodec: Add buffer pool for sharing OpenMAX memory with downstream
2318
2319 2013-03-07 11:11:58 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2320
2321         * omx/gstomx.c:
2322         * omx/gstomx.h:
2323         * omx/gstomxaudioenc.c:
2324         * omx/gstomxvideodec.c:
2325         * omx/gstomxvideoenc.c:
2326           omx: Add timeout to the flush operation and move buffer populating to a separate function
2327
2328 2013-03-06 17:33:23 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2329
2330         * config/rpi/gstomx.conf:
2331         * omx/gstomx.c:
2332         * omx/gstomx.h:
2333           omx: Remove min buffer count hack for RPi again
2334           It's not necessary anymore
2335
2336 2013-03-06 17:05:51 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2337
2338         * omx/gstomx.c:
2339         * omx/gstomx.h:
2340         * omx/gstomxaudioenc.c:
2341         * omx/gstomxvideodec.c:
2342         * omx/gstomxvideoenc.c:
2343           omx: Do number of buffers configuration explicitely
2344
2345 2013-03-07 11:24:54 +0100  Josep Torra <n770galaxy@gmail.com>
2346
2347         * omx/gstomxvideodec.c:
2348           omxvideodec: fixes reconfiguration
2349           Avoid having fixed fields from previous caps on reconfiguration.
2350
2351 2013-03-07 11:02:39 +0100  Josep Torra <n770galaxy@gmail.com>
2352
2353         * config/rpi/gstomx.conf:
2354         * omx/gstomx.c:
2355           omx: use no-component-reconfigure hack on the Raspberry PI
2356
2357 2013-03-07 00:03:28 +0000  Tim-Philipp Müller <tim@centricular.net>
2358
2359         * common:
2360           Automatic update of common submodule
2361           From 2de221c to 04c7a1e
2362
2363 2013-03-01 15:32:47 +0100  Josep Torra <n770galaxy@gmail.com>
2364
2365         * omx/gstomxvideoenc.h:
2366           omxvideoenc: drop unused data member
2367
2368 2013-03-01 12:23:54 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2369
2370         * omx/gstomxh263enc.c:
2371         * omx/gstomxh264enc.c:
2372         * omx/gstomxmpeg4videoenc.c:
2373           omxvideoenc: And set it actually on the right port
2374
2375 2013-03-01 12:18:08 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2376
2377         * omx/gstomxh263enc.c:
2378         * omx/gstomxh264enc.c:
2379         * omx/gstomxmpeg4videoenc.c:
2380           omxvideoenc: Set the coding type in the subclasses to the specific codec
2381
2382 2013-03-01 11:49:53 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2383
2384         * omx/gstomxvideoenc.c:
2385           omxvideoenc: gst_omx_port_update_port_definition() returns a OMX_ERRORTYPE, not a gboolean
2386
2387 2013-03-01 11:44:17 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2388
2389         * omx/gstomxvideodec.c:
2390         * omx/gstomxvideoenc.c:
2391           omxvideo{dec,enc}: Don't use the input state if it wasn't set yet
2392
2393 2013-03-01 11:25:04 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2394
2395         * omx/gstomxaudioenc.c:
2396           omxaudioenc: Only enable the output port after we know the output format
2397
2398 2013-03-01 11:24:56 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2399
2400         * omx/gstomxvideoenc.c:
2401           omxvideoenc: Only enable the output port after we know the output format
2402
2403 2013-02-28 17:02:31 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2404
2405         * omx/gstomxvideodec.c:
2406           omxvideodec: Only enable the output port after we know the output format
2407
2408 2013-03-01 11:18:18 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2409
2410         * omx/gstomx.c:
2411         * omx/gstomx.h:
2412           omx: Handle errors more gracefully
2413
2414 2013-02-28 15:48:53 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2415
2416         * omx/gstomx.c:
2417         * omx/gstomx.h:
2418         * omx/gstomxaudioenc.c:
2419         * omx/gstomxh263dec.c:
2420         * omx/gstomxh264dec.c:
2421         * omx/gstomxmpeg2dec.c:
2422         * omx/gstomxmpeg4videodec.c:
2423         * omx/gstomxvideodec.c:
2424         * omx/gstomxwmvdec.c:
2425           omx: Return the OMX_ERRORTYPE from gst_omx_port_update_port_definition
2426
2427 2013-02-28 15:37:53 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2428
2429         * omx/gstomx.c:
2430           omx: Return port definition update errors
2431
2432 2013-02-28 13:57:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2433
2434         * config/rpi/gstomx.conf:
2435         * omx/gstomx.c:
2436         * omx/gstomx.h:
2437           omx: Add hack for RPi for the minimum number of buffers required for a port
2438           The value in the port definition is invalid and the initial actual
2439           buffer count should be used.
2440
2441 2013-02-28 13:26:56 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2442
2443         * omx/gstomx.c:
2444           omx: Always tell the component about the right number of buffers that we're going to allocate
2445
2446 2013-02-28 13:07:58 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2447
2448         * omx/gstomx.c:
2449           omx: Invert assertion to let it express what was intended
2450
2451 2013-02-28 11:19:07 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2452
2453         * omx/gstomx.c:
2454         * omx/gstomx.h:
2455         * omx/gstomxaudioenc.c:
2456         * omx/gstomxvideodec.c:
2457         * omx/gstomxvideoenc.c:
2458           omx: Add API for allocating a specific number of buffers and using EGLImages or buffers allocated elsewhere
2459
2460 2013-02-27 16:55:16 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2461
2462         * omx/gstomxaudioenc.c:
2463         * omx/gstomxvideodec.c:
2464         * omx/gstomxvideoenc.c:
2465           omx: Refactor code flow a bit if output port settings have changed
2466
2467 2013-02-27 15:49:56 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2468
2469         * omx/gstomx.c:
2470         * omx/gstomx.h:
2471         * omx/gstomxaudioenc.c:
2472         * omx/gstomxvideodec.c:
2473         * omx/gstomxvideoenc.c:
2474           omx: Clean up port settings change handling
2475
2476 2013-02-27 11:30:14 +0100  Josep Torra <n770galaxy@gmail.com>
2477
2478         * omx/gstomxvideodec.c:
2479           omxvideodec: initialize param structure before using it
2480
2481 2013-02-27 10:21:39 +0100  Josep Torra <n770galaxy@gmail.com>
2482
2483         * omx/gstomxvideoenc.c:
2484           omxvideoenc: prevent a NULL pointer access
2485
2486 2013-02-26 17:25:49 +0100  Josep Torra <n770galaxy@gmail.com>
2487
2488         * omx/gstomxvideodec.c:
2489           omxvideodec: prevent a NULL pointer access
2490
2491 2013-02-25 13:11:16 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2492
2493         * omx/gstomx.c:
2494           omx: Fix deadlock during reconfiguration
2495
2496 2013-02-25 12:38:27 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2497
2498         * omx/gstomx.c:
2499         * omx/gstomxaudioenc.c:
2500         * omx/gstomxvideodec.c:
2501         * omx/gstomxvideoenc.c:
2502           omx: Auto-detect the port indizes if possible
2503
2504 2013-02-25 11:42:38 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2505
2506         * omx/gstomxvideodec.c:
2507         * omx/gstomxvideoenc.c:
2508           omx: Refactor querying of component supported caps into its own function
2509
2510 2013-02-25 10:41:12 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2511
2512         * omx/gstomx.c:
2513         * omx/gstomx.h:
2514         * omx/gstomxaudioenc.c:
2515         * omx/gstomxvideodec.c:
2516         * omx/gstomxvideoenc.c:
2517           omx: Refactor waiting for buffers to be released by the component to a separate function
2518
2519 2013-01-11 17:44:13 +0000  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2520
2521         * omx/gstomx.c:
2522         * omx/gstomx.h:
2523           omx: Add methods to set up and close a tunnel between components
2524
2525 2013-02-25 09:15:53 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2526
2527         * omx/gstomxaacenc.c:
2528         * omx/gstomxaudioenc.c:
2529         * omx/gstomxaudioenc.h:
2530           omxaudioenc: Rename component variable
2531
2532 2013-02-25 09:15:46 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2533
2534         * omx/gstomxh263enc.c:
2535         * omx/gstomxh264enc.c:
2536         * omx/gstomxmpeg4videoenc.c:
2537         * omx/gstomxvideoenc.c:
2538         * omx/gstomxvideoenc.h:
2539           omxvideoenc: Rename component variable
2540
2541 2013-02-25 09:12:22 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2542
2543         * omx/gstomxvideodec.c:
2544         * omx/gstomxvideodec.h:
2545           omxvideodec: Rename component variable
2546
2547 2013-02-22 16:27:33 +0100  Josep Torra <n770galaxy@gmail.com>
2548
2549         * omx/gstomxvideoenc.c:
2550           omxvideoenc: remove duplicated line
2551
2552 2013-02-22 10:42:08 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2553
2554         * omx/gstomx.c:
2555           Retry loading libbcm_host.so without an absolute path if that failed
2556
2557 2013-02-21 20:32:42 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2558
2559         * config/bellagio/Makefile.am:
2560           Add missing file from last commit
2561
2562 2013-02-21 11:01:28 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2563
2564         * config/Makefile.am:
2565         * config/bellagio/gstomx.conf:
2566         * configure.ac:
2567         * omx/Makefile.am:
2568           Add OpenMAX IL target for Bellagio
2569           Not tested since a very long time though.
2570
2571 2013-02-21 10:59:29 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2572
2573         * configure.ac:
2574         * omx/Makefile.am:
2575           Allow using external OpenMAX IL headers
2576
2577 2013-02-21 10:14:12 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2578
2579         * .gitignore:
2580           Update .gitignore
2581
2582 2013-02-21 10:13:16 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2583
2584         * config/Makefile.am:
2585         * config/rpi/Makefile.am:
2586         * config/rpi/gstomx.conf:
2587         * configure.ac:
2588           Install the RPI config when the RPI target is selected
2589
2590 2013-02-21 10:08:07 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2591
2592         * omx/gstomx.c:
2593           Set default hacks for the RPI target and always initialize bcm_host
2594
2595 2013-02-21 10:05:37 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2596
2597         * configure.ac:
2598           Add configure parameter for setting the OpenMAX IL target
2599
2600 2013-02-12 11:55:39 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2601
2602         * omx/gstomx.c:
2603           omx: Add FIXME for the future
2604
2605 2013-02-12 11:49:21 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2606
2607         * omx/gstomx.c:
2608         * omx/gstomx.h:
2609         * omx/gstomxaudioenc.c:
2610         * omx/gstomxaudioenc.h:
2611         * omx/gstomxvideodec.c:
2612         * omx/gstomxvideodec.h:
2613         * omx/gstomxvideoenc.c:
2614         * omx/gstomxvideoenc.h:
2615           omx: Some minor refactoring and cleanup
2616
2617 2013-02-12 11:45:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2618
2619         * omx/gstomx.c:
2620           omx: Don't access the port's buffers array if it wasn't allocated yet
2621
2622 2013-02-12 11:44:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2623
2624         * omx/gstomx.c:
2625           omx: Mark an array as const
2626
2627 2013-02-12 11:41:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2628
2629         * omx/gstomx.c:
2630         * omx/gstomx.h:
2631         * omx/gstomxaudioenc.c:
2632         * omx/gstomxvideodec.c:
2633         * omx/gstomxvideoenc.c:
2634           omx: Split enabling/disabling of port into sending the command and waiting for it
2635           This allows to do anything necessary after sending the command to actually let it finish
2636
2637 2013-02-12 11:37:38 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2638
2639         * omx/gstomx.c:
2640           omx: Flushing is also allowed in Paused state
2641
2642 2013-02-12 11:28:36 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2643
2644         * omx/gstomxvideoenc.c:
2645           omxvideoenc: Set stride, slice height and buffer size
2646
2647 2013-02-12 11:09:30 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2648
2649         * config/raspberry-pi.conf:
2650           config: Add h264 and mpeg2 encoders to the raspberry pi config
2651           Not completely working yet though.
2652
2653 2013-02-12 11:03:32 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2654
2655         * omx/gstomxvideoenc.c:
2656           omxvideoenc: Properly negotiate OMX color format with the component
2657
2658 2013-02-12 10:53:24 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2659
2660         * omx/gstomxvideoenc.c:
2661           omxvideoenc: Implement getcaps() vfunc
2662
2663 2013-01-29 21:32:53 +0000  Tim-Philipp Müller <tim@centricular.net>
2664
2665         * configure.ac:
2666           configure: use 1.0 gstconfig.h to detect disabled subsystems
2667           Update unused configure check for GStreamer core subsystem
2668           features from 0.10 to 1.0.
2669
2670 2013-01-28 20:44:41 +0100  Stefan Sauer <ensonic@users.sf.net>
2671
2672         * common:
2673           Automatic update of common submodule
2674           From a942293 to 2de221c
2675
2676 2013-01-24 14:02:36 +0100  Julian Scheel <julian@jusst.de>
2677
2678         * config/raspberry-pi.conf:
2679         * omx/Makefile.am:
2680         * omx/gstomx.c:
2681         * omx/gstomxmpeg2dec.c:
2682         * omx/gstomxmpeg2dec.h:
2683           omx: add mpeg2 video decoder
2684           This adds a decoder class for mpeg2, as well as an extended
2685           configuration for raspberry pi.
2686           https://bugzilla.gnome.org/show_bug.cgi?id=692446
2687           Signed-off-by: Julian Scheel <julian@jusst.de>
2688
2689 2013-01-18 16:47:04 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2690
2691         * omx/gstomx.c:
2692           omx: Minimize the time when the messages lock is held
2693           Fixes a deadlock if any OMX functions are called when the
2694           messages are handled.
2695           Thanks to Nicolas Dufresne for noticing.
2696
2697 2013-01-18 15:28:20 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
2698
2699         * omx/gstomx.c:
2700           omx: improve debug message when we can't find the config file
2701           Mention where we looked for the config file.
2702
2703 2013-01-18 12:34:38 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
2704
2705         * configure.ac:
2706           build: fix autogen.sh with automake 1.13
2707           AM_CONFIG_HEADER -> AC_CONFIG_HEADERS
2708
2709 2013-01-17 18:07:41 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2710
2711         * omx/gstomx.h:
2712         * omx/gstomxaudioenc.h:
2713         * omx/gstomxvideodec.h:
2714         * omx/gstomxvideoenc.h:
2715           omx: Fix includes to properly work with the 1.0 releases
2716
2717 2013-01-15 15:08:28 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
2718
2719         * common:
2720           Automatic update of common submodule
2721           From a72faea to a942293
2722
2723 2013-01-15 14:34:45 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2724
2725         * omx/gstomx.c:
2726           omx: Update port definition when changing some port setting
2727
2728 2013-01-14 11:41:57 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2729
2730         * omx/Makefile.am:
2731         * omx/gstomx.c:
2732           omx: Rename from libgstopenmax.so to ligstomx.so for consistency
2733
2734 2013-01-11 15:32:22 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>
2735
2736         * omx/gstomx.c:
2737           omx: Add a method to send message
2738
2739 2013-01-11 15:44:38 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2740
2741         * omx/gstomx.c:
2742         * omx/gstomx.h:
2743           omx: Atomic ops are not required anymore for the reconfiguration
2744
2745 2013-01-11 12:52:10 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2746
2747         * omx/gstomxaudioenc.c:
2748         * omx/gstomxvideodec.c:
2749         * omx/gstomxvideoenc.c:
2750           omx: Fix some memory leaks and suboptimal locking
2751
2752 2013-01-11 12:34:04 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2753
2754         * omx/gstomxvideoenc.c:
2755           omxvideoenc: Don't forget to unmap frame in error cases
2756
2757 2013-01-11 12:29:20 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2758
2759         * omx/gstomxvideoenc.c:
2760           omxvideoenc: Fix copying of the video frames to the OMX buffers
2761
2762 2013-01-11 12:24:13 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2763
2764         * omx/gstomxvideodec.c:
2765           omxvideodec: Fix copying of the video frames from the OMX buffers
2766
2767 2013-01-10 14:44:33 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2768
2769         * omx/Makefile.am:
2770         * omx/gstomx.c:
2771         * omx/gstomx.h:
2772         * omx/gstomxaudioenc.c:
2773         * omx/gstomxrecmutex.c:
2774         * omx/gstomxrecmutex.h:
2775           omx: Implement new approach for locking that should solve all deadlocks on RPi
2776           No mutex is locked while calling any OpenMAX functions anymore
2777           and everything from the OpenMAX callbacks is inserted into a message
2778           queue and handled from outside the callbacks.
2779           Also there's only a single mutex and condition variable per component
2780           now for handling anything from OpenMAX callbacks and a single mutex
2781           for keeping our component/port state sane.
2782
2783 2012-12-20 19:30:38 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2784
2785         * omx/gstomxvideodec.c:
2786           omxvideodec: Set the OMX buffer nFilledLength field properly
2787
2788 2012-12-20 18:48:21 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2789
2790         * omx/gstomxrecmutex.c:
2791         * omx/gstomxrecmutex.h:
2792           omxrecmutex: Fix another race condition when two threads are trying to lock for recursion at the same time
2793
2794 2012-12-20 18:16:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2795
2796         * omx/gstomxrecmutex.c:
2797         * omx/gstomxrecmutex.h:
2798           omxrecmutex: Fix yet another race condition that resulted in deadlocks
2799
2800 2012-12-20 17:46:36 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2801
2802         * omx/gstomx.c:
2803         * omx/gstomxrecmutex.c:
2804         * omx/gstomxrecmutex.h:
2805           omx: Fix another race condition in the recursive mutex
2806           Between lock() and begin_recursion() it was possible for another thread to
2807           try to do a recursive_lock(). This would block because the mutex was already
2808           locked(), but not ready for recursive locking yet. unlock() would never
2809           happen in the original thread because it was waiting for the other thread
2810           to finish first.
2811           Happened on the Raspberry Pi.
2812
2813 2012-12-20 14:45:18 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2814
2815         * omx/gstomxrecmutex.c:
2816         * omx/gstomxrecmutex.h:
2817           omxrecmutex: Fix a small race condition when unlocking a non-recursive lock
2818
2819 2012-12-20 12:30:05 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2820
2821         * omx/gstomxaudioenc.c:
2822         * omx/gstomxvideodec.c:
2823         * omx/gstomxvideoenc.c:
2824           omx: Fix ununsed variable compiler warning
2825
2826 2012-12-20 12:27:47 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2827
2828         * omx/gstomxaudioenc.c:
2829         * omx/gstomxvideodec.c:
2830         * omx/gstomxvideoenc.c:
2831           omx: No need to start the srcpad task in ::start() already
2832           It will be started properly after the caps are set.
2833
2834 2012-12-20 12:23:49 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2835
2836         * omx/gstomxvideodec.c:
2837           omxvideodec: OMX_ErrorNoMore is no error and just means we ended iteration
2838
2839 2012-12-20 12:20:31 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2840
2841         * omx/gstomxaudioenc.c:
2842         * omx/gstomxvideodec.c:
2843         * omx/gstomxvideoenc.c:
2844           omx: Improve debug output
2845
2846 2012-12-20 12:02:30 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2847
2848         * omx/gstomxvideodec.c:
2849           omxvideodec: Don't forget to free a GList
2850
2851 2012-12-20 11:56:29 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2852
2853         * omx/gstomxvideodec.c:
2854           omxvideodec: Map OMX_COLOR_FormatYUV420PackedPlanar to I420 too
2855           This is used on the Raspberry Pi.
2856
2857 2012-12-20 11:55:36 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2858
2859         * omx/gstomxvideodec.c:
2860           omxvideodec: During negotiation of the output format make sure we use the correct OpenMAX format
2861
2862 2012-12-20 11:42:17 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2863
2864         * omx/gstomxvideodec.c:
2865           omxvideodec: If negotiation fails this could also mean that the component can't do it at this point yet
2866
2867 2012-12-20 11:40:13 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2868
2869         * omx/gstomxvideodec.c:
2870           omxvideodec: Improve format negotiation a bit
2871           Don't leak caps and make sure to fixate caps.
2872
2873 2012-12-19 13:05:28 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2874
2875         * omx/gstomx.h:
2876           omx: Also initialize nStep field of the OMX structures
2877
2878 2012-12-19 13:03:37 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2879
2880         * omx/gstomx.h:
2881           omx: Initialize struct version with the OMX version we compiled with
2882
2883 2012-12-19 12:44:31 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2884
2885         * omx/gstomxvideodec.c:
2886           omxvideodec: Extract data from the input buffer, not the codec data
2887
2888 2012-12-19 12:19:12 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2889
2890         * omx/gstomx.c:
2891         * tools/listcomponents.c:
2892           omx: Use has_suffix() instead of has_prefix() for the Broadcom hack
2893
2894 2012-12-19 12:08:35 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2895
2896         * Makefile.am:
2897         * configure.ac:
2898         * tools/Makefile.am:
2899         * tools/listcomponents.c:
2900           tools: Add tool to list all components and their roles
2901
2902 2012-12-19 11:31:51 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2903
2904         * omx/gstomx.c:
2905           omx: Add hack to load and initialize libbcm_host.so
2906           Needed on the Raspberry Pi. Patch based on a patch by
2907           George Kiagiadakis <george.kiagiadakis@collabora.com>
2908
2909 2012-12-19 11:22:16 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2910
2911         * configure.ac:
2912         * omx/gstomx.h:
2913           configure: Add configure option to pack OpenMAX structures
2914           This is required to set to 4 for the Raspberry Pi for example.
2915
2916 2012-12-19 11:07:44 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2917
2918         * configure.ac:
2919           configure: Require GStreamer 1.0.0
2920
2921 2012-04-20 17:13:52 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
2922
2923         * omx/gstomx.h:
2924           omx: Initialize structures to version 1.1.2
2925
2926 2012-12-19 09:51:22 +0000  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2927
2928         * Makefile.am:
2929         * config/Makefile.am:
2930         * config/raspberry-pi.conf:
2931         * configure.ac:
2932           config: Add raspberry-pi configuration in a different directory
2933
2934 2012-05-20 20:11:59 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
2935
2936         * omx/gstomx-raspberry.conf:
2937           raspberry: Add a gstomx.conf for the Raspberry Pi
2938
2939 2012-12-12 17:45:39 +0000  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2940
2941         * omx/gstomx.h:
2942         * omx/gstomxvideoenc.h:
2943           omx: Fix some compilation errors caused by circular includes
2944
2945 2012-11-19 11:29:44 +0000  Tim-Philipp Müller <tim@centricular.net>
2946
2947         * common:
2948           Automatic update of common submodule
2949           From 6bb6951 to a72faea
2950
2951 2012-11-12 15:14:09 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2952
2953         * omx/gstomxvideodec.c:
2954         * omx/gstomxvideoenc.c:
2955           omx: Fix refcount problem with frames being dropped because of decoder bugs
2956
2957 2012-11-12 11:29:48 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2958
2959         * omx/gstomx.c:
2960         * omx/gstomx.h:
2961         * omx/gstomxaudioenc.c:
2962         * omx/gstomxaudioenc.h:
2963         * omx/gstomxrecmutex.c:
2964         * omx/gstomxrecmutex.h:
2965         * omx/gstomxvideodec.c:
2966         * omx/gstomxvideodec.h:
2967         * omx/gstomxvideoenc.c:
2968         * omx/gstomxvideoenc.h:
2969           omx: Update to new GLib thread API
2970
2971 2012-10-22 14:34:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2972
2973         * omx/gstomxvideodec.c:
2974         * omx/gstomxvideoenc.c:
2975           omx: Use open/close vfuncs
2976
2977 2012-10-22 14:28:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2978
2979         * omx/gstomxvideodec.c:
2980         * omx/gstomxvideoenc.c:
2981           omx: Handle video meta correctly
2982
2983 2012-06-20 13:11:58 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2984
2985         * omx/Makefile.am:
2986         * omx/gstbasevideocodec.c:
2987         * omx/gstbasevideocodec.h:
2988         * omx/gstbasevideodecoder.c:
2989         * omx/gstbasevideodecoder.h:
2990         * omx/gstbasevideoencoder.c:
2991         * omx/gstbasevideoencoder.h:
2992         * omx/gstbasevideoutils.c:
2993         * omx/gstbasevideoutils.h:
2994         * omx/gstomxh263dec.c:
2995         * omx/gstomxh263enc.c:
2996         * omx/gstomxh264dec.c:
2997         * omx/gstomxh264enc.c:
2998         * omx/gstomxmpeg4videodec.c:
2999         * omx/gstomxmpeg4videoenc.c:
3000         * omx/gstomxvideodec.c:
3001         * omx/gstomxvideodec.h:
3002         * omx/gstomxvideoenc.c:
3003         * omx/gstomxvideoenc.h:
3004         * omx/gstomxwmvdec.c:
3005           omx: Port to video base classes from -base
3006
3007 2012-10-17 17:57:43 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
3008
3009         * omx/gstomxaacenc.c:
3010         * omx/gstomxh263dec.c:
3011         * omx/gstomxh263enc.c:
3012         * omx/gstomxh264dec.c:
3013         * omx/gstomxh264enc.c:
3014         * omx/gstomxmpeg4videodec.c:
3015         * omx/gstomxmpeg4videoenc.c:
3016         * omx/gstomxwmvdec.c:
3017           omx: gst_element_class_set_details_simple() -> set_static_metadata()
3018
3019 2012-10-06 15:01:11 +0100  Tim-Philipp Müller <tim@centricular.net>
3020
3021         * common:
3022           Automatic update of common submodule
3023           From 6c0b52c to 6bb6951
3024
3025 2012-09-22 16:10:38 +0100  Tim-Philipp Müller <tim@centricular.net>
3026
3027         * common:
3028           Automatic update of common submodule
3029           From 4f962f7 to 6c0b52c
3030
3031 2012-06-21 20:22:13 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
3032
3033         * omx/gstomx.c:
3034           omx: fix debug statement
3035
3036 2012-06-21 20:21:03 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
3037
3038         * omx/gstomx.c:
3039           omx: use recursive_lock inside set_last_error(), since this function may be called from an event handler
3040
3041 2012-08-22 13:31:59 +0200  Stefan Sauer <ensonic@users.sf.net>
3042
3043         * common:
3044           Automatic update of common submodule
3045           From 668acee to 4f962f7
3046
3047 2012-08-05 16:42:43 +0100  Tim-Philipp Müller <tim@centricular.net>
3048
3049         * common:
3050           Automatic update of common submodule
3051           From 94ccf4c to 668acee
3052
3053 2012-08-03 19:32:13 +0100  Tim-Philipp Müller <tim@centricular.net>
3054
3055         * omx/gstomx.c:
3056           omx: fix plugin name for new GST_PLUGIN_DEFINE API
3057
3058 2012-07-23 08:47:32 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3059
3060         * common:
3061           Automatic update of common submodule
3062           From 98e386f to 94ccf4c
3063
3064 2012-07-10 09:57:09 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3065
3066         * omx/gstbasevideodecoder.c:
3067           omx: Update for allocation query API changes
3068
3069 2012-06-20 11:09:13 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3070
3071         * omx/gstomxaudioenc.c:
3072         * omx/gstomxvideodec.c:
3073         * omx/gstomxvideoenc.c:
3074           omx: Fix compilation after gst_pad_start_task() API changes
3075
3076 2012-06-08 15:06:35 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
3077
3078         * common:
3079           Automatic update of common submodule
3080           From 03a0e57 to 98e386f
3081
3082 2012-06-06 18:20:18 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
3083
3084         * common:
3085           Automatic update of common submodule
3086           From 1fab359 to 03a0e57
3087
3088 2012-06-01 10:30:27 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
3089
3090         * common:
3091           Automatic update of common submodule
3092           From f1b5a96 to 1fab359
3093
3094 2012-05-31 13:10:33 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3095
3096         * common:
3097           Automatic update of common submodule
3098           From 92b7266 to f1b5a96
3099
3100 2012-05-30 12:47:59 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3101
3102         * common:
3103           Automatic update of common submodule
3104           From ec1c4a8 to 92b7266
3105
3106 2012-05-30 11:26:30 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3107
3108         * common:
3109           Automatic update of common submodule
3110           From 3429ba6 to ec1c4a8
3111
3112 2012-05-13 15:58:10 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3113
3114         * common:
3115           Automatic update of common submodule
3116           From dc70203 to 3429ba6
3117
3118 2012-05-08 16:13:32 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
3119
3120         * omx/gstomx.c:
3121           omx: Fix spelling mistake found by lintian: s/Seperate/Separate/
3122
3123 2012-04-30 23:58:43 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
3124
3125         * omx/Makefile.am:
3126         * omx/gstomx.c:
3127         * omx/gstomx.h:
3128         * omx/gstomxaudioenc.c:
3129         * omx/gstomxrecmutex.c:
3130         * omx/gstomxrecmutex.h:
3131         * omx/gstomxvideodec.c:
3132         * omx/gstomxvideoenc.c:
3133           Implement a new custom recursive mutex type and fix locking in callbacks so that in-context calls are allowed.
3134           According to the OMX specification, implementations are allowed to call
3135           callbacks in the context of their function calls. However, our callbacks
3136           take locks and this causes deadlocks if the unerlying OMX implementation
3137           uses this kind of in-context calls.
3138           A solution to the problem would be a recursive mutex. However, a normal
3139           recursive mutex does not fix the problem because it is not guaranteed
3140           that the callbacks are called from the same thread. What we see in Broadcom's
3141           implementation for example is:
3142           - OMX_Foo is called
3143           - OMX_Foo waits on a condition
3144           - A callback is executed in a different thread
3145           - When the callback returns, its calling function
3146           signals the condition that OMX_Foo waits on
3147           - OMX_Foo wakes up and returns
3148           The solution I came up with here is to take a second lock inside the callback,
3149           but only if recursion is expected to happen. Therefore, all calls to OMX
3150           functions are guarded by calls to gst_omx_rec_mutex_begin_recursion() / _end_recursion(),
3151           which effectively tells the mutex that at this point we want to allow calls
3152           to _recursive_lock() to succeed, although we are still holding the master lock.
3153
3154 2012-04-20 14:51:34 +0000  George Kiagiadakis <george.kiagiadakis@collabora.com>
3155
3156         * omx/gstomx.c:
3157         * omx/gstomx.h:
3158           omx: Add hack to disable setting roles to components.
3159           Conflicts:
3160           omx/gstomx.c
3161
3162 2012-04-30 23:20:24 +0000  George Kiagiadakis <george.kiagiadakis@collabora.com>
3163
3164         * omx/gstomx.h:
3165         * omx/gstomxvideodec.c:
3166           omxvideodec: Implement no-empty-eos-buffer hack, as in omxvideoenc.
3167           Conflicts:
3168           omx/gstomxvideodec.c
3169
3170 2012-04-30 23:19:55 +0000  George Kiagiadakis <george.kiagiadakis@collabora.com>
3171
3172         * omx/gstomxvideodec.c:
3173           omxvideodec: Fix coding style in the drain-may-not-return hack code
3174
3175 2012-04-25 19:03:48 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>
3176
3177         * omx/gstomx.c:
3178           omx: Fix trivial debug print bug
3179
3180 2012-04-25 19:01:32 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>
3181
3182         * omx/gstomx.c:
3183         * omx/gstomx.h:
3184         * omx/gstomxvideodec.c:
3185           omxvideodec: Add hack for Ducati components not returning from drain
3186           This happens on the Galaxy Nexus, and causes the pipeline to hang waiting
3187           endlessly for a drain. The hack replaces the wait with a wait + 500ms timeout.
3188
3189 2012-04-25 16:35:40 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>
3190
3191         * omx/gstomx.c:
3192           omx: Fix deadlock between ending a flush and the event handler
3193           gst_omx_port_set_flushing() calls OMX_FillThisBuffer at the end of a flush
3194           without releasing the port lock, and this can cause a deadlock with the
3195           EventHandler. This patches fixes this by dropping the lock for the duration of
3196           the fill buffer call.
3197
3198 2012-04-24 15:41:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3199
3200         * omx/gstbasevideodecoder.c:
3201         * omx/gstbasevideoencoder.c:
3202           omx: Update video encoder/decoder base classes from gst-plugins-bad
3203
3204 2012-04-16 09:16:10 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3205
3206         * configure.ac:
3207           configure: Modernize autotools setup a bit
3208           Also we now only create tar.bz2 and tar.xz tarballs.
3209
3210 2012-04-16 09:12:37 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3211
3212         * common:
3213           Automatic update of common submodule
3214
3215 2012-04-16 08:34:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3216
3217         * omx/gstomxaudioenc.c:
3218           omxaudioenc: Use gst_buffer_extract() to copy the input buffer data to the OpenMAX buffer
3219
3220 2012-04-13 17:16:42 -0400  Alessandro Decina <alessandro.decina@collabora.com>
3221
3222         * omx/Makefile.am:
3223           Fix relative/absolute path glitch
3224           Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
3225
3226 2012-04-12 15:57:32 -0400  Olivier Crête <olivier.crete@collabora.com>
3227
3228         * common:
3229         * configure.ac:
3230         * omx/Makefile.am:
3231         * omx/gstbasevideocodec.c:
3232         * omx/gstbasevideocodec.h:
3233         * omx/gstbasevideodecoder.c:
3234         * omx/gstbasevideodecoder.h:
3235         * omx/gstbasevideoencoder.c:
3236         * omx/gstbasevideoencoder.h:
3237         * omx/gstomx.c:
3238         * omx/gstomx.h:
3239         * omx/gstomxaacenc.c:
3240         * omx/gstomxaudioenc.c:
3241         * omx/gstomxaudioenc.h:
3242         * omx/gstomxh263dec.c:
3243         * omx/gstomxh263enc.c:
3244         * omx/gstomxh264dec.c:
3245         * omx/gstomxh264enc.c:
3246         * omx/gstomxmpeg4videodec.c:
3247         * omx/gstomxmpeg4videoenc.c:
3248         * omx/gstomxvideodec.c:
3249         * omx/gstomxvideodec.h:
3250         * omx/gstomxvideoenc.c:
3251         * omx/gstomxvideoenc.h:
3252         * omx/gstomxwmvdec.c:
3253           Port to Gst 0.11
3254
3255 2012-01-18 16:53:16 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
3256
3257         * Android.mk:
3258         * omx/Makefile.am:
3259           Enable building with Android's buildsystem
3260           This change adds prelimary buildsystem hooks to
3261           build gst-omx with the Android buildsystem. Like
3262           the rest of GStreamer's Android hooks, the process
3263           relies on the availability of androgenizer. A tool
3264           developed by Collabora to automatically generate
3265           Android.mk files from within the auto* setup.
3266           Androgenizer is currently available at:
3267           http://cgit.collabora.com/git/user/derek/androgenizer.git/
3268
3269 2011-12-13 10:17:41 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3270
3271         * omx/gstbasevideocodec.c:
3272           basevideocodec: Don't use G_TYPE_REGISTER_BOXED() yet
3273           This would require GLib 2.26.
3274
3275 2011-12-14 10:09:34 +0100  Jonas Larsson <Jonas.Larsson@palm.com>
3276
3277         * omx/gstomxaudioenc.c:
3278           omxaudioenc: Add hack for encoder components that don't allow empty EOS buffers
3279
3280 2011-12-14 10:07:29 +0100  Jonas Larsson <Jonas.Larsson@palm.com>
3281
3282         * omx/gstomxvideoenc.c:
3283           omxvideoenc: Fix deadlock when using the EOS hack
3284
3285 2011-12-12 14:26:48 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3286
3287         * omx/gstomxvideoenc.c:
3288           omxvideoenc: Remove workaround for basevideocodec bug
3289
3290 2011-12-12 14:26:34 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3291
3292         * omx/gstomxvideodec.c:
3293           omxvideodec: Remove workaround for basevideocodec bug
3294
3295 2011-12-05 17:57:01 +0000  Matej Knopp <matej.knopp@gmail.com>
3296
3297         * omx/gstbasevideocodec.c:
3298         * omx/gstbasevideocodec.h:
3299         * omx/gstbasevideodecoder.c:
3300         * omx/gstbasevideoencoder.c:
3301           basevideo: Make GstVideoFrame a reference counted boxed object
3302           ...and also clear all existing frames when resetting the decoder or encoder.
3303
3304 2011-12-09 12:17:29 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3305
3306         * omx/gstomx.c:
3307         * omx/gstomx.h:
3308         * omx/gstomxvideoenc.c:
3309           omx: Add hack for encoder components that don't allow empty EOS buffers
3310
3311 2011-12-09 10:21:47 +0100  Dake Gu <Dake.Gu@palm.com>
3312
3313         * omx/gstomxaacenc.c:
3314           omxaacenc: Generate and set codec_data on the caps for raw AAC
3315
3316 2011-10-31 11:36:06 +0100  Alessandro Decina <alessandro.decina@collabora.co.uk>
3317
3318         * omx/gstbasevideoencoder.c:
3319           basevideoencoder: handle failures in start() and stop()
3320
3321 2011-08-26 10:50:38 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
3322
3323         * omx/gstbasevideoencoder.c:
3324           basevideoenc: do not try to calculate latency from an unknown framerate
3325           It'll divide by zero, and latency is unknown for an unknown framerate.
3326           Fixes an assert in the schroenc test.
3327           https://bugzilla.gnome.org/show_bug.cgi?id=657419
3328
3329 2011-12-08 11:50:49 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3330
3331         * omx/gstbasevideoencoder.c:
3332           basevideoencoder: Only make the header buffer metadata writable, not the buffer
3333
3334 2011-12-08 10:18:36 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3335
3336         * omx/gstbasevideoencoder.c:
3337           basevideoencoder: Fix handling of force-keyunit events
3338
3339 2011-12-06 13:28:41 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3340
3341         * omx/gstomxaudioenc.c:
3342           omxaudioenc: Don't forward EOS events immediately but let all other events be handled by the base class
3343           Previously this logic was inversed, which did not make any sense at all.
3344
3345 2011-12-06 12:47:25 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3346
3347         * omx/gstomxaudioenc.c:
3348         * omx/gstomxaudioenc.h:
3349           omxaudioenc: Use correct timestamp, duration and filled length for the EOS buffers
3350
3351 2011-12-06 12:47:12 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3352
3353         * omx/gstomxvideodec.c:
3354         * omx/gstomxvideodec.h:
3355           omxvideodec: Use correct timestamp, duration and filled length for the EOS buffers
3356
3357 2011-12-06 12:46:51 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3358
3359         * omx/gstomxvideoenc.c:
3360         * omx/gstomxvideoenc.h:
3361           omxvideoenc: Use correct timestamp, duration and filled length for the EOS buffers
3362
3363 2011-12-05 13:18:09 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3364
3365         * omx/gstomx.c:
3366           omx: Improve debugging of buffer handling
3367
3368 2011-12-05 08:12:48 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3369
3370         * omx/gstomxvideoenc.c:
3371           omxvideoenc: Drop EOS events in ::finish()
3372           The event will be forwarded downstream from the srcpad
3373           loop function after the last buffer was generated by the
3374           component. Forwarding it after ::finish() will use the
3375           sinkpad streaming thread and does not guarantee that
3376           the encoder is completely drained.
3377
3378 2011-12-01 16:20:36 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3379
3380         * omx/gstomxvideodec.c:
3381           omxvideodec: Properly drop frames due to QoS
3382           Instead of finishing them they should be passed to drop(), which
3383           will then send QoS messages.
3384
3385 2011-11-29 12:21:32 +0100  Jonas Larsson <jonas@hallerud.se>
3386
3387         * omx/gstomxh264enc.c:
3388           omxh264enc: Add support for resending headers after a forced-keyframe
3389
3390 2011-11-29 12:12:33 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3391
3392         * omx/gstbasevideocodec.h:
3393         * omx/gstbasevideoencoder.c:
3394           basevideoencoder: Pass the all-headers field of the force-key-unit event to the subclass
3395
3396 2011-11-29 12:12:04 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3397
3398         * omx/gstbasevideoencoder.c:
3399         * omx/gstbasevideoencoder.h:
3400           basevideoencoder: Implement full support for the new force-key-unit event
3401           Including support for the running-time and count fields.
3402
3403 2011-11-29 09:31:11 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3404
3405         * omx/gstbasevideoencoder.c:
3406           basevideoencoder: Use new force-keyunit event API from gst-plugins-base
3407
3408 2011-11-29 09:18:19 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3409
3410         * omx/gstbasevideoencoder.c:
3411         * omx/gstbasevideoencoder.h:
3412           basevideoencoder: Adjusting padding is not required for -bad libraries
3413
3414 2011-11-28 19:48:01 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3415
3416         * omx/gstbasevideoencoder.h:
3417           basevideoencoder: Move some fields to the private part of the instance struct
3418
3419 2011-11-28 19:36:56 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3420
3421         * omx/gstbasevideoencoder.c:
3422           basevideoencoder: Make headers metadata writable before pushing downstream
3423           The timestamp, duration, etc of the headers has to be changed.
3424
3425 2011-11-28 19:35:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3426
3427         * omx/gstbasevideoencoder.c:
3428         * omx/gstbasevideoencoder.h:
3429           basevideoencoder: Push the downstream force-keyframe event after the next keyframe
3430           Even if the corresponding GstVideoFrame doesn't have the is_sync_point
3431           flag set.
3432
3433 2011-11-28 19:29:13 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3434
3435         * omx/gstbasevideoencoder.c:
3436         * omx/gstbasevideoencoder.h:
3437           basevideoencoder: Don't push an upstream force-keyunit event downstream
3438
3439 2011-11-25 11:48:08 +0100  Jonas Larsson <jonas@hallerud.se>
3440
3441         * omx/gstbasevideoencoder.c:
3442         * omx/gstbasevideoencoder.h:
3443           basevideoencoder: Add initial support for the all-headers field of the force-keyframe event
3444           See bug #607742.
3445
3446 2011-11-25 11:37:39 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
3447
3448         * omx/gstbasevideodecoder.c:
3449           basevideodecoder: some more debug logging
3450
3451 2011-11-23 20:03:32 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
3452
3453         * omx/gstbasevideodecoder.c:
3454         * omx/gstbasevideodecoder.h:
3455           basevideodecoder: add API to drop a frame and post a QoS message on the bus
3456           https://bugzilla.gnome.org/show_bug.cgi?id=640017
3457           API: gst_base_video_decoder_drop_frame()
3458
3459 2011-11-22 23:04:49 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
3460
3461         * omx/gstbasevideodecoder.c:
3462           docs: fix comment in gst_base_video_decoder_get_max_decode_time() docs
3463
3464 2011-11-22 19:57:07 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
3465
3466         * omx/gstbasevideodecoder.c:
3467           basevideodecoder: fix weird event list handling
3468           Get rid of weird code that copies a list manually, taking
3469           ownership of the elements and then frees the old list. Instead,
3470           just take over the old list entirely. (If the intent was to
3471           reverse the list, one could use g_list_reverse() instead).
3472           Then, push events in the list out from last to first (since they
3473           were prepended as they came in) instead of just pushing out the
3474           last in the list and leaking the others.
3475
3476 2011-11-25 11:31:58 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3477
3478         * configure.ac:
3479         * omx/Makefile.am:
3480         * omx/gstbaseaudiodecoder.c:
3481         * omx/gstbaseaudiodecoder.h:
3482         * omx/gstbaseaudioencoder.c:
3483         * omx/gstbaseaudioencoder.h:
3484         * omx/gstbaseaudioutils.c:
3485         * omx/gstbaseaudioutils.h:
3486         * omx/gstomxaacenc.c:
3487         * omx/gstomxaudioenc.c:
3488         * omx/gstomxaudioenc.h:
3489           omxaudioenc: Use audio base classes from gst-plugins-base instead of having our own copies
3490
3491 2011-11-18 10:00:31 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3492
3493         * omx/gstomxaudioenc.c:
3494           omxaudioenc: First set ports to flushing before waiting for the srcpad streaming thread to finish
3495
3496 2011-11-18 09:59:43 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3497
3498         * omx/gstomxvideoenc.c:
3499           omxvideoenc: First set ports to flushing before waiting for the srcpad streaming thread to finish
3500
3501 2011-11-18 09:58:58 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3502
3503         * omx/gstomxvideodec.c:
3504           omxvideodec: First set ports to flushing before waiting for the srcpad streaming thread to finish
3505
3506 2011-11-17 14:38:54 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3507
3508         * omx/gstomx.c:
3509           omx: Only disabling of a port is like flushing, enabling is like unflushing
3510
3511 2011-11-17 13:33:35 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3512
3513         * omx/gstomx.c:
3514           omx: Enabling/disabling a port is also like flushing
3515           The component returns all buffers to us and shouldn't get any
3516           new buffers passed anymore.
3517
3518 2011-11-17 11:26:33 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3519
3520         * omx/gstomxaudioenc.c:
3521           omxaudioenc: Signal the drain GCond even if downstream returned an error
3522
3523 2011-11-17 11:26:20 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3524
3525         * omx/gstomxvideoenc.c:
3526           omxvideoenc: Signal the drain GCond even if downstream returned an error
3527
3528 2011-11-17 11:25:52 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3529
3530         * omx/gstomxvideodec.c:
3531           omxvideodec: Signal the drain GCond even if downstream returned an error
3532
3533 2011-11-17 10:34:19 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3534
3535         * omx/gstbasevideoencoder.c:
3536           basevideoencoder: Only call ::reset once in READY->PAUSED
3537
3538 2011-11-17 10:19:35 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3539
3540         * omx/gstomxaudioenc.c:
3541           omxaudioenc: Shutdown component in PAUSED->READY and deallocate buffers
3542
3543 2011-11-17 10:19:30 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3544
3545         * omx/gstomxvideoenc.c:
3546           omxvideoenc: Shutdown component in PAUSED->READY and deallocate buffers
3547
3548 2011-11-17 10:19:10 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3549
3550         * omx/gstomxvideodec.c:
3551           omxvideodec: Shutdown component in PAUSED->READY and deallocate buffers
3552
3553 2011-11-16 12:02:08 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3554
3555         * omx/gstomxvideoenc.c:
3556           omxvideoenc: Set force_keyframe to FALSE after handling it
3557           There's no reason why the base class should forward the event
3558           further downstream if we already handled it and will insert a
3559           keyframe.
3560
3561 2011-11-16 11:21:25 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3562
3563         * omx/gstomxvideodec.c:
3564           omxvideodec: Always push buffers downstream, even if we didn't find a corresponding GstVideoFrame
3565
3566 2011-11-15 09:47:55 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3567
3568         * omx/gstomx.c:
3569           omx: Fix debug level for flushing in wrong state from ERROR to DEBUG
3570           It's not really an error and doesn't matter at all if flush is called
3571           when the component is not running.
3572
3573 2011-11-15 08:40:07 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3574
3575         * omx/gstomxh264enc.c:
3576           omxh264enc: Detect bytestream stream format and don't put SPS/PPS into the caps for this format
3577
3578 2011-11-15 08:28:32 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3579
3580         * omx/gstomxvideoenc.c:
3581         * omx/gstomxvideoenc.h:
3582           omxvideoenc: Add vfunc for handling the output frames
3583           This can be used by subclasses to override the buffer flags
3584           or to handle some frames differently than the default behaviour.
3585
3586 2011-11-14 12:50:26 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3587
3588         * omx/gstomxvideodec.c:
3589           omxvideodec: Don't release buffers twice if dropping because of QoS
3590
3591 2011-11-14 09:13:06 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3592
3593         * omx/gstomx.c:
3594           omx: Add XXX to the nOffset reset hack comment for QCOM
3595
3596 2011-11-10 15:18:08 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3597
3598         * omx/gstomxaudioenc.c:
3599           omxaudioenc: Make srcpad caps setting threadsafe
3600
3601 2011-11-10 15:17:56 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3602
3603         * omx/gstomxvideoenc.c:
3604           omxvideoenc: Make srcpad caps setting threadsafe
3605
3606 2011-11-10 15:17:41 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3607
3608         * omx/gstomxvideodec.c:
3609           omxvideodec: Make srcpad caps setting threadsafe
3610
3611 2011-11-10 15:10:14 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3612
3613         * omx/gstomxaudioenc.c:
3614           omxaudioenc: Make the srcpad task and the sinkpad streaming thread handling threadsafe
3615
3616 2011-11-10 15:03:05 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3617
3618         * omx/gstomxaudioenc.c:
3619           omxaudioenc: Always flush the ports and make sure no processing is happening in ::flush
3620           This fixes a race condition that happened when seeking
3621           very often in a short period of time.
3622
3623 2011-11-10 15:02:22 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3624
3625         * omx/gstomxvideoenc.c:
3626           omxvideoenc: Always flush the ports and make sure no processing is happening in ::reset
3627           This fixes a race condition that happened when seeking
3628           very often in a short period of time.
3629
3630 2011-11-10 15:01:36 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3631
3632         * omx/gstomxvideoenc.c:
3633           omxvideoenc: Fix minor race condition when draining after upstream signalled EOS
3634
3635 2011-11-10 14:56:19 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3636
3637         * omx/gstomxaudioenc.c:
3638           omxaudioenc: Improve EOS handling
3639           If downstream return UNEXPECTED we should still signal the
3640           drain cond because nothing will trigger this again later.
3641
3642 2011-11-10 14:56:11 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3643
3644         * omx/gstomxvideoenc.c:
3645           omxvideoenc: Improve EOS handling
3646           If downstream return UNEXPECTED we should still signal the
3647           drain cond because nothing will trigger this again later.
3648
3649 2011-11-10 14:54:33 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3650
3651         * omx/gstomxaudioenc.c:
3652           omxaudioenc: Improve debugging of EOS and draining
3653
3654 2011-11-10 14:54:17 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3655
3656         * omx/gstomxvideoenc.c:
3657           omxvideoenc: Improve debugging of EOS and draining
3658
3659 2011-11-10 14:51:06 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3660
3661         * omx/gstomxvideodec.c:
3662           omxvideodec: Log if acquiring buffer for EOS failed
3663
3664 2011-11-10 14:42:13 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3665
3666         * omx/gstomxvideodec.c:
3667           omxvideodec: The component is not started in READY
3668
3669 2011-11-10 14:39:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3670
3671         * omx/gstomxaudioenc.c:
3672           omxaudioenc: No need to signal the drain cond when going from READY to PAUSED
3673           Also the component is not started in READY
3674
3675 2011-11-10 14:40:56 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3676
3677         * omx/gstomxvideoenc.c:
3678           omxvideoenc: No need to signal the drain cond when going from READY to PAUSED
3679           Also the component is not started in READY.
3680
3681 2011-11-09 15:46:02 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3682
3683         * omx/gstomxvideodec.c:
3684           omxvideodec: Always flush the ports and make sure no processing is happening in ::reset
3685           This fixes a race condition that happened when seeking
3686           very often in a short period of time.
3687
3688 2011-11-09 15:45:20 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3689
3690         * omx/gstomxvideodec.c:
3691           omxvideodec: Fix minor race condition when draining after upstream signalled EOS
3692
3693 2011-11-09 15:44:11 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3694
3695         * omx/gstomxvideodec.c:
3696           omxvideodec: Improve EOS handling
3697           If downstream return UNEXPECTED we should still signal the
3698           drain cond because nothing will trigger this again later.
3699
3700 2011-11-09 15:43:32 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3701
3702         * omx/gstomxvideodec.c:
3703           omxvideodec: Improve debugging of EOS and draining
3704
3705 2011-11-09 15:42:46 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3706
3707         * omx/gstomxvideodec.c:
3708           omxvideodec: The component is not started already when going from READY to PAUSED
3709
3710 2011-11-09 15:42:13 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3711
3712         * omx/gstomxvideodec.c:
3713           omxvideodec: No need to signal the drain cond when going from READY to PAUSED
3714
3715 2011-11-09 15:41:02 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3716
3717         * omx/gstomx.c:
3718           omx: Always reset buffer flags for output ports, even in flushing/error state
3719
3720 2011-11-09 09:00:57 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3721
3722         * omx/gstomxvideodec.c:
3723           omxvideodec: Improve debugging in case of QoS-related frame drops
3724
3725 2011-11-08 12:46:31 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3726
3727         * omx/gstomxvideoenc.c:
3728           omxvideoenc: Release the video codec stream lock before acquiring an input buffer
3729           Otherwise the srcpad task might block on this lock and
3730           no buffers ever become available again.
3731
3732 2011-11-08 12:45:16 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3733
3734         * omx/gstomxaudioenc.c:
3735           omxaudioenc: Release the audio encoder stream lock before acquiring an input buffer
3736           Otherwise the srcpad task might block on this lock and
3737           no buffers ever become available again.
3738
3739 2011-11-08 12:42:58 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3740
3741         * omx/gstomxvideodec.c:
3742           omxvideodec: Release the video codec stream lock before acquiring an input buffer
3743           Otherwise the srcpad task might block on this lock and
3744           no buffers ever become available again.
3745
3746 2011-11-08 11:07:01 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3747
3748         * omx/gstomxaudioenc.c:
3749         * omx/gstomxaudioenc.h:
3750           omxaudioenc: Don't try to drain the component after EOS
3751           And don't send EOS twice in any case. This most likely
3752           will cause the component to not output it again and
3753           is not necessary anyway.
3754
3755 2011-11-08 11:03:29 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3756
3757         * omx/gstomxvideoenc.c:
3758         * omx/gstomxvideoenc.h:
3759           omxvideoenc: Don't try to drain the component after EOS
3760           And don't send EOS twice in any case. This most likely
3761           will cause the component to not output it again and
3762           is not necessary anyway.
3763
3764 2011-11-08 10:46:36 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3765
3766         * omx/gstomxvideodec.c:
3767         * omx/gstomxvideodec.h:
3768           omxvideodec: Don't try to drain the component after EOS
3769           And don't send EOS twice in any case. This most likely
3770           will cause the component to not output it again and
3771           is not necessary anyway.
3772
3773 2011-11-08 09:09:28 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3774
3775         * omx/gstomxvideodec.c:
3776           omxvideodec: Implement dropping of too late frames via QoS
3777
3778 2011-11-08 08:31:58 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3779
3780         * omx/gstomxaudioenc.c:
3781           omxaudioenc: Minor code refactoring
3782
3783 2011-11-08 08:31:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3784
3785         * omx/gstomxvideoenc.c:
3786           omxvideoenc: Minor code refactoring
3787
3788 2011-11-08 08:31:32 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3789
3790         * omx/gstomxvideodec.c:
3791           omxvideodec: Make sure to always release buffers back to OMX
3792
3793 2011-11-08 08:24:19 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3794
3795         * omx/gstomx.c:
3796           omx: Also properly release buffers when in error state
3797
3798 2011-11-08 08:22:08 +0100  Jonas Larsson <Jonas.Larsson@palm.com>
3799
3800         * omx/gstomx.c:
3801           omx: Properly release buffers during flushing
3802           We can't pass them back to OMX_FillThisBuffer() or OMX_EmptyThisBuffer()
3803           but instead of doing nothing we have to put them back into our queue.
3804           Otherwise the buffer is leaked and we will have too few buffers in
3805           the future.
3806
3807 2011-11-07 14:00:47 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3808
3809         * omx/gstomxvideodec.c:
3810           omxvideodec: Free pending frames after draining component
3811
3812 2011-11-07 14:00:35 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3813
3814         * omx/gstomxvideoenc.c:
3815           omxvideoenc: Free pending frames after draining the component
3816
3817 2011-11-07 11:07:01 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3818
3819         * omx/gstomxvideoenc.c:
3820           omxvideoenc: Make handling and usage of the base video codec frames threadsafe
3821
3822 2011-11-07 11:05:29 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3823
3824         * omx/gstomxvideoenc.c:
3825           omxvideoenc: Fix deadlock between srcpad stream lock and ::reset()
3826
3827 2011-11-07 11:04:27 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3828
3829         * omx/gstomxvideodec.c:
3830           omxvideoenc: Make handling and usage of the base video codec frames threadsafe
3831
3832 2011-11-07 10:58:44 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3833
3834         * omx/gstomxvideoenc.c:
3835           omxvideoenc: Free all pending frames after draining the component
3836
3837 2011-11-07 10:58:24 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3838
3839         * omx/gstomxvideodec.c:
3840           omxvideodec: Always free all pending frames when caps changes require reconfiguration
3841
3842 2011-11-04 09:43:48 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3843
3844         * omx/gstomxaudioenc.c:
3845           omxaudioenc: Only drain the component a single time and only after processing started
3846
3847 2011-11-04 09:43:32 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3848
3849         * omx/gstomxvideodec.c:
3850           omxvideodec: Only drain the component a single time and only after processing started
3851
3852 2011-11-04 09:43:12 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3853
3854         * omx/gstomxvideoenc.c:
3855           omxvideoenc: Only drain the component a single time and only after processing started
3856
3857 2011-11-04 09:04:16 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3858
3859         * omx/gstomx.c:
3860           omx: Reset buffer flags to 0 after it was consumed by the component or the element
3861           Some implementations don't reset the flags and the standard is not
3862           really clear on the expected behaviour. Let's just always reset the
3863           flags as they're not valid at this point anymore.
3864
3865 2011-11-02 13:50:14 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3866
3867         * omx/gstomxvideoenc.c:
3868         * omx/gstomxvideoenc.h:
3869           omxvideoenc: Better handling of encoder parameters
3870           Only set them if necessary and allow to use the component
3871           defaults.
3872
3873 2011-11-02 13:22:50 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3874
3875         * omx/gstomxvideoenc.c:
3876           omxvideoenc: Make unsupported bitrate/quantizer settings less fatal
3877
3878 2011-11-02 10:39:50 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3879
3880         * omx/gstomxvideodec.c:
3881           omxvideodec: If no stride was set for the OMX output port assume GStreamer stride
3882           This is not really correct but there's nothing else we could do.
3883
3884 2011-11-02 10:39:10 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3885
3886         * omx/gstomxvideoenc.c:
3887           omxvideoenc: If no stride was set for the OMX input port assume GStreamer stride
3888           This is not really correct but there's nothing else we could do.
3889
3890 2011-11-01 16:46:09 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3891
3892         * omx/gstomxaudioenc.c:
3893         * omx/gstomxaudioenc.h:
3894           omxaudioenc: Implement draining of the component and use it
3895           This makes sure that all buffers are encoded and pushed downstream
3896           before flushing the ports and losing some buffers.
3897
3898 2011-11-01 16:41:46 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3899
3900         * omx/gstomxvideoenc.c:
3901         * omx/gstomxvideoenc.h:
3902           omxvideoenc: Implement draining of the component and use it
3903           This makes sure that all buffers are encoded and pushed downstream
3904           before flushing the ports and losing some buffers.
3905
3906 2011-11-01 16:08:59 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3907
3908         * omx/gstomxvideodec.c:
3909         * omx/gstomxvideodec.h:
3910           omxvideodec: Implement draining of the component and use it
3911           This makes sure that all buffers are decoded and pushed downstream
3912           before flushing the ports and losing some buffers.
3913
3914 2011-10-20 14:32:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3915
3916         * omx/gstomxvideodec.c:
3917           omxvideodec: Fix deadlock if ::reset is called before finding the corresponding frame of a decoded buffer
3918
3919 2011-11-01 15:10:12 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3920
3921         * omx/gstomxaudioenc.c:
3922         * omx/gstomxaudioenc.h:
3923         * omx/gstomxvideoenc.h:
3924           omxaudioenc: Forward downstream flow returns to upstream
3925
3926 2011-11-01 15:10:01 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3927
3928         * omx/gstomxvideoenc.c:
3929           omxvideoenc: Forward downstream flow returns to upstream
3930
3931 2011-11-01 13:58:38 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3932
3933         * omx/gstomxvideodec.c:
3934         * omx/gstomxvideodec.h:
3935           omxvideodec: Forward downstream flow returns to upstream
3936
3937 2011-10-25 14:23:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3938
3939         * README:
3940           omx: Add minimal README file
3941
3942 2011-10-20 15:21:07 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3943
3944         * omx/gstomxvideodec.c:
3945           omxvideodec: Fix deadlock caused by calling reset while the loop function does something with the base video codec stream lock
3946
3947 2011-10-20 15:20:47 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3948
3949         * omx/gstomxvideoenc.c:
3950           omxvideoenc: Fix deadlock caused by calling reset while the loop function does something with the base video codec stream lock
3951
3952 2011-10-20 14:30:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3953
3954         * omx/gstomxvideodec.c:
3955           omxvideodec: Move locking at the correct place
3956
3957 2011-10-14 10:27:47 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3958
3959         * omx/gstomx.c:
3960         * omx/gstomx.h:
3961           omx: Remove QCOM hack to reset nOffset in EmptyBufferDone
3962           This is now done in a generic way that does not require any
3963           hacks because it will work without any side effects on any
3964           OMX implementation.
3965
3966 2011-10-14 10:26:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3967
3968         * omx/gstomx.c:
3969           omx: Reset nOffset to 0 in EmptyBufferDone if nFilledLen is 0
3970           Some OMX implementations don't reset nOffset when the complete
3971           buffer is emptied but instead only reset nFilledLen. We reset
3972           nOffset to 0 if nFilledLen == 0, which is safe to do because
3973           the offset *must* be 0 if the buffer is not filled at all.
3974           Seen in QCOM's OMX implementation.
3975
3976 2011-10-04 10:56:33 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3977
3978         * omx/gstomxvideoenc.c:
3979           omxvideoenc: If one parameter/configuration is not supported don't skip the next
3980
3981 2011-10-03 09:12:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3982
3983         * omx/gstomxh264dec.c:
3984           omxh264dec: Require stream-format=byte-stream
3985           Other stream-formats are unlikely to be supported by OMX components.
3986
3987 2011-09-29 10:37:32 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3988
3989         * omx/gstomxvideodec.c:
3990         * omx/gstomxvideodec.h:
3991           omxvideodec: Add API for subclasses to prepare/convert frames
3992
3993 2011-09-27 15:08:54 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3994
3995         * omx/gstomxaudioenc.c:
3996           omxaudioenc: Switch to Idle first and wait before switching to Loaded and deallocating buffers
3997           Allocating buffers before the Idle state is reached can lead to crashes.
3998
3999 2011-09-27 15:08:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4000
4001         * omx/gstomxvideoenc.c:
4002           omxvideoenc: Switch to Idle first and wait before switching to Loaded and deallocating buffers
4003           Allocating buffers before the Idle state is reached can lead to crashes.
4004
4005 2011-09-27 15:05:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4006
4007         * omx/gstomxvideodec.c:
4008           omxvideodec: Switch to Idle first and wait before switching to Loaded and deallocating buffers
4009           Allocating buffers before the Idle state is reached can lead to crashes.
4010
4011 2011-09-27 14:15:06 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4012
4013         * omx/gstomx.c:
4014         * omx/gstomx.h:
4015         * omx/gstomxvideodec.c:
4016           omxvideodec: New hack for QCOM to recreate the component instead of reconfiguring it on caps changes
4017
4018 2011-09-27 12:13:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4019
4020         * omx/gstomx.c:
4021           omx: Change a g_assert() into a GST_WARNING_OBJECT()
4022
4023 2011-09-26 13:04:18 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4024
4025         * omx/gstomx.c:
4026         * omx/gstomx.h:
4027           omx: Add hack for Qualcomm's OMX implementation to manually reset nOffset in EmptyBufferDone
4028
4029 2011-09-23 17:02:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4030
4031         * omx/gstomxaudioenc.c:
4032           omxaudioenc: Add a check to prevent a zero-sized OMX buffer
4033
4034 2011-09-23 17:02:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4035
4036         * omx/gstomxvideoenc.c:
4037           omxvideoenc: Add some more checks for correct OMX buffer sizes
4038
4039 2011-09-23 15:53:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4040
4041         * omx/gstomxvideodec.c:
4042           omxvideodec: Add some more checks for OMX buffer sizes
4043
4044 2011-09-14 10:15:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4045
4046         * omx/gstomx.c:
4047         * omx/gstomx.h:
4048         * omx/gstomxaudioenc.c:
4049         * omx/gstomxvideodec.c:
4050         * omx/gstomxvideoenc.c:
4051           omx: Wait until the Executing state is reached before calling OMX_FillThisBuffer()
4052           This correctly works around the QCOM race condition that happens when calling
4053           FTB after setting the new state and before reaching it.
4054
4055 2011-09-02 14:43:43 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4056
4057         * omx/gstomxvideodec.c:
4058           omxvideodec: Negotiate video format with downstream and what the component claims to support
4059
4060 2011-08-25 19:56:58 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
4061
4062         * omx/gstbasevideoencoder.c:
4063           basevideoencoder: fix element leak
4064           and this concludes an hour of yelling at the bloody test failing,
4065           only to track down the problem not being in the test.
4066           https://bugzilla.gnome.org/show_bug.cgi?id=657368
4067
4068 2011-08-19 09:20:39 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4069
4070         * omx/gstomxvideoenc.c:
4071           omxvideoenc: Release basevideocodec stream lock while waiting for a buffer
4072           This prevents deadlocks if no empty input buffers are available and
4073           releasing input buffers requires the loop function to handle some
4074           output buffers first.
4075
4076 2011-08-19 09:19:22 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4077
4078         * omx/gstomxvideodec.c:
4079           omxvideodec: Release basevideocodec stream lock while waiting for a buffer
4080           This prevents deadlocks if no empty input buffers are available and
4081           releasing input buffers requires the loop function to handle some
4082           output buffers first.
4083
4084 2011-08-18 10:24:26 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4085
4086         * omx/gstbasevideodecoder.c:
4087           basevideodecoder: Fix deadlock
4088
4089 2011-08-18 10:03:20 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4090
4091         * omx/gstbaseaudiodecoder.c:
4092           baseaudiodecoder: Don't take the stream lock in the seek handler
4093           This will lead to deadlocks
4094
4095 2011-08-18 10:02:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4096
4097         * omx/gstbasevideocodec.c:
4098         * omx/gstbasevideocodec.h:
4099         * omx/gstbasevideodecoder.c:
4100         * omx/gstbasevideoencoder.c:
4101           basevideo: Fix locking, especially if both pads have different streaming threads
4102
4103 2011-08-18 09:42:02 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4104
4105         * omx/gstbasevideodecoder.c:
4106         * omx/gstbasevideoencoder.c:
4107           basevideo: Don't call g_type_class_peek_parent() in class_init
4108           This is already done by the GObject boilerplate macro
4109
4110 2011-08-18 09:40:46 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4111
4112         * omx/gstbaseaudiodecoder.c:
4113           baseaudiodecoder: Don't call g_type_class_peek_parent() in class_init
4114           This is already done by the boilerplate macro
4115
4116 2011-08-18 09:34:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4117
4118         * omx/gstbaseaudiodecoder.c:
4119         * omx/gstbaseaudiodecoder.h:
4120           baseaudiodecoder: Fix thread safety issues if both pads have different streaming threads
4121
4122 2011-08-18 09:17:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4123
4124         * omx/gstbaseaudiodecoder.c:
4125           baseaudiodecoder: Delay sending of serialized events to finish_frame()
4126
4127 2011-08-17 14:33:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4128
4129         * omx/gstomxaudioenc.c:
4130           omxaudioenc: Always require at least OMX_MIN_PCMPAYLOAD_MSEC per input buffer
4131
4132 2011-08-17 14:28:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4133
4134         * omx/gstbaseaudioencoder.c:
4135         * omx/gstbaseaudioencoder.h:
4136           baseaudioencoder: Add support for requesting a minimum and maximum number of samples per frame
4137           This extends the special case of a fixed number of samples per frame
4138           that was supported before already.
4139
4140 2011-08-17 14:17:18 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4141
4142         * omx/gstomxaudioenc.c:
4143           omxaudioenc: Handle inbuf==NULL properly in ::handle_frame()
4144
4145 2011-08-17 13:04:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4146
4147         * omx/gstomxaacenc.c:
4148           omxaacenc: Implement ::get_num_samples() vfunc
4149
4150 2011-08-17 13:03:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4151
4152         * omx/gstomxaudioenc.c:
4153         * omx/gstomxaudioenc.h:
4154           omxaudioenc: Add vfunc to get the number of samples inside a buffer
4155
4156 2011-08-17 11:34:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4157
4158         * omx/gstomxaudioenc.c:
4159           omxaudioenc: Release baseaudioencoder stream lock while waiting for a buffer in ::handle_frame()
4160           This prevents deadlocks if no empty input buffers are available and
4161           releasing input buffers requires the loop function to handle some
4162           output buffers first.
4163
4164 2011-08-17 11:34:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4165
4166         * omx/gstbaseaudioencoder.c:
4167         * omx/gstbaseaudioencoder.h:
4168           baseaudioencoder: Fix thread safety issues if both pads have different streaming threads
4169
4170 2011-08-17 09:58:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4171
4172         * omx/gstbaseaudioencoder.c:
4173           baseaudioencoder: Taking the OBJECT lock in reset() is not needed
4174
4175 2011-08-16 11:03:24 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4176
4177         * omx/gstomxaudioenc.c:
4178           omxaudioenc: Remove hack that only applies to the video encoder class
4179
4180 2011-08-16 10:49:21 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4181
4182         * omx/Makefile.am:
4183         * omx/gstomx.c:
4184         * omx/gstomx.conf:
4185         * omx/gstomxaacenc.c:
4186         * omx/gstomxaacenc.h:
4187           omxaacenc: Add initial version of OpenMAX AAC encoder element
4188
4189 2011-08-15 15:10:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4190
4191         * omx/Makefile.am:
4192         * omx/gstomxaudioenc.c:
4193         * omx/gstomxaudioenc.h:
4194           omxaudioenc: Add initial version of audio encoder base class
4195
4196 2011-08-15 14:14:11 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4197
4198         * omx/gstbaseaudioencoder.c:
4199           baseaudioencoder: Delay sending of serialized events to finish_frame()
4200
4201 2011-08-15 13:06:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4202
4203         * omx/Makefile.am:
4204         * omx/gstbaseaudiodecoder.c:
4205         * omx/gstbaseaudiodecoder.h:
4206         * omx/gstbaseaudioencoder.c:
4207         * omx/gstbaseaudioencoder.h:
4208           audio: Integrate audio base classes into the build system and fixup
4209
4210 2011-08-15 12:56:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4211
4212         * omx/gstbaseaudiodecoder.c:
4213         * omx/gstbaseaudiodecoder.h:
4214         * omx/gstbaseaudioencoder.c:
4215         * omx/gstbaseaudioencoder.h:
4216         * omx/gstbaseaudioutils.c:
4217         * omx/gstbaseaudioutils.h:
4218           audio: Add audio decoder/encoder base classes
4219           Taken from http://cgit.collabora.com/git/user/manauw/gst-plugins-bad.git/log/?h=baseaudio
4220
4221 2011-08-12 12:25:03 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4222
4223         * omx/gstbasevideoencoder.c:
4224           basevideoencoder: Proxy the width/height/framerate/PAR constraints of downstream caps to upstream
4225           This allows to specify constraints on the compressed downstream caps
4226           by muxers or capsfilters, which will then be forwarded to upstream
4227           and allows video converters to fulfill the constraints.
4228           Code based on Mark Nauwelaerts audio encoder base class.
4229
4230 2011-08-12 12:13:45 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4231
4232         * omx/gstbasevideoencoder.h:
4233           basevideoencoder: Remove old ::getcaps() comment
4234
4235 2011-08-12 12:06:23 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4236
4237         * omx/gstbasevideoencoder.c:
4238         * omx/gstbasevideoencoder.h:
4239           basevideoencoder: Remove ::get_caps() vfunc
4240           Subclasses can set the caps more efficiently and this only
4241           caused additional indirections.
4242
4243 2011-08-10 10:24:21 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4244
4245         * omx/gstomxh263enc.c:
4246         * omx/gstomxh264enc.c:
4247         * omx/gstomxmpeg4videoenc.c:
4248         * omx/gstomxvideoenc.c:
4249           omxvideoenc: Use "video/x-raw-yuv" as sink template caps instead of strict I420 caps
4250
4251 2011-08-10 10:23:39 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4252
4253         * omx/gstomxmpeg4videodec.c:
4254           omxmpeg4videodec: Don't require width/height on sink pad caps
4255
4256 2011-08-10 10:11:37 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4257
4258         * omx/gstomxh263dec.c:
4259         * omx/gstomxh264dec.c:
4260         * omx/gstomxmpeg4videodec.c:
4261         * omx/gstomxvideodec.c:
4262         * omx/gstomxwmvdec.c:
4263           omxvideodec: Use "video/x-raw-yuv" as src template caps instead of strict I420 caps
4264
4265 2011-08-10 09:56:30 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4266
4267         * omx/gstomxvideoenc.c:
4268           omxvideoenc: Set the state back to StateLoaded even if an error happened
4269
4270 2011-08-10 09:49:57 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4271
4272         * omx/gstomx.c:
4273           omx: Don't hold any locks while calling OMX_SendCommand()
4274           It might call into one of the callbacks and lead to deadlocks, e.g.
4275           with the Qualcomm OMX implementation.
4276
4277 2011-08-10 09:32:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4278
4279         * omx/gstomx.c:
4280           omx: Move some code
4281
4282 2011-08-10 09:23:10 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4283
4284         * omx/gstomx.c:
4285           omx: Reset pending reconfigure output ports when changing the state from Executing to any lower state
4286
4287 2011-08-10 09:08:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4288
4289         * omx/gstomx.c:
4290           omx: Fix crash when setting last error after the ports were freed
4291
4292 2011-08-10 09:03:52 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4293
4294         * omx/gstomx.c:
4295           omx: Free component structure
4296
4297 2011-08-10 09:02:52 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4298
4299         * omx/gstomx.c:
4300           omx: Make component destruction safer
4301
4302 2011-08-10 08:53:05 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4303
4304         * omx/gstomx.c:
4305           omx: Set pAppPrivate of buffers to NULL when deallocating buffers
4306           This prevents usage of freed memory later if the OMX component
4307           has weird behaviour.
4308
4309 2011-08-10 08:52:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4310
4311         * omx/gstomxvideodec.c:
4312           omxvideodec: Set the state back to StateLoaded even if an error happened
4313
4314 2011-08-10 08:51:54 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4315
4316         * omx/gstomx.c:
4317           omx: Add some assertions to check if the buffer pAppPrivate is still correct
4318
4319 2011-08-08 13:04:30 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4320
4321         * omx/gstomx.h:
4322           omx: Add parenthesis at correct places in the struct init macro
4323
4324 2011-08-08 12:12:58 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4325
4326         * omx/gstomx.c:
4327           omx: Only prevent setting a higher state if the component is in an error state
4328
4329 2011-08-03 16:02:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4330
4331         * omx/gstbasevideodecoder.c:
4332           basevideodecoder: Use the cached video frame size instead of recalculating it
4333
4334 2011-08-03 15:35:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4335
4336         * omx/gstomx.c:
4337           omx: Improve debugging in param/config getter/setter wrappers
4338
4339 2011-08-03 13:10:33 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4340
4341         * omx/gstomxvideodec.c:
4342           omxvideodec: Don't abort if the color format is not supported but give a useful error message
4343
4344 2011-08-02 15:14:37 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4345
4346         * omx/gstomxh263enc.c:
4347         * omx/gstomxh264enc.c:
4348         * omx/gstomxmpeg4videoenc.c:
4349         * omx/gstomxvideoenc.c:
4350           omxvideoenc: Don't fail if setting the bitrate or profile is not supported by the component
4351           Also always set/get the profile, even if there are no peer caps.
4352
4353 2011-08-02 15:14:24 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4354
4355         * omx/gstbasevideoencoder.c:
4356           basevideoencoder: Make access to the list of frames threadsafe
4357
4358 2011-08-01 13:22:05 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4359
4360         * omx/gstomx.c:
4361         * omx/gstomx.h:
4362           omx: Add a hacks flag for the Qualcomm 7x30 OMX_FillThisBuffer() race and make it optional
4363
4364 2011-07-29 13:56:59 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4365
4366         * omx/gstomx.c:
4367           omx: Add workaround for QCOM 7x30 race condition
4368
4369 2011-07-29 12:06:21 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4370
4371         * omx/Makefile.am:
4372         * omx/gstomx.c:
4373         * omx/gstomxh263enc.c:
4374         * omx/gstomxh263enc.h:
4375           omxh263enc: Add H.263 encoder element
4376
4377 2011-07-29 11:26:39 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4378
4379         * omx/gstomxmpeg4videoenc.c:
4380           omxmpeg4videoenc: Add support for setting profile/level via caps
4381
4382 2011-07-28 14:14:45 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4383
4384         * omx/gstomxh264enc.c:
4385           omxh264enc: Add support for setting profile/level via caps
4386
4387 2011-07-28 12:58:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4388
4389         * omx/gstomxvideoenc.c:
4390           omxvideoenc: Add support for forcing the next frame to be a keyframe
4391
4392 2011-07-28 11:54:16 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4393
4394         * omx/gstomxvideoenc.c:
4395         * omx/gstomxvideoenc.h:
4396           omxvideoenc: Add support for setting bitrate/quantization related parameters
4397
4398 2011-07-28 10:23:08 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4399
4400         * omx/gstomx.c:
4401         * omx/gstomx.h:
4402           omx: Add wrapper functions for OMX_[GS]et{Config,Parameter}
4403
4404 2011-07-28 09:54:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4405
4406         * omx/gstomx.c:
4407         * omx/gstomx.h:
4408           omx: Add macro to initialize OpenMAX structures
4409
4410 2011-07-28 09:08:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4411
4412         * omx/gstomxvideoenc.c:
4413           omxvideoenc: Don't output 0-byte buffers
4414
4415 2011-07-25 15:05:08 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4416
4417         * omx/gstomx.c:
4418           omx: Ensure that the pAppPrivate pointer in OMX buffers is set correctly
4419
4420 2011-07-25 13:19:06 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4421
4422         * omx/gstomxvideodec.c:
4423         * omx/gstomxvideoenc.c:
4424           omxvideo{enc,dec}: Only set/unset flushing state on ports if they were created already
4425
4426 2011-07-25 12:01:05 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4427
4428         * omx/Makefile.am:
4429         * omx/gstomx.c:
4430         * omx/gstomxwmvdec.c:
4431         * omx/gstomxwmvdec.h:
4432           omxwmvdec: Add WMV video decoder element
4433
4434 2011-07-25 11:44:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4435
4436         * omx/Makefile.am:
4437         * omx/gstomx.c:
4438         * omx/gstomxh263dec.c:
4439         * omx/gstomxh263dec.h:
4440           omxh263dec: Add H.263 decoder element
4441
4442 2011-07-25 11:32:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4443
4444         * omx/Makefile.am:
4445         * omx/gstomx.c:
4446         * omx/gstomxh264enc.c:
4447         * omx/gstomxh264enc.h:
4448           omxh264enc: Add H.264 encoder element
4449
4450 2011-07-25 10:48:58 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4451
4452         * omx/gstomxvideodec.c:
4453           omxvideodec: Try harder to deallocate the buffers after errors happened
4454
4455 2011-07-25 10:47:28 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4456
4457         * omx/gstomxvideoenc.c:
4458           omxvideoenc: Try harder to deallocate the buffers after errors happened
4459
4460 2011-07-25 10:46:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4461
4462         * omx/gstomx.c:
4463           omx: Deallocate port buffers before freeing the component
4464           They should be deallocated by the caller before reaching the
4465           Loaded state but to be on the safe side we will make sure
4466           they're really deallocated here.
4467
4468 2011-07-21 11:15:14 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4469
4470         * omx/gstomxvideoenc.c:
4471           omxvideoenc: Add initial support for stride conversion
4472
4473 2011-07-21 10:38:26 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4474
4475         * omx/gstomxh264dec.c:
4476         * omx/gstomxmpeg4videodec.c:
4477         * omx/gstomxmpeg4videoenc.c:
4478           omx: Set default roles for the components if none were set from the config file
4479
4480 2011-07-21 10:36:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4481
4482         * omx/gstomx.c:
4483           omx: Failure to set the component role is fatal
4484
4485 2011-07-21 07:53:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4486
4487         * omx/gstomxvideoenc.c:
4488           omxvideoenc: Add support for setting codec_data on the srcpad caps
4489
4490 2011-07-21 07:44:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4491
4492         * omx/gstomxvideoenc.c:
4493           omxvideoenc: Free/drop GstVideoFrames that resulted in an empty buffer
4494
4495 2011-07-21 07:44:10 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4496
4497         * omx/gstbasevideoencoder.c:
4498           basevideoencoder: Allow finishing of frames with no src_buffer to drop/free the GstVideoFrame
4499
4500 2011-07-21 07:31:05 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4501
4502         * omx/gstomxvideoenc.c:
4503           omxvideoenc: Remove obsolete TODO comment
4504
4505 2011-07-20 11:09:54 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4506
4507         * omx/Makefile.am:
4508         * omx/gstomx.c:
4509           omx: Use libgstopenmax.so for the plugin filename and openmax for the plugin name
4510           Resolves conflicts with gst-openmax.
4511
4512 2011-07-20 08:34:33 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4513
4514         * omx/Makefile.am:
4515         * omx/gstomx.c:
4516         * omx/gstomx.conf:
4517         * omx/gstomx.h:
4518         * omx/gstomxmpeg4videoenc.c:
4519         * omx/gstomxmpeg4videoenc.h:
4520         * omx/gstomxvideoenc.c:
4521         * omx/gstomxvideoenc.h:
4522           omxvideoenc: Add video encoder base class and MPEG4 video encoder
4523           Unfortunately requires lots of hacks again to work properly with
4524           Bellagio.
4525
4526 2011-07-20 10:39:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4527
4528         * omx/gstbasevideoencoder.c:
4529           basevideoencoder: Only get caps from the subclass if they were not set yet by the subclass
4530
4531 2011-07-20 09:25:28 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4532
4533         * omx/gstbasevideoencoder.c:
4534         * omx/gstbasevideoencoder.h:
4535           basevideoencoder: Delay sending of serialized sink events until finish_frame()
4536
4537 2011-07-20 09:09:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4538
4539         * omx/gstbasevideoencoder.c:
4540         * omx/gstbasevideoencoder.h:
4541           basevideoencoder: Add ::reset vfunc and handle ::reset/::finish the same way as in the decoder
4542
4543 2011-07-19 12:50:43 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4544
4545         * omx/gstbasevideoencoder.c:
4546           basevideoencoder: Use a temporary GstVideoState until the subclass accepted the caps
4547           Also store the caps in the GstVideoState and assume a PAR of 1/1 instead
4548           of 0/1 if no PAR is specified in the caps.
4549
4550 2011-07-19 12:29:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4551
4552         * omx/gstomx.c:
4553         * omx/gstomxvideodec.c:
4554           omx: Improve debug output a bit
4555
4556 2011-07-19 10:33:54 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4557
4558         * omx/gstomx.c:
4559         * omx/gstomx.h:
4560         * omx/gstomxvideodec.c:
4561           omx: Rework port reconfiguration again and only use the Bellagio specific hacks with Bellagio
4562           We only reconfigure ports that need to be reconfigured now instead of
4563           always all ports.
4564
4565 2011-07-19 10:33:15 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4566
4567         * omx/gstomx.c:
4568         * omx/gstomx.conf:
4569         * omx/gstomx.h:
4570         * omx/gstomxvideodec.c:
4571         * omx/gstomxvideodec.h:
4572           omx: Add infrastructure to enable special hacks for broken OpenMAX implementations
4573
4574 2011-07-18 13:10:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4575
4576         * omx/gstomx.c:
4577           omx: When acquiring a buffer from an input port always wait until all output ports are reconfigured
4578
4579 2011-07-18 08:41:20 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4580
4581         * omx/gstomxvideodec.c:
4582           omxvideodec: Add support for converting between omx and gst rowstrides
4583
4584 2011-07-14 10:34:09 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4585
4586         * omx/gstomx.c:
4587           omx: Provide all buffers to output ports after enabling them
4588
4589 2011-07-14 08:29:03 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4590
4591         * omx/gstomxvideodec.c:
4592           omxvideodec: Add support for NV12 / OMX_COLOR_FormatYUV420SemiPlanar
4593
4594 2011-07-14 07:58:41 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4595
4596         * omx/gstomxvideodec.c:
4597         * omx/gstomxvideodec.h:
4598           omxvideodec: Only flush the component ports after we passed input to them
4599
4600 2011-07-13 21:19:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4601
4602         * omx/gstomxvideodec.c:
4603           omxvideodec: Only change states downwards if an upper state was reached
4604
4605 2011-07-13 20:37:02 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4606
4607         * omx/gstomx.c:
4608         * omx/gstomx.h:
4609         * omx/gstomxvideodec.c:
4610         * omx/gstomxvideodec.h:
4611           omx: Add support for setting the component-role
4612
4613 2011-07-13 20:22:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4614
4615         * omx/gstomx.c:
4616         * omx/gstomx.h:
4617         * omx/gstomxvideodec.c:
4618           omx: Improve error reporting by formatting the error codes better and also providing their string representation
4619
4620 2011-07-13 14:36:14 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4621
4622         * Makefile.am:
4623           build: Dist autogen.sh
4624
4625 2011-07-13 14:35:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4626
4627         * configure.ac:
4628         * omx/gstomx.c:
4629           build: Only require GStreamer >= 0.10.29 and GLib >= 2.16
4630
4631 2011-07-13 14:04:47 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4632
4633         * omx/Makefile.am:
4634           build: Dist gstomx.conf
4635
4636 2011-07-13 14:04:20 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4637
4638         * Makefile.am:
4639           build: Clean _stdint.h on "make distclean"
4640
4641 2011-07-13 14:02:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4642
4643         * omx/gstomxvideodec.c:
4644           omxvideodec: Fix typo
4645
4646 2011-07-13 13:59:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4647
4648         * omx/Makefile.am:
4649           omx: Dist gstomx.h
4650
4651 2011-07-13 12:46:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4652
4653         * omx/gstomxvideodec.c:
4654           omxvideodec: Set SYNCFRAME flag on the OMX buffers for non-delta units
4655
4656 2011-07-13 12:37:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4657
4658         * omx/gstomxvideodec.c:
4659           omxvideodec: Free all pending frames when resetting the decoder
4660           Workaround for https://bugzilla.gnome.org/show_bug.cgi?id=654529
4661
4662 2011-07-13 09:59:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4663
4664         * omx/gstomxvideodec.c:
4665           omxvideodec: Handle output buffers without a corresponding GstVideoFrame more gracefully
4666           This can happen on EOS in some cases and when the input is not
4667           properly framed.
4668
4669 2011-07-13 09:31:22 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4670
4671         * omx/gstomxvideodec.c:
4672           omxvideodec: Fix deadlock when finishing old frames that are left over by the decoder
4673
4674 2011-07-12 11:37:28 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4675
4676         * omx/gstomxh264dec.c:
4677           omxh264dec: It's called H.264, not H264
4678
4679 2011-07-12 11:36:42 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4680
4681         * omx/gstomxh264dec.c:
4682         * omx/gstomxmpeg4videodec.c:
4683         * omx/gstomxvideodec.c:
4684         * omx/gstomxvideodec.h:
4685           omxvideodec: Make sink/src pad template caps configurable
4686
4687 2011-07-12 11:13:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4688
4689         * omx/gstomx.c:
4690           omx: Allow to set a preferred configuration directory with the GST_OMX_CONFIG_DIR environment variable
4691
4692 2011-07-12 10:55:57 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4693
4694         * omx/gstomxh264dec.c:
4695         * omx/gstomxmpeg4videodec.c:
4696         * omx/gstomxvideodec.c:
4697           omxvideodec: Make core/component-name and in/outport index configurable
4698
4699 2011-07-12 10:05:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4700
4701         * omx/gstomx.c:
4702         * omx/gstomx.conf:
4703         * omx/gstomx.h:
4704           omx: Add initial version of configuration system
4705           This now only registers elements that are specified in the
4706           configuration file.
4707           The configuration file is a keyfile in the first XDG configuration
4708           directory with the name gstomx.conf.
4709
4710 2011-07-12 08:53:15 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4711
4712         * omx/Makefile.am:
4713         * omx/gstomx.c:
4714         * omx/gstomxh264dec.c:
4715         * omx/gstomxh264dec.h:
4716         * omx/gstomxh264videodec.h:
4717           omxh264dec: Rename from omxh264videodec to omxh264dec
4718
4719 2011-07-12 08:40:48 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4720
4721         * omx/gstomxh264videodec.c:
4722           omxh264videodec: Require alignment=au and stream-format={avc,bytestream}
4723
4724 2011-07-11 12:59:07 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4725
4726         * omx/gstbasevideodecoder.c:
4727           basevideodecoder: First inform subclass about resetting before resetting/freeing all internal state
4728           The subclass might want to access the old state.
4729
4730 2011-07-11 12:36:42 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4731
4732         * omx/gstbasevideodecoder.c:
4733           basevideodecoder: Track present position on discont before resetting it
4734
4735 2011-07-11 11:52:33 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4736
4737         * omx/gstbasevideodecoder.c:
4738           basevideodecoder: Also protect the list of pending frames from concurrent access when pushing all pendings events
4739
4740 2011-07-11 11:28:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4741
4742         * omx/gstbasevideocodec.c:
4743         * omx/gstbasevideocodec.h:
4744         * omx/gstbasevideodecoder.c:
4745           basevideocodec: Protect access to the list of pending frames with the object lock
4746           This is required if ::finish_frame() and all buffer output happens
4747           on a different thread than the sinkpad streaming thread.
4748
4749 2011-07-11 09:35:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4750
4751         * omx/gstbasevideodecoder.c:
4752           basevideodecoder: Set the correct lists to NULL after freeing
4753
4754 2011-07-11 08:54:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4755
4756         * omx/gstbasevideodecoder.c:
4757           basevideodecoder: Work with a copy of the GstVideoState in setcaps until the caps are accepted
4758           Also fix a refcount problem with the codec_data.
4759
4760 2011-07-12 08:34:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4761
4762         * omx/Makefile.am:
4763         * omx/gstomx.c:
4764         * omx/gstomxh264videodec.c:
4765         * omx/gstomxh264videodec.h:
4766           omxh264videodec: Add h.264 video decoder
4767
4768 2011-07-12 08:29:15 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4769
4770         * omx/gstomxmpeg4videodec.c:
4771           omxmpeg4videodec: Fix debug category name
4772
4773 2011-07-09 11:41:42 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4774
4775         * omx/Makefile.am:
4776         * omx/gstbasevideocodec.h:
4777         * omx/gstbasevideodecoder.c:
4778         * omx/gstbasevideoencoder.c:
4779         * omx/gstbasevideoutils.c:
4780         * omx/gstbasevideoutils.h:
4781           basevideo: Move the utils from the codec header to its own header
4782
4783 2011-07-09 11:32:06 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4784
4785         * omx/gstbasevideocodec.c:
4786         * omx/gstbasevideodecoder.c:
4787           basevideo: Use GSlice for allocating GstVideoFrame and don't duplicate code in the decoder base class
4788
4789 2011-07-09 11:05:37 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4790
4791         * omx/gstomxvideodec.c:
4792           omxvideodec: Use the destroy notify to free the coder_hook
4793
4794 2011-07-09 10:57:52 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4795
4796         * omx/gstbasevideocodec.c:
4797         * omx/gstbasevideocodec.h:
4798         * omx/gstbasevideodecoder.c:
4799           basevideo: Add destroy notify for the coder_hook to prevent memory leaks
4800           Fixes bug #654293.
4801
4802 2011-07-09 10:44:16 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4803
4804         * omx/Makefile.am:
4805           basevideo: Fix GType names to not conflict with the public video base classes
4806           It's still not possible to include headers of both in the same file
4807           or compile/link both into the same plugin but that shouldn't be
4808           necessary anyway.
4809
4810 2011-07-08 15:42:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4811
4812         * omx/gstomxvideodec.c:
4813           omxvideodec: Fix some minor memory leaks
4814
4815 2011-07-08 15:25:07 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4816
4817         * omx/gstomx.c:
4818         * omx/gstomx.h:
4819         * omx/gstomxvideodec.c:
4820           omx: Rework port reconfiguration
4821           We always reconfigure all ports now if the settings of one
4822           port changes to prevent lots of race conditions, dropped
4823           frames and similar issues.
4824
4825 2011-07-08 13:16:45 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4826
4827         * omx/gstomxvideodec.c:
4828         * omx/gstomxvideodec.h:
4829           omxvideodec: Use the frames storage of the base class instead of implementing our own
4830           They could get out of sync and we could store already destroyed frames.
4831
4832 2011-07-07 12:51:03 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4833
4834         * omx/gstomx.h:
4835           omx: Clarify GQueue/GPtrArray element types
4836
4837 2011-07-07 12:23:24 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4838
4839         * omx/gstomx.c:
4840         * omx/gstomx.h:
4841         * omx/gstomxvideodec.c:
4842           omx: Add more checks to acquire_buffer() and return the current state additional to the buffer
4843           Also refactor the code flow in the video decoder for this. This makes
4844           the usage of acquire_buffer() easier and more atomic.
4845
4846 2011-07-07 12:22:57 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4847
4848         * omx/gstomxvideodec.c:
4849           omxvideodec: Also flush/unflush the input port when changing the state PAUSED<->READY
4850
4851 2011-07-07 12:21:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4852
4853         * omx/gstomx.c:
4854           omx: Don't broadcast port->port_cond after allocating buffers successfully
4855           Allocating buffers must happen while no thread is waiting for the
4856           cond and especially must happen from the thread that would acquire
4857           buffers from the port.
4858
4859 2011-07-07 11:27:15 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4860
4861         * omx/gstomxvideodec.c:
4862           omxvideodec: Don't leak the codec_data after sending it
4863
4864 2011-07-07 10:27:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4865
4866         * omx/gstomx.c:
4867           omx: Always check if the component is in an error state before waiting for a condition variable to be signalled
4868           Otherwise we might wait forever because nothing is going to signal
4869           the condition variable anymore.
4870
4871 2011-07-07 10:22:12 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4872
4873         * omx/gstomx.c:
4874           omx: Always hold port->port_lock before signalling port->port_cond when notifying about errors
4875           Otherwise a port might be in the critical section, has checked the error state
4876           already but waits after port->port_cond is signalled, which will lead
4877           to a deadlock.
4878
4879 2011-07-07 10:07:43 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4880
4881         * omx/gstomxvideodec.c:
4882           omxvideodec: Remove reconfiguration test hack
4883
4884 2011-07-06 13:27:12 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4885
4886         * omx/gstomx.c:
4887           omx: Improve debug output a bit
4888
4889 2011-07-06 13:26:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4890
4891         * omx/gstomx.c:
4892           omx: Always try to deallocate buffers, even if there's a component error
4893
4894 2011-07-06 13:26:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4895
4896         * omx/gstomx.c:
4897           omx: Use G_USEC_PER_SEC for clarity instead of 1000000
4898
4899 2011-07-06 13:19:15 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4900
4901         * omx/gstomxvideodec.c:
4902           omxvideodec: Error out if the GStreamer allocated buffer is smaller than the OpenMAX output buffer
4903           Usually this must never happen but currently it happens during reconfigurations
4904           because of a race condition. Still it's better than crashing.
4905
4906 2011-07-06 10:40:13 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4907
4908         * omx/gstomx.c:
4909         * omx/gstomx.h:
4910           omx: Don't use port_def.bEnabled to check if the Enable/Disable command is finished
4911           bEnabled should be set immediately after sending the command, it's only
4912           Bellagio that waits until the command is finished before setting it.
4913
4914 2011-07-06 10:30:11 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4915
4916         * omx/gstomxvideodec.c:
4917           omxvideodec: Remove obsolete FIXME comment
4918
4919 2011-07-06 10:29:54 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4920
4921         * omx/gstomx.c:
4922         * omx/gstomx.h:
4923           omx: Improve error handling and reporting
4924
4925 2011-07-06 08:48:37 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4926
4927         * omx/gstomxmpeg4videodec.c:
4928         * omx/gstomxvideodec.c:
4929         * omx/gstomxvideodec.h:
4930           omxvideodec: Make the inport and outport index configurable by the subclass
4931
4932 2011-06-28 08:51:23 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4933
4934         * omx/Makefile.am:
4935         * omx/gstomx.c:
4936         * omx/gstomx.h:
4937         * omx/gstomxmpeg4videodec.c:
4938         * omx/gstomxmpeg4videodec.h:
4939         * omx/gstomxvideodec.c:
4940         * omx/gstomxvideodec.h:
4941           omx: Add initial version of OpenMAX framework, video decoder base class and MPEG4 video decoder
4942           This currently hardcodes a lot of stuff but works at least.
4943           Also adds a generic framework for handling OpenMAX cores, components
4944           and ports.
4945
4946 2011-06-28 11:47:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4947
4948         * omx/gstbasevideocodec.c:
4949         * omx/gstbasevideocodec.h:
4950         * omx/gstbasevideodecoder.c:
4951         * omx/gstbasevideodecoder.h:
4952           basevideodecoder: Don't reorder serialized src events
4953           And allow to drop EOS by the subclass if ::finish returns
4954           DROPPED.
4955           Fixes bug #653544.
4956
4957 2011-06-27 09:41:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4958
4959         * omx/gstbasevideocodec.c:
4960         * omx/gstbasevideocodec.h:
4961         * omx/gstbasevideodecoder.c:
4962           basevideo: Add the caps to the GstVideoState and clean up caps/codec_data properly
4963
4964 2011-06-27 09:37:03 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4965
4966         * omx/gstbasevideocodec.c:
4967         * omx/gstbasevideocodec.h:
4968         * omx/gstbasevideodecoder.c:
4969         * omx/gstbasevideodecoder.h:
4970         * omx/gstbasevideoencoder.c:
4971         * omx/gstbasevideoencoder.h:
4972         * omx/gstbasevideoutils.c:
4973           basevideo: Add video encoder/decoder base classes from gst-plugins-bad
4974
4975 2011-06-21 11:17:35 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4976
4977         * omx/openmax/OMX_Audio.h:
4978         * omx/openmax/OMX_Component.h:
4979         * omx/openmax/OMX_ComponentExt.h:
4980         * omx/openmax/OMX_ContentPipe.h:
4981         * omx/openmax/OMX_Core.h:
4982         * omx/openmax/OMX_CoreExt.h:
4983         * omx/openmax/OMX_IVCommon.h:
4984         * omx/openmax/OMX_Image.h:
4985         * omx/openmax/OMX_Index.h:
4986         * omx/openmax/OMX_IndexExt.h:
4987         * omx/openmax/OMX_Other.h:
4988         * omx/openmax/OMX_Types.h:
4989         * omx/openmax/OMX_Video.h:
4990         * omx/openmax/OMX_VideoExt.h:
4991           openmax: Add OpenMAX IL 1.1.2 headers
4992