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