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