omxvideodec: use the correct printf format in a debug message
[platform/upstream/gstreamer.git] / ChangeLog
1 === release 1.0.0 ===
2
3 2013-03-22  Sebastian Dröge <sebastian.droege@collabora.co.uk>
4
5         * configure.ac:
6           releasing 1.0.0
7
8 2013-03-19 16:40:09 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
9
10         * omx/gstomxtheoradec.h:
11         * omx/gstomxvp8dec.h:
12           omx: fix typo in copyright headers
13
14 2013-03-19 13:46:33 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
15
16         * config/rpi/gstomx.conf:
17           rpi: Fix commit that added the VC1 decoder
18
19 2013-03-19 13:27:35 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
20
21         * config/rpi/gstomx.conf:
22         * omx/gstomxh263dec.c:
23         * omx/gstomxh264dec.c:
24         * omx/gstomxmjpegdec.c:
25         * omx/gstomxmpeg2videodec.c:
26         * omx/gstomxmpeg4videodec.c:
27         * omx/gstomxtheoradec.c:
28         * omx/gstomxvideodec.c:
29         * omx/gstomxvp8dec.c:
30         * omx/gstomxwmvdec.c:
31           omx: Add more constraints to the default sink template caps
32
33 2013-03-19 13:10:39 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
34
35         * config/rpi/gstomx.conf:
36           rpi: Add VC1/WMV3 decoder
37           WMV2 and WMV1 (aka WMV 1-8) are not supported by RPi.
38
39 2013-03-19 12:59:20 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
40
41         * config/rpi/gstomx.conf:
42           rpi: Add MJPEG decoder
43
44 2013-03-19 12:56:50 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
45
46         * config/rpi/gstomx.conf:
47           rpi: Add VP8 decoder
48
49 2013-03-19 12:55:09 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
50
51         * omx/gstomxvideodec.c:
52           omxvideodec: Set ENDOFFRAME flag for the end of frames
53
54 2013-03-19 12:28:50 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
55
56         * config/rpi/gstomx.conf:
57           rpi: Add Theora decoder to the config
58
59 2013-03-19 09:36:18 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
60
61         * configure.ac:
62         * omx/Makefile.am:
63         * omx/gstomx.c:
64         * omx/gstomxtheoradec.c:
65         * omx/gstomxtheoradec.h:
66           omx: Add Theora decoder
67
68 2013-03-18 16:43:24 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
69
70         * omx/gstomx.c:
71           omx: Remove additional comma
72
73 2013-03-18 16:34:21 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
74
75         * config/rpi/gstomx.conf:
76         * omx/Makefile.am:
77         * omx/gstomx.c:
78         * omx/gstomxmpeg2dec.c:
79         * omx/gstomxmpeg2dec.h:
80         * omx/gstomxmpeg2videodec.c:
81         * omx/gstomxmpeg2videodec.h:
82           omx: Rename MPEG2 decoder for consistency everywhere
83
84 2013-03-18 16:30:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
85
86         * omx/Makefile.am:
87         * omx/gstomx.c:
88         * omx/gstomxmjpegdec.c:
89         * omx/gstomxmjpegdec.h:
90           omx: Add MJPEG decoder support
91
92 2013-03-18 16:06:54 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
93
94         * configure.ac:
95         * omx/Makefile.am:
96         * omx/gstomx.c:
97         * omx/gstomxvp8dec.c:
98         * omx/gstomxvp8dec.h:
99           omx: Add VP8 decoder support
100
101 2013-03-18 15:44:23 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
102
103         * config/rpi/gstomx.conf:
104           rpi: Add h263 decoder and rename MPEG2 decoder for consistency
105
106 2013-03-16 13:20:27 +0000  Tim-Philipp Müller <tim@centricular.net>
107
108         * omx/gstomxmpeg2dec.c:
109           omxmpeg2dec: mpeg-2 decoder should be able to handle mpeg-1 too
110           https://bugzilla.gnome.org/show_bug.cgi?id=695879
111
112 2013-03-16 10:13:06 +0100  Josep Torra <n770galaxy@gmail.com>
113
114         * omx/gstomx.c:
115           omx: minor stylistic change for consistency with other similar code
116
117 2013-03-16 10:00:24 +0100  Josep Torra <n770galaxy@gmail.com>
118
119         * omx/gstomxaudioenc.c:
120         * omx/gstomxvideodec.c:
121         * omx/gstomxvideoenc.c:
122           omx: Clarify that loop task is also paused in EOS
123
124 2013-03-16 09:59:01 +0100  Josep Torra <n770galaxy@gmail.com>
125
126         * omx/gstomxvideoenc.c:
127           omxvideoenec: Don't forget propagate flow return value upstream
128
129 2013-03-15 13:16:39 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
130
131         * omx/gstomx.c:
132           omx: improve debug logging some more
133
134 2013-03-15 14:09:45 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
135
136         * omx/gstomxvideodec.c:
137           omxvideodec: Make sure that the first frame we pass to OpenMAX is a sync frame
138
139 2013-03-15 11:46:34 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
140
141         * omx/gstomxaudioenc.c:
142         * omx/gstomxvideodec.c:
143         * omx/gstomxvideoenc.c:
144           omx: Stop output port task after draining
145
146 2013-03-15 10:58:58 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
147
148         * omx/gstomx.c:
149           omx: Reset EOS flag in more places
150
151 2013-03-15 10:38:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
152
153         * omx/gstomxvideodec.c:
154           omxvideodec: Deallocate output buffers with the right function
155
156 2013-03-15 01:06:05 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
157
158         * omx/gstomx.c:
159         * omx/gstomx.h:
160           omx: log commands as strings
161           Makes logs easier to read.
162
163 2013-03-15 00:47:47 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
164
165         * omx/gstomx.c:
166         * omx/gstomx.h:
167           omx: log states as strings
168
169 2013-03-15 00:28:02 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
170
171         * omx/gstomx.c:
172         * omx/gstomx.h:
173           omx: log component name in debug messages
174           Useful when we have more different components
175           active at the same time.
176
177 2013-03-15 09:51:42 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
178
179         * omx/gstomxvideodec.c:
180           omxvideodec: Don't interpolate timestamps
181           We will get exactly one frame per input buffer and assigning
182           timestamps between frames if more than one OMX buffer is required
183           per frame easily confuses timestamp tracking in OMX.
184
185 2013-03-15 09:32:42 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
186
187         * omx/gstomxvideodec.c:
188           omxvideodec: Give the codec_data the timestamp of the first frame and no duration
189
190 2013-03-14 17:31:17 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
191
192         * config/rpi/gstomx.conf:
193           omx: The MPEG4 encoder is not available on RPi and probably never will
194
195 2013-03-14 17:26:30 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
196
197         * omx/gstomx.c:
198           omx: Reset some more buffer fields as required
199
200 2013-03-14 17:01:08 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
201
202         * config/rpi/gstomx.conf:
203         * omx/gstomx.c:
204           omx: The hack to disable usage of EOS buffers is not necessary anymore on RPi
205
206 2013-03-14 17:00:12 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
207
208         * omx/gstomx.c:
209           omx: Reset the flags for output ports when releasing a buffer, not for input ports
210
211 2013-03-14 15:03:02 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
212
213         * omx/gstomxh263enc.c:
214         * omx/gstomxh264enc.c:
215         * omx/gstomxmpeg4videoenc.c:
216           omx: Only unref caps after usage of its fields
217
218 2013-03-14 14:51:32 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
219
220         * omx/gstomxvideodec.c:
221           omxvideodec: Simplify bufferpool implementation
222
223 2013-03-13 13:23:35 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
224
225         * omx/gstomxvideodec.c:
226           omxvideodec: Improve min/max buffer counts handling
227
228 2013-03-14 12:49:42 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
229
230         * omx/gstomx.c:
231         * omx/gstomx.h:
232         * omx/gstomxaudioenc.c:
233         * omx/gstomxvideodec.c:
234         * omx/gstomxvideoenc.c:
235           omx: Handle the OMX_EventBufferFlag to detect EOS too
236
237 2013-03-13 10:29:23 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
238
239         * omx/gstomx.c:
240         * omx/gstomx.h:
241           omx: Mark OpenMAX buffers as EGLImage if they contain one
242           Needs special handling in some places, e.g. because nFilledLen
243           will always be 0.
244
245 2013-03-13 10:21:49 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
246
247         * omx/gstomxvideoenc.c:
248           omxvideoenc: Properly check the nVersion field
249
250 2013-03-13 09:34:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
251
252         * omx/gstomxvideoenc.c:
253           omxvideoenc: RPi returns garbage for OMX_IndexParamVideoBitrate, work around that
254
255 2013-03-12 20:02:53 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
256
257         * omx/gstomxvideodec.c:
258           omxvideodec: Make sure to always get the right buffer
259
260 2013-03-12 19:35:39 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
261
262         * omx/gstomxvideodec.c:
263           omxvideodec: Make sure the buffer is released to the pool if it's not the one we wanted
264
265 2013-03-12 19:17:08 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
266
267         * omx/gstomxvideodec.c:
268           omxvideodec: Drop too late frames instead of finishing them
269
270 2013-03-12 19:16:46 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
271
272         * omx/gstomxvideodec.c:
273           omx: Release buffers to the correct port
274
275 2013-03-13 09:37:02 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
276
277         * omx/gstomx.c:
278           omx: Always load the OpenMAX IL cores with G_MODULE_BIND_LOCAL
279
280 2013-03-12 18:20:22 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
281
282         * omx/gstomx.c:
283           omx: Lazy-load symbols of libbcm_host.so
284           It exports eglIntOpenMAXILDoneMarker(), which is also
285           exported by libopenmaxil.so... but we need the version
286           from libopenmaxil.so as the other one is just a stub.
287
288 2013-03-11 13:59:15 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
289
290         * omx/gstomxaacenc.c:
291         * omx/gstomxh263enc.c:
292         * omx/gstomxmpeg4videoenc.c:
293           omx: Don't set profile/level in other encoders if downstream caps don't specify any
294
295 2013-03-11 13:49:38 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
296
297         * omx/gstomxh264enc.c:
298           omxh264enc: If caps specify no profile/level use the component's defaults
299
300 2013-03-11 13:45:04 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
301
302         * omx/gstomxvideoenc.c:
303           omxvideoenc: Always allocate output buffers from the loop function
304
305 2013-03-11 13:12:57 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
306
307         * omx/gstomxh264enc.c:
308           omxh264enc: The h264 encoders are supposed to output byte-stream/au
309
310 2013-03-11 11:47:42 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
311
312         * omx/gstomxvideoenc.c:
313           omxvideoenc: Wait until the Executing state is reached before passing buffers to the component
314
315 2013-03-11 10:39:25 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
316
317         * omx/gstomxvideodec.c:
318           omxvideodec: Don't provide buffers to downstream
319           This only works reliable if we have a way to tell downstream to
320           release all our buffers for reconfiguration.
321
322 2013-03-11 10:29:44 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
323
324         * omx/gstomxaudioenc.c:
325           omxaudioenc: Disable output port when setting a new format
326
327 2013-03-11 10:29:30 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
328
329         * omx/gstomxvideoenc.c:
330           omxvideoenc: Disable output port when setting a new format
331
332 2013-03-11 10:22:07 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
333
334         * omx/gstomxvideodec.c:
335           omxvideodec: Disable output port when setting a new format
336           Based on a patch by Josep Torra <n770galaxy@gmail.com>
337
338 2013-03-11 10:04:10 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
339
340         * omx/gstomxaudioenc.c:
341         * omx/gstomxvideodec.c:
342         * omx/gstomxvideoenc.c:
343           omx: Catch errors when releasing buffers to a port and handle them
344
345 2013-03-10 12:09:23 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
346
347         * omx/gstomxvideoenc.c:
348           omxvideoenc: Use the correct video codec state when filling an input buffer
349
350 2013-03-10 12:05:50 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
351
352         * omx/gstomxvideoenc.c:
353           omxvideoenc: Store correct input state
354
355 2013-03-10 11:27:34 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
356
357         * omx/gstomxvideoenc.c:
358           omxvideoenc: Allocate output buffers as early as possible
359
360 2013-03-10 11:01:57 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
361
362         * omx/gstomx.c:
363           omx: Log unknown events
364
365 2013-03-09 14:14:40 +0100  Josep Torra <n770galaxy@gmail.com>
366
367         * omx/gstomxaudioenc.c:
368         * omx/gstomxvideodec.c:
369         * omx/gstomxvideoenc.c:
370           omx: Fix deadlock in encoders and add explainatory comments.
371
372 2013-03-09 13:27:08 +0100  Josep Torra <n770galaxy@gmail.com>
373
374         * omx/gstomxvideodec.c:
375           omxvideodec: fix printf format identifier
376
377 2013-03-09 13:07:59 +0100  Josep Torra <n770galaxy@gmail.com>
378
379         * omx/gstomxvideodec.c:
380           omx: Minor changes on debuging info
381
382 2013-03-09 13:00:33 +0100  Josep Torra <n770galaxy@gmail.com>
383
384         * omx/gstomxvideodec.c:
385           omxvideodec: avoid a deadlock
386
387 2013-03-08 15:56:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
388
389         * omx/gstomxvideodec.c:
390           omxvideodec: Don't forget to populate output port
391
392 2013-03-08 15:11:27 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
393
394         * omx/gstomxaudioenc.c:
395         * omx/gstomxvideodec.c:
396         * omx/gstomxvideoenc.c:
397           omx: Flush and stop srcpad when configuring new caps
398
399 2013-03-07 17:40:21 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
400
401         * config/rpi/gstomx.conf:
402         * omx/gstomx.c:
403           Revert "omx: use no-component-reconfigure hack on the Raspberry PI"
404           This reverts commit e123b2089f69a413241f30a2428ea6edd8f231e7.
405           It's not required anymore after the fix from the last commit.
406
407 2013-03-07 17:38:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
408
409         * omx/gstomxvideodec.c:
410           omxvideodec: Only negotiate a color format with downstream on the initial caps
411
412 2013-03-07 17:29:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
413
414         * omx/gstomxvideodec.c:
415           omxvideodec: Make sure the output port is disabled while we allocate buffers
416
417 2013-03-07 17:27:05 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
418
419         * omx/gstomx.c:
420           omx: Also wait for disabled output ports to be reconfigured
421
422 2013-03-07 14:10:12 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
423
424         * omx/gstomxvideodec.c:
425         * omx/gstomxvideodec.h:
426           omxvideodec: Add buffer pool for sharing OpenMAX memory with downstream
427
428 2013-03-07 11:11:58 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
429
430         * omx/gstomx.c:
431         * omx/gstomx.h:
432         * omx/gstomxaudioenc.c:
433         * omx/gstomxvideodec.c:
434         * omx/gstomxvideoenc.c:
435           omx: Add timeout to the flush operation and move buffer populating to a separate function
436
437 2013-03-06 17:33:23 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
438
439         * config/rpi/gstomx.conf:
440         * omx/gstomx.c:
441         * omx/gstomx.h:
442           omx: Remove min buffer count hack for RPi again
443           It's not necessary anymore
444
445 2013-03-06 17:05:51 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
446
447         * omx/gstomx.c:
448         * omx/gstomx.h:
449         * omx/gstomxaudioenc.c:
450         * omx/gstomxvideodec.c:
451         * omx/gstomxvideoenc.c:
452           omx: Do number of buffers configuration explicitely
453
454 2013-03-07 11:24:54 +0100  Josep Torra <n770galaxy@gmail.com>
455
456         * omx/gstomxvideodec.c:
457           omxvideodec: fixes reconfiguration
458           Avoid having fixed fields from previous caps on reconfiguration.
459
460 2013-03-07 11:02:39 +0100  Josep Torra <n770galaxy@gmail.com>
461
462         * config/rpi/gstomx.conf:
463         * omx/gstomx.c:
464           omx: use no-component-reconfigure hack on the Raspberry PI
465
466 2013-03-07 00:03:28 +0000  Tim-Philipp Müller <tim@centricular.net>
467
468         * common:
469           Automatic update of common submodule
470           From 2de221c to 04c7a1e
471
472 2013-03-01 15:32:47 +0100  Josep Torra <n770galaxy@gmail.com>
473
474         * omx/gstomxvideoenc.h:
475           omxvideoenc: drop unused data member
476
477 2013-03-01 12:23:54 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
478
479         * omx/gstomxh263enc.c:
480         * omx/gstomxh264enc.c:
481         * omx/gstomxmpeg4videoenc.c:
482           omxvideoenc: And set it actually on the right port
483
484 2013-03-01 12:18:08 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
485
486         * omx/gstomxh263enc.c:
487         * omx/gstomxh264enc.c:
488         * omx/gstomxmpeg4videoenc.c:
489           omxvideoenc: Set the coding type in the subclasses to the specific codec
490
491 2013-03-01 11:49:53 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
492
493         * omx/gstomxvideoenc.c:
494           omxvideoenc: gst_omx_port_update_port_definition() returns a OMX_ERRORTYPE, not a gboolean
495
496 2013-03-01 11:44:17 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
497
498         * omx/gstomxvideodec.c:
499         * omx/gstomxvideoenc.c:
500           omxvideo{dec,enc}: Don't use the input state if it wasn't set yet
501
502 2013-03-01 11:25:04 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
503
504         * omx/gstomxaudioenc.c:
505           omxaudioenc: Only enable the output port after we know the output format
506
507 2013-03-01 11:24:56 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
508
509         * omx/gstomxvideoenc.c:
510           omxvideoenc: Only enable the output port after we know the output format
511
512 2013-02-28 17:02:31 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
513
514         * omx/gstomxvideodec.c:
515           omxvideodec: Only enable the output port after we know the output format
516
517 2013-03-01 11:18:18 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
518
519         * omx/gstomx.c:
520         * omx/gstomx.h:
521           omx: Handle errors more gracefully
522
523 2013-02-28 15:48:53 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
524
525         * omx/gstomx.c:
526         * omx/gstomx.h:
527         * omx/gstomxaudioenc.c:
528         * omx/gstomxh263dec.c:
529         * omx/gstomxh264dec.c:
530         * omx/gstomxmpeg2dec.c:
531         * omx/gstomxmpeg4videodec.c:
532         * omx/gstomxvideodec.c:
533         * omx/gstomxwmvdec.c:
534           omx: Return the OMX_ERRORTYPE from gst_omx_port_update_port_definition
535
536 2013-02-28 15:37:53 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
537
538         * omx/gstomx.c:
539           omx: Return port definition update errors
540
541 2013-02-28 13:57:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
542
543         * config/rpi/gstomx.conf:
544         * omx/gstomx.c:
545         * omx/gstomx.h:
546           omx: Add hack for RPi for the minimum number of buffers required for a port
547           The value in the port definition is invalid and the initial actual
548           buffer count should be used.
549
550 2013-02-28 13:26:56 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
551
552         * omx/gstomx.c:
553           omx: Always tell the component about the right number of buffers that we're going to allocate
554
555 2013-02-28 13:07:58 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
556
557         * omx/gstomx.c:
558           omx: Invert assertion to let it express what was intended
559
560 2013-02-28 11:19:07 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
561
562         * omx/gstomx.c:
563         * omx/gstomx.h:
564         * omx/gstomxaudioenc.c:
565         * omx/gstomxvideodec.c:
566         * omx/gstomxvideoenc.c:
567           omx: Add API for allocating a specific number of buffers and using EGLImages or buffers allocated elsewhere
568
569 2013-02-27 16:55:16 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
570
571         * omx/gstomxaudioenc.c:
572         * omx/gstomxvideodec.c:
573         * omx/gstomxvideoenc.c:
574           omx: Refactor code flow a bit if output port settings have changed
575
576 2013-02-27 15:49:56 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
577
578         * omx/gstomx.c:
579         * omx/gstomx.h:
580         * omx/gstomxaudioenc.c:
581         * omx/gstomxvideodec.c:
582         * omx/gstomxvideoenc.c:
583           omx: Clean up port settings change handling
584
585 2013-02-27 11:30:14 +0100  Josep Torra <n770galaxy@gmail.com>
586
587         * omx/gstomxvideodec.c:
588           omxvideodec: initialize param structure before using it
589
590 2013-02-27 10:21:39 +0100  Josep Torra <n770galaxy@gmail.com>
591
592         * omx/gstomxvideoenc.c:
593           omxvideoenc: prevent a NULL pointer access
594
595 2013-02-26 17:25:49 +0100  Josep Torra <n770galaxy@gmail.com>
596
597         * omx/gstomxvideodec.c:
598           omxvideodec: prevent a NULL pointer access
599
600 2013-02-25 13:11:16 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
601
602         * omx/gstomx.c:
603           omx: Fix deadlock during reconfiguration
604
605 2013-02-25 12:38:27 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
606
607         * omx/gstomx.c:
608         * omx/gstomxaudioenc.c:
609         * omx/gstomxvideodec.c:
610         * omx/gstomxvideoenc.c:
611           omx: Auto-detect the port indizes if possible
612
613 2013-02-25 11:42:38 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
614
615         * omx/gstomxvideodec.c:
616         * omx/gstomxvideoenc.c:
617           omx: Refactor querying of component supported caps into its own function
618
619 2013-02-25 10:41:12 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
620
621         * omx/gstomx.c:
622         * omx/gstomx.h:
623         * omx/gstomxaudioenc.c:
624         * omx/gstomxvideodec.c:
625         * omx/gstomxvideoenc.c:
626           omx: Refactor waiting for buffers to be released by the component to a separate function
627
628 2013-01-11 17:44:13 +0000  Sebastian Dröge <sebastian.droege@collabora.co.uk>
629
630         * omx/gstomx.c:
631         * omx/gstomx.h:
632           omx: Add methods to set up and close a tunnel between components
633
634 2013-02-25 09:15:53 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
635
636         * omx/gstomxaacenc.c:
637         * omx/gstomxaudioenc.c:
638         * omx/gstomxaudioenc.h:
639           omxaudioenc: Rename component variable
640
641 2013-02-25 09:15:46 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
642
643         * omx/gstomxh263enc.c:
644         * omx/gstomxh264enc.c:
645         * omx/gstomxmpeg4videoenc.c:
646         * omx/gstomxvideoenc.c:
647         * omx/gstomxvideoenc.h:
648           omxvideoenc: Rename component variable
649
650 2013-02-25 09:12:22 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
651
652         * omx/gstomxvideodec.c:
653         * omx/gstomxvideodec.h:
654           omxvideodec: Rename component variable
655
656 2013-02-22 16:27:33 +0100  Josep Torra <n770galaxy@gmail.com>
657
658         * omx/gstomxvideoenc.c:
659           omxvideoenc: remove duplicated line
660
661 2013-02-22 10:42:08 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
662
663         * omx/gstomx.c:
664           Retry loading libbcm_host.so without an absolute path if that failed
665
666 2013-02-21 20:32:42 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
667
668         * config/bellagio/Makefile.am:
669           Add missing file from last commit
670
671 2013-02-21 11:01:28 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
672
673         * config/Makefile.am:
674         * config/bellagio/gstomx.conf:
675         * configure.ac:
676         * omx/Makefile.am:
677         * omx/gstomx.conf:
678           Add OpenMAX IL target for Bellagio
679           Not tested since a very long time though.
680
681 2013-02-21 10:59:29 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
682
683         * configure.ac:
684         * omx/Makefile.am:
685           Allow using external OpenMAX IL headers
686
687 2013-02-21 10:14:12 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
688
689         * .gitignore:
690           Update .gitignore
691
692 2013-02-21 10:13:16 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
693
694         * config/Makefile.am:
695         * config/raspberry-pi.conf:
696         * config/rpi/Makefile.am:
697         * config/rpi/gstomx.conf:
698         * configure.ac:
699           Install the RPI config when the RPI target is selected
700
701 2013-02-21 10:08:07 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
702
703         * omx/gstomx.c:
704           Set default hacks for the RPI target and always initialize bcm_host
705
706 2013-02-21 10:05:37 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
707
708         * configure.ac:
709           Add configure parameter for setting the OpenMAX IL target
710
711 2013-02-12 11:55:39 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
712
713         * omx/gstomx.c:
714           omx: Add FIXME for the future
715
716 2013-02-12 11:49:21 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
717
718         * omx/gstomx.c:
719         * omx/gstomx.h:
720         * omx/gstomxaudioenc.c:
721         * omx/gstomxaudioenc.h:
722         * omx/gstomxvideodec.c:
723         * omx/gstomxvideodec.h:
724         * omx/gstomxvideoenc.c:
725         * omx/gstomxvideoenc.h:
726           omx: Some minor refactoring and cleanup
727
728 2013-02-12 11:45:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
729
730         * omx/gstomx.c:
731           omx: Don't access the port's buffers array if it wasn't allocated yet
732
733 2013-02-12 11:44:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
734
735         * omx/gstomx.c:
736           omx: Mark an array as const
737
738 2013-02-12 11:41:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
739
740         * omx/gstomx.c:
741         * omx/gstomx.h:
742         * omx/gstomxaudioenc.c:
743         * omx/gstomxvideodec.c:
744         * omx/gstomxvideoenc.c:
745           omx: Split enabling/disabling of port into sending the command and waiting for it
746           This allows to do anything necessary after sending the command to actually let it finish
747
748 2013-02-12 11:37:38 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
749
750         * omx/gstomx.c:
751           omx: Flushing is also allowed in Paused state
752
753 2013-02-12 11:28:36 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
754
755         * omx/gstomxvideoenc.c:
756           omxvideoenc: Set stride, slice height and buffer size
757
758 2013-02-12 11:09:30 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
759
760         * config/raspberry-pi.conf:
761           config: Add h264 and mpeg2 encoders to the raspberry pi config
762           Not completely working yet though.
763
764 2013-02-12 11:03:32 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
765
766         * omx/gstomxvideoenc.c:
767           omxvideoenc: Properly negotiate OMX color format with the component
768
769 2013-02-12 10:53:24 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
770
771         * omx/gstomxvideoenc.c:
772           omxvideoenc: Implement getcaps() vfunc
773
774 2013-01-29 21:32:53 +0000  Tim-Philipp Müller <tim@centricular.net>
775
776         * configure.ac:
777           configure: use 1.0 gstconfig.h to detect disabled subsystems
778           Update unused configure check for GStreamer core subsystem
779           features from 0.10 to 1.0.
780
781 2013-01-28 20:44:41 +0100  Stefan Sauer <ensonic@users.sf.net>
782
783         * common:
784           Automatic update of common submodule
785           From a942293 to 2de221c
786
787 2013-01-24 14:02:36 +0100  Julian Scheel <julian@jusst.de>
788
789         * config/raspberry-pi.conf:
790         * omx/Makefile.am:
791         * omx/gstomx.c:
792         * omx/gstomxmpeg2dec.c:
793         * omx/gstomxmpeg2dec.h:
794           omx: add mpeg2 video decoder
795           This adds a decoder class for mpeg2, as well as an extended
796           configuration for raspberry pi.
797           https://bugzilla.gnome.org/show_bug.cgi?id=692446
798           Signed-off-by: Julian Scheel <julian@jusst.de>
799
800 2013-01-18 16:47:04 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
801
802         * omx/gstomx.c:
803           omx: Minimize the time when the messages lock is held
804           Fixes a deadlock if any OMX functions are called when the
805           messages are handled.
806           Thanks to Nicolas Dufresne for noticing.
807
808 2013-01-18 15:28:20 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
809
810         * omx/gstomx.c:
811           omx: improve debug message when we can't find the config file
812           Mention where we looked for the config file.
813
814 2013-01-18 12:34:38 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
815
816         * configure.ac:
817           build: fix autogen.sh with automake 1.13
818           AM_CONFIG_HEADER -> AC_CONFIG_HEADERS
819
820 2013-01-17 18:07:41 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
821
822         * omx/gstomx.h:
823         * omx/gstomxaudioenc.h:
824         * omx/gstomxvideodec.h:
825         * omx/gstomxvideoenc.h:
826           omx: Fix includes to properly work with the 1.0 releases
827
828 2013-01-15 15:08:28 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
829
830         * common:
831           Automatic update of common submodule
832           From a72faea to a942293
833
834 2013-01-15 14:34:45 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
835
836         * omx/gstomx.c:
837           omx: Update port definition when changing some port setting
838
839 2013-01-14 11:41:57 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
840
841         * omx/Makefile.am:
842         * omx/gstomx.c:
843           omx: Rename from libgstopenmax.so to ligstomx.so for consistency
844
845 2013-01-11 15:32:22 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>
846
847         * omx/gstomx.c:
848           omx: Add a method to send message
849
850 2013-01-11 15:44:38 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
851
852         * omx/gstomx.c:
853         * omx/gstomx.h:
854           omx: Atomic ops are not required anymore for the reconfiguration
855
856 2013-01-11 12:52:10 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
857
858         * omx/gstomxaudioenc.c:
859         * omx/gstomxvideodec.c:
860         * omx/gstomxvideoenc.c:
861           omx: Fix some memory leaks and suboptimal locking
862
863 2013-01-11 12:34:04 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
864
865         * omx/gstomxvideoenc.c:
866           omxvideoenc: Don't forget to unmap frame in error cases
867
868 2013-01-11 12:29:20 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
869
870         * omx/gstomxvideoenc.c:
871           omxvideoenc: Fix copying of the video frames to the OMX buffers
872
873 2013-01-11 12:24:13 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
874
875         * omx/gstomxvideodec.c:
876           omxvideodec: Fix copying of the video frames from the OMX buffers
877
878 2013-01-10 14:44:33 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
879
880         * omx/Makefile.am:
881         * omx/gstomx.c:
882         * omx/gstomx.h:
883         * omx/gstomxaudioenc.c:
884         * omx/gstomxrecmutex.c:
885         * omx/gstomxrecmutex.h:
886           omx: Implement new approach for locking that should solve all deadlocks on RPi
887           No mutex is locked while calling any OpenMAX functions anymore
888           and everything from the OpenMAX callbacks is inserted into a message
889           queue and handled from outside the callbacks.
890           Also there's only a single mutex and condition variable per component
891           now for handling anything from OpenMAX callbacks and a single mutex
892           for keeping our component/port state sane.
893
894 2012-12-20 19:30:38 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
895
896         * omx/gstomxvideodec.c:
897           omxvideodec: Set the OMX buffer nFilledLength field properly
898
899 2012-12-20 18:48:21 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
900
901         * omx/gstomxrecmutex.c:
902         * omx/gstomxrecmutex.h:
903           omxrecmutex: Fix another race condition when two threads are trying to lock for recursion at the same time
904
905 2012-12-20 18:16:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
906
907         * omx/gstomxrecmutex.c:
908         * omx/gstomxrecmutex.h:
909           omxrecmutex: Fix yet another race condition that resulted in deadlocks
910
911 2012-12-20 17:46:36 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
912
913         * omx/gstomx.c:
914         * omx/gstomxrecmutex.c:
915         * omx/gstomxrecmutex.h:
916           omx: Fix another race condition in the recursive mutex
917           Between lock() and begin_recursion() it was possible for another thread to
918           try to do a recursive_lock(). This would block because the mutex was already
919           locked(), but not ready for recursive locking yet. unlock() would never
920           happen in the original thread because it was waiting for the other thread
921           to finish first.
922           Happened on the Raspberry Pi.
923
924 2012-12-20 14:45:18 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
925
926         * omx/gstomxrecmutex.c:
927         * omx/gstomxrecmutex.h:
928           omxrecmutex: Fix a small race condition when unlocking a non-recursive lock
929
930 2012-12-20 12:30:05 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
931
932         * omx/gstomxaudioenc.c:
933         * omx/gstomxvideodec.c:
934         * omx/gstomxvideoenc.c:
935           omx: Fix ununsed variable compiler warning
936
937 2012-12-20 12:27:47 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
938
939         * omx/gstomxaudioenc.c:
940         * omx/gstomxvideodec.c:
941         * omx/gstomxvideoenc.c:
942           omx: No need to start the srcpad task in ::start() already
943           It will be started properly after the caps are set.
944
945 2012-12-20 12:23:49 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
946
947         * omx/gstomxvideodec.c:
948           omxvideodec: OMX_ErrorNoMore is no error and just means we ended iteration
949
950 2012-12-20 12:20:31 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
951
952         * omx/gstomxaudioenc.c:
953         * omx/gstomxvideodec.c:
954         * omx/gstomxvideoenc.c:
955           omx: Improve debug output
956
957 2012-12-20 12:02:30 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
958
959         * omx/gstomxvideodec.c:
960           omxvideodec: Don't forget to free a GList
961
962 2012-12-20 11:56:29 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
963
964         * omx/gstomxvideodec.c:
965           omxvideodec: Map OMX_COLOR_FormatYUV420PackedPlanar to I420 too
966           This is used on the Raspberry Pi.
967
968 2012-12-20 11:55:36 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
969
970         * omx/gstomxvideodec.c:
971           omxvideodec: During negotiation of the output format make sure we use the correct OpenMAX format
972
973 2012-12-20 11:42:17 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
974
975         * omx/gstomxvideodec.c:
976           omxvideodec: If negotiation fails this could also mean that the component can't do it at this point yet
977
978 2012-12-20 11:40:13 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
979
980         * omx/gstomxvideodec.c:
981           omxvideodec: Improve format negotiation a bit
982           Don't leak caps and make sure to fixate caps.
983
984 2012-12-19 13:05:28 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
985
986         * omx/gstomx.h:
987           omx: Also initialize nStep field of the OMX structures
988
989 2012-12-19 13:03:37 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
990
991         * omx/gstomx.h:
992           omx: Initialize struct version with the OMX version we compiled with
993
994 2012-12-19 12:44:31 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
995
996         * omx/gstomxvideodec.c:
997           omxvideodec: Extract data from the input buffer, not the codec data
998
999 2012-12-19 12:19:12 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1000
1001         * omx/gstomx.c:
1002         * tools/listcomponents.c:
1003           omx: Use has_suffix() instead of has_prefix() for the Broadcom hack
1004
1005 2012-12-19 12:08:35 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1006
1007         * Makefile.am:
1008         * configure.ac:
1009         * tools/Makefile.am:
1010         * tools/listcomponents.c:
1011           tools: Add tool to list all components and their roles
1012
1013 2012-12-19 11:31:51 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1014
1015         * omx/gstomx.c:
1016           omx: Add hack to load and initialize libbcm_host.so
1017           Needed on the Raspberry Pi. Patch based on a patch by
1018           George Kiagiadakis <george.kiagiadakis@collabora.com>
1019
1020 2012-12-19 11:22:16 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1021
1022         * configure.ac:
1023         * omx/gstomx.h:
1024           configure: Add configure option to pack OpenMAX structures
1025           This is required to set to 4 for the Raspberry Pi for example.
1026
1027 2012-12-19 11:07:44 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1028
1029         * configure.ac:
1030           configure: Require GStreamer 1.0.0
1031
1032 2012-04-20 17:13:52 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
1033
1034         * omx/gstomx.h:
1035           omx: Initialize structures to version 1.1.2
1036
1037 2012-12-19 09:51:22 +0000  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1038
1039         * Makefile.am:
1040         * config/Makefile.am:
1041         * config/raspberry-pi.conf:
1042         * configure.ac:
1043         * omx/gstomx-raspberry.conf:
1044           config: Add raspberry-pi configuration in a different directory
1045
1046 2012-05-20 20:11:59 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
1047
1048         * omx/gstomx-raspberry.conf:
1049           raspberry: Add a gstomx.conf for the Raspberry Pi
1050
1051 2012-12-12 17:45:39 +0000  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1052
1053         * omx/gstomx.h:
1054         * omx/gstomxvideoenc.h:
1055           omx: Fix some compilation errors caused by circular includes
1056
1057 2012-11-19 11:29:44 +0000  Tim-Philipp Müller <tim@centricular.net>
1058
1059         * common:
1060           Automatic update of common submodule
1061           From 6bb6951 to a72faea
1062
1063 2012-11-12 15:14:09 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1064
1065         * omx/gstomxvideodec.c:
1066         * omx/gstomxvideoenc.c:
1067           omx: Fix refcount problem with frames being dropped because of decoder bugs
1068
1069 2012-11-12 11:29:48 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1070
1071         * omx/gstomx.c:
1072         * omx/gstomx.h:
1073         * omx/gstomxaudioenc.c:
1074         * omx/gstomxaudioenc.h:
1075         * omx/gstomxrecmutex.c:
1076         * omx/gstomxrecmutex.h:
1077         * omx/gstomxvideodec.c:
1078         * omx/gstomxvideodec.h:
1079         * omx/gstomxvideoenc.c:
1080         * omx/gstomxvideoenc.h:
1081           omx: Update to new GLib thread API
1082
1083 2012-10-22 14:34:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1084
1085         * omx/gstomxvideodec.c:
1086         * omx/gstomxvideoenc.c:
1087           omx: Use open/close vfuncs
1088
1089 2012-10-22 14:28:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1090
1091         * omx/gstomxvideodec.c:
1092         * omx/gstomxvideoenc.c:
1093           omx: Handle video meta correctly
1094
1095 2012-06-20 13:11:58 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1096
1097         * omx/Makefile.am:
1098         * omx/gstbasevideocodec.c:
1099         * omx/gstbasevideocodec.h:
1100         * omx/gstbasevideodecoder.c:
1101         * omx/gstbasevideodecoder.h:
1102         * omx/gstbasevideoencoder.c:
1103         * omx/gstbasevideoencoder.h:
1104         * omx/gstbasevideoutils.c:
1105         * omx/gstbasevideoutils.h:
1106         * omx/gstomxh263dec.c:
1107         * omx/gstomxh263enc.c:
1108         * omx/gstomxh264dec.c:
1109         * omx/gstomxh264enc.c:
1110         * omx/gstomxmpeg4videodec.c:
1111         * omx/gstomxmpeg4videoenc.c:
1112         * omx/gstomxvideodec.c:
1113         * omx/gstomxvideodec.h:
1114         * omx/gstomxvideoenc.c:
1115         * omx/gstomxvideoenc.h:
1116         * omx/gstomxwmvdec.c:
1117           omx: Port to video base classes from -base
1118
1119 2012-10-17 17:57:43 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
1120
1121         * omx/gstomxaacenc.c:
1122         * omx/gstomxh263dec.c:
1123         * omx/gstomxh263enc.c:
1124         * omx/gstomxh264dec.c:
1125         * omx/gstomxh264enc.c:
1126         * omx/gstomxmpeg4videodec.c:
1127         * omx/gstomxmpeg4videoenc.c:
1128         * omx/gstomxwmvdec.c:
1129           omx: gst_element_class_set_details_simple() -> set_static_metadata()
1130
1131 2012-10-06 15:01:11 +0100  Tim-Philipp Müller <tim@centricular.net>
1132
1133         * common:
1134           Automatic update of common submodule
1135           From 6c0b52c to 6bb6951
1136
1137 2012-09-22 16:10:38 +0100  Tim-Philipp Müller <tim@centricular.net>
1138
1139         * common:
1140           Automatic update of common submodule
1141           From 4f962f7 to 6c0b52c
1142
1143 2012-06-21 20:22:13 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
1144
1145         * omx/gstomx.c:
1146           omx: fix debug statement
1147
1148 2012-06-21 20:21:03 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
1149
1150         * omx/gstomx.c:
1151           omx: use recursive_lock inside set_last_error(), since this function may be called from an event handler
1152
1153 2012-08-22 13:31:59 +0200  Stefan Sauer <ensonic@users.sf.net>
1154
1155         * common:
1156           Automatic update of common submodule
1157           From 668acee to 4f962f7
1158
1159 2012-08-05 16:42:43 +0100  Tim-Philipp Müller <tim@centricular.net>
1160
1161         * common:
1162           Automatic update of common submodule
1163           From 94ccf4c to 668acee
1164
1165 2012-08-03 19:32:13 +0100  Tim-Philipp Müller <tim@centricular.net>
1166
1167         * omx/gstomx.c:
1168           omx: fix plugin name for new GST_PLUGIN_DEFINE API
1169
1170 2012-07-23 08:47:32 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1171
1172         * common:
1173           Automatic update of common submodule
1174           From 98e386f to 94ccf4c
1175
1176 2012-07-10 09:57:09 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1177
1178         * omx/gstbasevideodecoder.c:
1179           omx: Update for allocation query API changes
1180
1181 2012-06-20 11:09:13 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1182
1183         * omx/gstomxaudioenc.c:
1184         * omx/gstomxvideodec.c:
1185         * omx/gstomxvideoenc.c:
1186           omx: Fix compilation after gst_pad_start_task() API changes
1187
1188 2012-06-08 15:06:35 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
1189
1190         * common:
1191           Automatic update of common submodule
1192           From 03a0e57 to 98e386f
1193
1194 2012-06-06 18:20:18 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
1195
1196         * common:
1197           Automatic update of common submodule
1198           From 1fab359 to 03a0e57
1199
1200 2012-06-01 10:30:27 +0200  Edward Hervey <edward.hervey@collabora.co.uk>
1201
1202         * common:
1203           Automatic update of common submodule
1204           From f1b5a96 to 1fab359
1205
1206 2012-05-31 13:10:33 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1207
1208         * common:
1209           Automatic update of common submodule
1210           From 92b7266 to f1b5a96
1211
1212 2012-05-30 12:47:59 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1213
1214         * common:
1215           Automatic update of common submodule
1216           From ec1c4a8 to 92b7266
1217
1218 2012-05-30 11:26:30 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1219
1220         * common:
1221           Automatic update of common submodule
1222           From 3429ba6 to ec1c4a8
1223
1224 2012-05-13 15:58:10 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1225
1226         * common:
1227           Automatic update of common submodule
1228           From dc70203 to 3429ba6
1229
1230 2012-05-08 16:13:32 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
1231
1232         * omx/gstomx.c:
1233           omx: Fix spelling mistake found by lintian: s/Seperate/Separate/
1234
1235 2012-04-30 23:58:43 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>
1236
1237         * omx/Makefile.am:
1238         * omx/gstomx.c:
1239         * omx/gstomx.h:
1240         * omx/gstomxaudioenc.c:
1241         * omx/gstomxrecmutex.c:
1242         * omx/gstomxrecmutex.h:
1243         * omx/gstomxvideodec.c:
1244         * omx/gstomxvideoenc.c:
1245           Implement a new custom recursive mutex type and fix locking in callbacks so that in-context calls are allowed.
1246           According to the OMX specification, implementations are allowed to call
1247           callbacks in the context of their function calls. However, our callbacks
1248           take locks and this causes deadlocks if the unerlying OMX implementation
1249           uses this kind of in-context calls.
1250           A solution to the problem would be a recursive mutex. However, a normal
1251           recursive mutex does not fix the problem because it is not guaranteed
1252           that the callbacks are called from the same thread. What we see in Broadcom's
1253           implementation for example is:
1254           - OMX_Foo is called
1255           - OMX_Foo waits on a condition
1256           - A callback is executed in a different thread
1257           - When the callback returns, its calling function
1258           signals the condition that OMX_Foo waits on
1259           - OMX_Foo wakes up and returns
1260           The solution I came up with here is to take a second lock inside the callback,
1261           but only if recursion is expected to happen. Therefore, all calls to OMX
1262           functions are guarded by calls to gst_omx_rec_mutex_begin_recursion() / _end_recursion(),
1263           which effectively tells the mutex that at this point we want to allow calls
1264           to _recursive_lock() to succeed, although we are still holding the master lock.
1265
1266 2012-04-20 14:51:34 +0000  George Kiagiadakis <george.kiagiadakis@collabora.com>
1267
1268         * omx/gstomx.c:
1269         * omx/gstomx.h:
1270           omx: Add hack to disable setting roles to components.
1271           Conflicts:
1272           omx/gstomx.c
1273
1274 2012-04-30 23:20:24 +0000  George Kiagiadakis <george.kiagiadakis@collabora.com>
1275
1276         * omx/gstomx.h:
1277         * omx/gstomxvideodec.c:
1278           omxvideodec: Implement no-empty-eos-buffer hack, as in omxvideoenc.
1279           Conflicts:
1280           omx/gstomxvideodec.c
1281
1282 2012-04-30 23:19:55 +0000  George Kiagiadakis <george.kiagiadakis@collabora.com>
1283
1284         * omx/gstomxvideodec.c:
1285           omxvideodec: Fix coding style in the drain-may-not-return hack code
1286
1287 2012-04-25 19:03:48 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>
1288
1289         * omx/gstomx.c:
1290           omx: Fix trivial debug print bug
1291
1292 2012-04-25 19:01:32 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>
1293
1294         * omx/gstomx.c:
1295         * omx/gstomx.h:
1296         * omx/gstomxvideodec.c:
1297           omxvideodec: Add hack for Ducati components not returning from drain
1298           This happens on the Galaxy Nexus, and causes the pipeline to hang waiting
1299           endlessly for a drain. The hack replaces the wait with a wait + 500ms timeout.
1300
1301 2012-04-25 16:35:40 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>
1302
1303         * omx/gstomx.c:
1304           omx: Fix deadlock between ending a flush and the event handler
1305           gst_omx_port_set_flushing() calls OMX_FillThisBuffer at the end of a flush
1306           without releasing the port lock, and this can cause a deadlock with the
1307           EventHandler. This patches fixes this by dropping the lock for the duration of
1308           the fill buffer call.
1309
1310 2012-04-24 15:41:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1311
1312         * omx/gstbasevideodecoder.c:
1313         * omx/gstbasevideoencoder.c:
1314           omx: Update video encoder/decoder base classes from gst-plugins-bad
1315
1316 2012-04-16 09:16:10 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1317
1318         * configure.ac:
1319           configure: Modernize autotools setup a bit
1320           Also we now only create tar.bz2 and tar.xz tarballs.
1321
1322 2012-04-16 09:12:37 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1323
1324         * common:
1325           Automatic update of common submodule
1326
1327 2012-04-16 08:34:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1328
1329         * omx/gstomxaudioenc.c:
1330           omxaudioenc: Use gst_buffer_extract() to copy the input buffer data to the OpenMAX buffer
1331
1332 2012-04-13 17:16:42 -0400  Alessandro Decina <alessandro.decina@collabora.com>
1333
1334         * omx/Makefile.am:
1335           Fix relative/absolute path glitch
1336           Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
1337
1338 2012-04-12 15:57:32 -0400  Olivier Crête <olivier.crete@collabora.com>
1339
1340         * common:
1341         * configure.ac:
1342         * omx/Makefile.am:
1343         * omx/gstbasevideocodec.c:
1344         * omx/gstbasevideocodec.h:
1345         * omx/gstbasevideodecoder.c:
1346         * omx/gstbasevideodecoder.h:
1347         * omx/gstbasevideoencoder.c:
1348         * omx/gstbasevideoencoder.h:
1349         * omx/gstomx.c:
1350         * omx/gstomx.h:
1351         * omx/gstomxaacenc.c:
1352         * omx/gstomxaudioenc.c:
1353         * omx/gstomxaudioenc.h:
1354         * omx/gstomxh263dec.c:
1355         * omx/gstomxh263enc.c:
1356         * omx/gstomxh264dec.c:
1357         * omx/gstomxh264enc.c:
1358         * omx/gstomxmpeg4videodec.c:
1359         * omx/gstomxmpeg4videoenc.c:
1360         * omx/gstomxvideodec.c:
1361         * omx/gstomxvideodec.h:
1362         * omx/gstomxvideoenc.c:
1363         * omx/gstomxvideoenc.h:
1364         * omx/gstomxwmvdec.c:
1365           Port to Gst 0.11
1366
1367 2012-01-18 16:53:16 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
1368
1369         * Android.mk:
1370         * omx/Makefile.am:
1371           Enable building with Android's buildsystem
1372           This change adds prelimary buildsystem hooks to
1373           build gst-omx with the Android buildsystem. Like
1374           the rest of GStreamer's Android hooks, the process
1375           relies on the availability of androgenizer. A tool
1376           developed by Collabora to automatically generate
1377           Android.mk files from within the auto* setup.
1378           Androgenizer is currently available at:
1379           http://cgit.collabora.com/git/user/derek/androgenizer.git/
1380
1381 2011-12-13 10:17:41 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1382
1383         * omx/gstbasevideocodec.c:
1384           basevideocodec: Don't use G_TYPE_REGISTER_BOXED() yet
1385           This would require GLib 2.26.
1386
1387 2011-12-14 10:09:34 +0100  Jonas Larsson <Jonas.Larsson@palm.com>
1388
1389         * omx/gstomxaudioenc.c:
1390           omxaudioenc: Add hack for encoder components that don't allow empty EOS buffers
1391
1392 2011-12-14 10:07:29 +0100  Jonas Larsson <Jonas.Larsson@palm.com>
1393
1394         * omx/gstomxvideoenc.c:
1395           omxvideoenc: Fix deadlock when using the EOS hack
1396
1397 2011-12-12 14:26:48 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1398
1399         * omx/gstomxvideoenc.c:
1400           omxvideoenc: Remove workaround for basevideocodec bug
1401
1402 2011-12-12 14:26:34 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1403
1404         * omx/gstomxvideodec.c:
1405           omxvideodec: Remove workaround for basevideocodec bug
1406
1407 2011-12-05 17:57:01 +0000  Matej Knopp <matej.knopp@gmail.com>
1408
1409         * omx/gstbasevideocodec.c:
1410         * omx/gstbasevideocodec.h:
1411         * omx/gstbasevideodecoder.c:
1412         * omx/gstbasevideoencoder.c:
1413           basevideo: Make GstVideoFrame a reference counted boxed object
1414           ...and also clear all existing frames when resetting the decoder or encoder.
1415
1416 2011-12-09 12:17:29 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1417
1418         * omx/gstomx.c:
1419         * omx/gstomx.h:
1420         * omx/gstomxvideoenc.c:
1421           omx: Add hack for encoder components that don't allow empty EOS buffers
1422
1423 2011-12-09 10:21:47 +0100  Dake Gu <Dake.Gu@palm.com>
1424
1425         * omx/gstomxaacenc.c:
1426           omxaacenc: Generate and set codec_data on the caps for raw AAC
1427
1428 2011-10-31 11:36:06 +0100  Alessandro Decina <alessandro.decina@collabora.co.uk>
1429
1430         * omx/gstbasevideoencoder.c:
1431           basevideoencoder: handle failures in start() and stop()
1432
1433 2011-08-26 10:50:38 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
1434
1435         * omx/gstbasevideoencoder.c:
1436           basevideoenc: do not try to calculate latency from an unknown framerate
1437           It'll divide by zero, and latency is unknown for an unknown framerate.
1438           Fixes an assert in the schroenc test.
1439           https://bugzilla.gnome.org/show_bug.cgi?id=657419
1440
1441 2011-12-08 11:50:49 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1442
1443         * omx/gstbasevideoencoder.c:
1444           basevideoencoder: Only make the header buffer metadata writable, not the buffer
1445
1446 2011-12-08 10:18:36 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1447
1448         * omx/gstbasevideoencoder.c:
1449           basevideoencoder: Fix handling of force-keyunit events
1450
1451 2011-12-06 13:28:41 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1452
1453         * omx/gstomxaudioenc.c:
1454           omxaudioenc: Don't forward EOS events immediately but let all other events be handled by the base class
1455           Previously this logic was inversed, which did not make any sense at all.
1456
1457 2011-12-06 12:47:25 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1458
1459         * omx/gstomxaudioenc.c:
1460         * omx/gstomxaudioenc.h:
1461           omxaudioenc: Use correct timestamp, duration and filled length for the EOS buffers
1462
1463 2011-12-06 12:47:12 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1464
1465         * omx/gstomxvideodec.c:
1466         * omx/gstomxvideodec.h:
1467           omxvideodec: Use correct timestamp, duration and filled length for the EOS buffers
1468
1469 2011-12-06 12:46:51 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1470
1471         * omx/gstomxvideoenc.c:
1472         * omx/gstomxvideoenc.h:
1473           omxvideoenc: Use correct timestamp, duration and filled length for the EOS buffers
1474
1475 2011-12-05 13:18:09 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1476
1477         * omx/gstomx.c:
1478           omx: Improve debugging of buffer handling
1479
1480 2011-12-05 08:12:48 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1481
1482         * omx/gstomxvideoenc.c:
1483           omxvideoenc: Drop EOS events in ::finish()
1484           The event will be forwarded downstream from the srcpad
1485           loop function after the last buffer was generated by the
1486           component. Forwarding it after ::finish() will use the
1487           sinkpad streaming thread and does not guarantee that
1488           the encoder is completely drained.
1489
1490 2011-12-01 16:20:36 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1491
1492         * omx/gstomxvideodec.c:
1493           omxvideodec: Properly drop frames due to QoS
1494           Instead of finishing them they should be passed to drop(), which
1495           will then send QoS messages.
1496
1497 2011-11-29 12:21:32 +0100  Jonas Larsson <jonas@hallerud.se>
1498
1499         * omx/gstomxh264enc.c:
1500           omxh264enc: Add support for resending headers after a forced-keyframe
1501
1502 2011-11-29 12:12:33 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1503
1504         * omx/gstbasevideocodec.h:
1505         * omx/gstbasevideoencoder.c:
1506           basevideoencoder: Pass the all-headers field of the force-key-unit event to the subclass
1507
1508 2011-11-29 12:12:04 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1509
1510         * omx/gstbasevideoencoder.c:
1511         * omx/gstbasevideoencoder.h:
1512           basevideoencoder: Implement full support for the new force-key-unit event
1513           Including support for the running-time and count fields.
1514
1515 2011-11-29 09:31:11 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1516
1517         * omx/gstbasevideoencoder.c:
1518           basevideoencoder: Use new force-keyunit event API from gst-plugins-base
1519
1520 2011-11-29 09:18:19 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1521
1522         * omx/gstbasevideoencoder.c:
1523         * omx/gstbasevideoencoder.h:
1524           basevideoencoder: Adjusting padding is not required for -bad libraries
1525
1526 2011-11-28 19:48:01 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1527
1528         * omx/gstbasevideoencoder.h:
1529           basevideoencoder: Move some fields to the private part of the instance struct
1530
1531 2011-11-28 19:36:56 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1532
1533         * omx/gstbasevideoencoder.c:
1534           basevideoencoder: Make headers metadata writable before pushing downstream
1535           The timestamp, duration, etc of the headers has to be changed.
1536
1537 2011-11-28 19:35:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1538
1539         * omx/gstbasevideoencoder.c:
1540         * omx/gstbasevideoencoder.h:
1541           basevideoencoder: Push the downstream force-keyframe event after the next keyframe
1542           Even if the corresponding GstVideoFrame doesn't have the is_sync_point
1543           flag set.
1544
1545 2011-11-28 19:29:13 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1546
1547         * omx/gstbasevideoencoder.c:
1548         * omx/gstbasevideoencoder.h:
1549           basevideoencoder: Don't push an upstream force-keyunit event downstream
1550
1551 2011-11-25 11:48:08 +0100  Jonas Larsson <jonas@hallerud.se>
1552
1553         * omx/gstbasevideoencoder.c:
1554         * omx/gstbasevideoencoder.h:
1555           basevideoencoder: Add initial support for the all-headers field of the force-keyframe event
1556           See bug #607742.
1557
1558 2011-11-25 11:37:39 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
1559
1560         * omx/gstbasevideodecoder.c:
1561           basevideodecoder: some more debug logging
1562
1563 2011-11-23 20:03:32 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
1564
1565         * omx/gstbasevideodecoder.c:
1566         * omx/gstbasevideodecoder.h:
1567           basevideodecoder: add API to drop a frame and post a QoS message on the bus
1568           https://bugzilla.gnome.org/show_bug.cgi?id=640017
1569           API: gst_base_video_decoder_drop_frame()
1570
1571 2011-11-22 23:04:49 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
1572
1573         * omx/gstbasevideodecoder.c:
1574           docs: fix comment in gst_base_video_decoder_get_max_decode_time() docs
1575
1576 2011-11-22 19:57:07 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>
1577
1578         * omx/gstbasevideodecoder.c:
1579           basevideodecoder: fix weird event list handling
1580           Get rid of weird code that copies a list manually, taking
1581           ownership of the elements and then frees the old list. Instead,
1582           just take over the old list entirely. (If the intent was to
1583           reverse the list, one could use g_list_reverse() instead).
1584           Then, push events in the list out from last to first (since they
1585           were prepended as they came in) instead of just pushing out the
1586           last in the list and leaking the others.
1587
1588 2011-11-25 11:31:58 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1589
1590         * configure.ac:
1591         * omx/Makefile.am:
1592         * omx/gstbaseaudiodecoder.c:
1593         * omx/gstbaseaudiodecoder.h:
1594         * omx/gstbaseaudioencoder.c:
1595         * omx/gstbaseaudioencoder.h:
1596         * omx/gstbaseaudioutils.c:
1597         * omx/gstbaseaudioutils.h:
1598         * omx/gstomxaacenc.c:
1599         * omx/gstomxaudioenc.c:
1600         * omx/gstomxaudioenc.h:
1601           omxaudioenc: Use audio base classes from gst-plugins-base instead of having our own copies
1602
1603 2011-11-18 10:00:31 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1604
1605         * omx/gstomxaudioenc.c:
1606           omxaudioenc: First set ports to flushing before waiting for the srcpad streaming thread to finish
1607
1608 2011-11-18 09:59:43 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1609
1610         * omx/gstomxvideoenc.c:
1611           omxvideoenc: First set ports to flushing before waiting for the srcpad streaming thread to finish
1612
1613 2011-11-18 09:58:58 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1614
1615         * omx/gstomxvideodec.c:
1616           omxvideodec: First set ports to flushing before waiting for the srcpad streaming thread to finish
1617
1618 2011-11-17 14:38:54 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1619
1620         * omx/gstomx.c:
1621           omx: Only disabling of a port is like flushing, enabling is like unflushing
1622
1623 2011-11-17 13:33:35 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1624
1625         * omx/gstomx.c:
1626           omx: Enabling/disabling a port is also like flushing
1627           The component returns all buffers to us and shouldn't get any
1628           new buffers passed anymore.
1629
1630 2011-11-17 11:26:33 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1631
1632         * omx/gstomxaudioenc.c:
1633           omxaudioenc: Signal the drain GCond even if downstream returned an error
1634
1635 2011-11-17 11:26:20 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1636
1637         * omx/gstomxvideoenc.c:
1638           omxvideoenc: Signal the drain GCond even if downstream returned an error
1639
1640 2011-11-17 11:25:52 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1641
1642         * omx/gstomxvideodec.c:
1643           omxvideodec: Signal the drain GCond even if downstream returned an error
1644
1645 2011-11-17 10:34:19 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1646
1647         * omx/gstbasevideoencoder.c:
1648           basevideoencoder: Only call ::reset once in READY->PAUSED
1649
1650 2011-11-17 10:19:35 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1651
1652         * omx/gstomxaudioenc.c:
1653           omxaudioenc: Shutdown component in PAUSED->READY and deallocate buffers
1654
1655 2011-11-17 10:19:30 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1656
1657         * omx/gstomxvideoenc.c:
1658           omxvideoenc: Shutdown component in PAUSED->READY and deallocate buffers
1659
1660 2011-11-17 10:19:10 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1661
1662         * omx/gstomxvideodec.c:
1663           omxvideodec: Shutdown component in PAUSED->READY and deallocate buffers
1664
1665 2011-11-16 12:02:08 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1666
1667         * omx/gstomxvideoenc.c:
1668           omxvideoenc: Set force_keyframe to FALSE after handling it
1669           There's no reason why the base class should forward the event
1670           further downstream if we already handled it and will insert a
1671           keyframe.
1672
1673 2011-11-16 11:21:25 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1674
1675         * omx/gstomxvideodec.c:
1676           omxvideodec: Always push buffers downstream, even if we didn't find a corresponding GstVideoFrame
1677
1678 2011-11-15 09:47:55 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1679
1680         * omx/gstomx.c:
1681           omx: Fix debug level for flushing in wrong state from ERROR to DEBUG
1682           It's not really an error and doesn't matter at all if flush is called
1683           when the component is not running.
1684
1685 2011-11-15 08:40:07 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1686
1687         * omx/gstomxh264enc.c:
1688           omxh264enc: Detect bytestream stream format and don't put SPS/PPS into the caps for this format
1689
1690 2011-11-15 08:28:32 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1691
1692         * omx/gstomxvideoenc.c:
1693         * omx/gstomxvideoenc.h:
1694           omxvideoenc: Add vfunc for handling the output frames
1695           This can be used by subclasses to override the buffer flags
1696           or to handle some frames differently than the default behaviour.
1697
1698 2011-11-14 12:50:26 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1699
1700         * omx/gstomxvideodec.c:
1701           omxvideodec: Don't release buffers twice if dropping because of QoS
1702
1703 2011-11-14 09:13:06 -0800  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1704
1705         * omx/gstomx.c:
1706           omx: Add XXX to the nOffset reset hack comment for QCOM
1707
1708 2011-11-10 15:18:08 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1709
1710         * omx/gstomxaudioenc.c:
1711           omxaudioenc: Make srcpad caps setting threadsafe
1712
1713 2011-11-10 15:17:56 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1714
1715         * omx/gstomxvideoenc.c:
1716           omxvideoenc: Make srcpad caps setting threadsafe
1717
1718 2011-11-10 15:17:41 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1719
1720         * omx/gstomxvideodec.c:
1721           omxvideodec: Make srcpad caps setting threadsafe
1722
1723 2011-11-10 15:10:14 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1724
1725         * omx/gstomxaudioenc.c:
1726           omxaudioenc: Make the srcpad task and the sinkpad streaming thread handling threadsafe
1727
1728 2011-11-10 15:03:05 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1729
1730         * omx/gstomxaudioenc.c:
1731           omxaudioenc: Always flush the ports and make sure no processing is happening in ::flush
1732           This fixes a race condition that happened when seeking
1733           very often in a short period of time.
1734
1735 2011-11-10 15:02:22 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1736
1737         * omx/gstomxvideoenc.c:
1738           omxvideoenc: Always flush the ports and make sure no processing is happening in ::reset
1739           This fixes a race condition that happened when seeking
1740           very often in a short period of time.
1741
1742 2011-11-10 15:01:36 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1743
1744         * omx/gstomxvideoenc.c:
1745           omxvideoenc: Fix minor race condition when draining after upstream signalled EOS
1746
1747 2011-11-10 14:56:19 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1748
1749         * omx/gstomxaudioenc.c:
1750           omxaudioenc: Improve EOS handling
1751           If downstream return UNEXPECTED we should still signal the
1752           drain cond because nothing will trigger this again later.
1753
1754 2011-11-10 14:56:11 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1755
1756         * omx/gstomxvideoenc.c:
1757           omxvideoenc: Improve EOS handling
1758           If downstream return UNEXPECTED we should still signal the
1759           drain cond because nothing will trigger this again later.
1760
1761 2011-11-10 14:54:33 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1762
1763         * omx/gstomxaudioenc.c:
1764           omxaudioenc: Improve debugging of EOS and draining
1765
1766 2011-11-10 14:54:17 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1767
1768         * omx/gstomxvideoenc.c:
1769           omxvideoenc: Improve debugging of EOS and draining
1770
1771 2011-11-10 14:51:06 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1772
1773         * omx/gstomxvideodec.c:
1774           omxvideodec: Log if acquiring buffer for EOS failed
1775
1776 2011-11-10 14:42:13 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1777
1778         * omx/gstomxvideodec.c:
1779           omxvideodec: The component is not started in READY
1780
1781 2011-11-10 14:39:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1782
1783         * omx/gstomxaudioenc.c:
1784           omxaudioenc: No need to signal the drain cond when going from READY to PAUSED
1785           Also the component is not started in READY
1786
1787 2011-11-10 14:40:56 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1788
1789         * omx/gstomxvideoenc.c:
1790           omxvideoenc: No need to signal the drain cond when going from READY to PAUSED
1791           Also the component is not started in READY.
1792
1793 2011-11-09 15:46:02 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1794
1795         * omx/gstomxvideodec.c:
1796           omxvideodec: Always flush the ports and make sure no processing is happening in ::reset
1797           This fixes a race condition that happened when seeking
1798           very often in a short period of time.
1799
1800 2011-11-09 15:45:20 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1801
1802         * omx/gstomxvideodec.c:
1803           omxvideodec: Fix minor race condition when draining after upstream signalled EOS
1804
1805 2011-11-09 15:44:11 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1806
1807         * omx/gstomxvideodec.c:
1808           omxvideodec: Improve EOS handling
1809           If downstream return UNEXPECTED we should still signal the
1810           drain cond because nothing will trigger this again later.
1811
1812 2011-11-09 15:43:32 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1813
1814         * omx/gstomxvideodec.c:
1815           omxvideodec: Improve debugging of EOS and draining
1816
1817 2011-11-09 15:42:46 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1818
1819         * omx/gstomxvideodec.c:
1820           omxvideodec: The component is not started already when going from READY to PAUSED
1821
1822 2011-11-09 15:42:13 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1823
1824         * omx/gstomxvideodec.c:
1825           omxvideodec: No need to signal the drain cond when going from READY to PAUSED
1826
1827 2011-11-09 15:41:02 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1828
1829         * omx/gstomx.c:
1830           omx: Always reset buffer flags for output ports, even in flushing/error state
1831
1832 2011-11-09 09:00:57 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1833
1834         * omx/gstomxvideodec.c:
1835           omxvideodec: Improve debugging in case of QoS-related frame drops
1836
1837 2011-11-08 12:46:31 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1838
1839         * omx/gstomxvideoenc.c:
1840           omxvideoenc: Release the video codec stream lock before acquiring an input buffer
1841           Otherwise the srcpad task might block on this lock and
1842           no buffers ever become available again.
1843
1844 2011-11-08 12:45:16 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1845
1846         * omx/gstomxaudioenc.c:
1847           omxaudioenc: Release the audio encoder stream lock before acquiring an input buffer
1848           Otherwise the srcpad task might block on this lock and
1849           no buffers ever become available again.
1850
1851 2011-11-08 12:42:58 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1852
1853         * omx/gstomxvideodec.c:
1854           omxvideodec: Release the video codec stream lock before acquiring an input buffer
1855           Otherwise the srcpad task might block on this lock and
1856           no buffers ever become available again.
1857
1858 2011-11-08 11:07:01 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1859
1860         * omx/gstomxaudioenc.c:
1861         * omx/gstomxaudioenc.h:
1862           omxaudioenc: Don't try to drain the component after EOS
1863           And don't send EOS twice in any case. This most likely
1864           will cause the component to not output it again and
1865           is not necessary anyway.
1866
1867 2011-11-08 11:03:29 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1868
1869         * omx/gstomxvideoenc.c:
1870         * omx/gstomxvideoenc.h:
1871           omxvideoenc: Don't try to drain the component after EOS
1872           And don't send EOS twice in any case. This most likely
1873           will cause the component to not output it again and
1874           is not necessary anyway.
1875
1876 2011-11-08 10:46:36 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1877
1878         * omx/gstomxvideodec.c:
1879         * omx/gstomxvideodec.h:
1880           omxvideodec: Don't try to drain the component after EOS
1881           And don't send EOS twice in any case. This most likely
1882           will cause the component to not output it again and
1883           is not necessary anyway.
1884
1885 2011-11-08 09:09:28 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1886
1887         * omx/gstomxvideodec.c:
1888           omxvideodec: Implement dropping of too late frames via QoS
1889
1890 2011-11-08 08:31:58 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1891
1892         * omx/gstomxaudioenc.c:
1893           omxaudioenc: Minor code refactoring
1894
1895 2011-11-08 08:31:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1896
1897         * omx/gstomxvideoenc.c:
1898           omxvideoenc: Minor code refactoring
1899
1900 2011-11-08 08:31:32 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1901
1902         * omx/gstomxvideodec.c:
1903           omxvideodec: Make sure to always release buffers back to OMX
1904
1905 2011-11-08 08:24:19 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1906
1907         * omx/gstomx.c:
1908           omx: Also properly release buffers when in error state
1909
1910 2011-11-08 08:22:08 +0100  Jonas Larsson <Jonas.Larsson@palm.com>
1911
1912         * omx/gstomx.c:
1913           omx: Properly release buffers during flushing
1914           We can't pass them back to OMX_FillThisBuffer() or OMX_EmptyThisBuffer()
1915           but instead of doing nothing we have to put them back into our queue.
1916           Otherwise the buffer is leaked and we will have too few buffers in
1917           the future.
1918
1919 2011-11-07 14:00:47 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1920
1921         * omx/gstomxvideodec.c:
1922           omxvideodec: Free pending frames after draining component
1923
1924 2011-11-07 14:00:35 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1925
1926         * omx/gstomxvideoenc.c:
1927           omxvideoenc: Free pending frames after draining the component
1928
1929 2011-11-07 11:07:01 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1930
1931         * omx/gstomxvideoenc.c:
1932           omxvideoenc: Make handling and usage of the base video codec frames threadsafe
1933
1934 2011-11-07 11:05:29 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1935
1936         * omx/gstomxvideoenc.c:
1937           omxvideoenc: Fix deadlock between srcpad stream lock and ::reset()
1938
1939 2011-11-07 11:04:27 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1940
1941         * omx/gstomxvideodec.c:
1942           omxvideoenc: Make handling and usage of the base video codec frames threadsafe
1943
1944 2011-11-07 10:58:44 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1945
1946         * omx/gstomxvideoenc.c:
1947           omxvideoenc: Free all pending frames after draining the component
1948
1949 2011-11-07 10:58:24 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1950
1951         * omx/gstomxvideodec.c:
1952           omxvideodec: Always free all pending frames when caps changes require reconfiguration
1953
1954 2011-11-04 09:43:48 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1955
1956         * omx/gstomxaudioenc.c:
1957           omxaudioenc: Only drain the component a single time and only after processing started
1958
1959 2011-11-04 09:43:32 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1960
1961         * omx/gstomxvideodec.c:
1962           omxvideodec: Only drain the component a single time and only after processing started
1963
1964 2011-11-04 09:43:12 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1965
1966         * omx/gstomxvideoenc.c:
1967           omxvideoenc: Only drain the component a single time and only after processing started
1968
1969 2011-11-04 09:04:16 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1970
1971         * omx/gstomx.c:
1972           omx: Reset buffer flags to 0 after it was consumed by the component or the element
1973           Some implementations don't reset the flags and the standard is not
1974           really clear on the expected behaviour. Let's just always reset the
1975           flags as they're not valid at this point anymore.
1976
1977 2011-11-02 13:50:14 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1978
1979         * omx/gstomxvideoenc.c:
1980         * omx/gstomxvideoenc.h:
1981           omxvideoenc: Better handling of encoder parameters
1982           Only set them if necessary and allow to use the component
1983           defaults.
1984
1985 2011-11-02 13:22:50 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1986
1987         * omx/gstomxvideoenc.c:
1988           omxvideoenc: Make unsupported bitrate/quantizer settings less fatal
1989
1990 2011-11-02 10:39:50 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1991
1992         * omx/gstomxvideodec.c:
1993           omxvideodec: If no stride was set for the OMX output port assume GStreamer stride
1994           This is not really correct but there's nothing else we could do.
1995
1996 2011-11-02 10:39:10 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
1997
1998         * omx/gstomxvideoenc.c:
1999           omxvideoenc: If no stride was set for the OMX input port assume GStreamer stride
2000           This is not really correct but there's nothing else we could do.
2001
2002 2011-11-01 16:46:09 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2003
2004         * omx/gstomxaudioenc.c:
2005         * omx/gstomxaudioenc.h:
2006           omxaudioenc: Implement draining of the component and use it
2007           This makes sure that all buffers are encoded and pushed downstream
2008           before flushing the ports and losing some buffers.
2009
2010 2011-11-01 16:41:46 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2011
2012         * omx/gstomxvideoenc.c:
2013         * omx/gstomxvideoenc.h:
2014           omxvideoenc: Implement draining of the component and use it
2015           This makes sure that all buffers are encoded and pushed downstream
2016           before flushing the ports and losing some buffers.
2017
2018 2011-11-01 16:08:59 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2019
2020         * omx/gstomxvideodec.c:
2021         * omx/gstomxvideodec.h:
2022           omxvideodec: Implement draining of the component and use it
2023           This makes sure that all buffers are decoded and pushed downstream
2024           before flushing the ports and losing some buffers.
2025
2026 2011-10-20 14:32:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2027
2028         * omx/gstomxvideodec.c:
2029           omxvideodec: Fix deadlock if ::reset is called before finding the corresponding frame of a decoded buffer
2030
2031 2011-11-01 15:10:12 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2032
2033         * omx/gstomxaudioenc.c:
2034         * omx/gstomxaudioenc.h:
2035         * omx/gstomxvideoenc.h:
2036           omxaudioenc: Forward downstream flow returns to upstream
2037
2038 2011-11-01 15:10:01 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2039
2040         * omx/gstomxvideoenc.c:
2041           omxvideoenc: Forward downstream flow returns to upstream
2042
2043 2011-11-01 13:58:38 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2044
2045         * omx/gstomxvideodec.c:
2046         * omx/gstomxvideodec.h:
2047           omxvideodec: Forward downstream flow returns to upstream
2048
2049 2011-10-25 14:23:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2050
2051         * README:
2052           omx: Add minimal README file
2053
2054 2011-10-20 15:21:07 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2055
2056         * omx/gstomxvideodec.c:
2057           omxvideodec: Fix deadlock caused by calling reset while the loop function does something with the base video codec stream lock
2058
2059 2011-10-20 15:20:47 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2060
2061         * omx/gstomxvideoenc.c:
2062           omxvideoenc: Fix deadlock caused by calling reset while the loop function does something with the base video codec stream lock
2063
2064 2011-10-20 14:30:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2065
2066         * omx/gstomxvideodec.c:
2067           omxvideodec: Move locking at the correct place
2068
2069 2011-10-14 10:27:47 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2070
2071         * omx/gstomx.c:
2072         * omx/gstomx.h:
2073           omx: Remove QCOM hack to reset nOffset in EmptyBufferDone
2074           This is now done in a generic way that does not require any
2075           hacks because it will work without any side effects on any
2076           OMX implementation.
2077
2078 2011-10-14 10:26:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2079
2080         * omx/gstomx.c:
2081           omx: Reset nOffset to 0 in EmptyBufferDone if nFilledLen is 0
2082           Some OMX implementations don't reset nOffset when the complete
2083           buffer is emptied but instead only reset nFilledLen. We reset
2084           nOffset to 0 if nFilledLen == 0, which is safe to do because
2085           the offset *must* be 0 if the buffer is not filled at all.
2086           Seen in QCOM's OMX implementation.
2087
2088 2011-10-04 10:56:33 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2089
2090         * omx/gstomxvideoenc.c:
2091           omxvideoenc: If one parameter/configuration is not supported don't skip the next
2092
2093 2011-10-03 09:12:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2094
2095         * omx/gstomxh264dec.c:
2096           omxh264dec: Require stream-format=byte-stream
2097           Other stream-formats are unlikely to be supported by OMX components.
2098
2099 2011-09-29 10:37:32 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2100
2101         * omx/gstomxvideodec.c:
2102         * omx/gstomxvideodec.h:
2103           omxvideodec: Add API for subclasses to prepare/convert frames
2104
2105 2011-09-27 15:08:54 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2106
2107         * omx/gstomxaudioenc.c:
2108           omxaudioenc: Switch to Idle first and wait before switching to Loaded and deallocating buffers
2109           Allocating buffers before the Idle state is reached can lead to crashes.
2110
2111 2011-09-27 15:08:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2112
2113         * omx/gstomxvideoenc.c:
2114           omxvideoenc: Switch to Idle first and wait before switching to Loaded and deallocating buffers
2115           Allocating buffers before the Idle state is reached can lead to crashes.
2116
2117 2011-09-27 15:05:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2118
2119         * omx/gstomxvideodec.c:
2120           omxvideodec: Switch to Idle first and wait before switching to Loaded and deallocating buffers
2121           Allocating buffers before the Idle state is reached can lead to crashes.
2122
2123 2011-09-27 14:15:06 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2124
2125         * omx/gstomx.c:
2126         * omx/gstomx.h:
2127         * omx/gstomxvideodec.c:
2128           omxvideodec: New hack for QCOM to recreate the component instead of reconfiguring it on caps changes
2129
2130 2011-09-27 12:13:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2131
2132         * omx/gstomx.c:
2133           omx: Change a g_assert() into a GST_WARNING_OBJECT()
2134
2135 2011-09-26 13:04:18 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2136
2137         * omx/gstomx.c:
2138         * omx/gstomx.h:
2139           omx: Add hack for Qualcomm's OMX implementation to manually reset nOffset in EmptyBufferDone
2140
2141 2011-09-23 17:02:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2142
2143         * omx/gstomxaudioenc.c:
2144           omxaudioenc: Add a check to prevent a zero-sized OMX buffer
2145
2146 2011-09-23 17:02:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2147
2148         * omx/gstomxvideoenc.c:
2149           omxvideoenc: Add some more checks for correct OMX buffer sizes
2150
2151 2011-09-23 15:53:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2152
2153         * omx/gstomxvideodec.c:
2154           omxvideodec: Add some more checks for OMX buffer sizes
2155
2156 2011-09-14 10:15:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2157
2158         * omx/gstomx.c:
2159         * omx/gstomx.h:
2160         * omx/gstomxaudioenc.c:
2161         * omx/gstomxvideodec.c:
2162         * omx/gstomxvideoenc.c:
2163           omx: Wait until the Executing state is reached before calling OMX_FillThisBuffer()
2164           This correctly works around the QCOM race condition that happens when calling
2165           FTB after setting the new state and before reaching it.
2166
2167 2011-09-02 14:43:43 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2168
2169         * omx/gstomxvideodec.c:
2170           omxvideodec: Negotiate video format with downstream and what the component claims to support
2171
2172 2011-08-25 19:56:58 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
2173
2174         * omx/gstbasevideoencoder.c:
2175           basevideoencoder: fix element leak
2176           and this concludes an hour of yelling at the bloody test failing,
2177           only to track down the problem not being in the test.
2178           https://bugzilla.gnome.org/show_bug.cgi?id=657368
2179
2180 2011-08-19 09:20:39 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2181
2182         * omx/gstomxvideoenc.c:
2183           omxvideoenc: Release basevideocodec stream lock while waiting for a buffer
2184           This prevents deadlocks if no empty input buffers are available and
2185           releasing input buffers requires the loop function to handle some
2186           output buffers first.
2187
2188 2011-08-19 09:19:22 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2189
2190         * omx/gstomxvideodec.c:
2191           omxvideodec: Release basevideocodec stream lock while waiting for a buffer
2192           This prevents deadlocks if no empty input buffers are available and
2193           releasing input buffers requires the loop function to handle some
2194           output buffers first.
2195
2196 2011-08-18 10:24:26 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2197
2198         * omx/gstbasevideodecoder.c:
2199           basevideodecoder: Fix deadlock
2200
2201 2011-08-18 10:03:20 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2202
2203         * omx/gstbaseaudiodecoder.c:
2204           baseaudiodecoder: Don't take the stream lock in the seek handler
2205           This will lead to deadlocks
2206
2207 2011-08-18 10:02:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2208
2209         * omx/gstbasevideocodec.c:
2210         * omx/gstbasevideocodec.h:
2211         * omx/gstbasevideodecoder.c:
2212         * omx/gstbasevideoencoder.c:
2213           basevideo: Fix locking, especially if both pads have different streaming threads
2214
2215 2011-08-18 09:42:02 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2216
2217         * omx/gstbasevideodecoder.c:
2218         * omx/gstbasevideoencoder.c:
2219           basevideo: Don't call g_type_class_peek_parent() in class_init
2220           This is already done by the GObject boilerplate macro
2221
2222 2011-08-18 09:40:46 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2223
2224         * omx/gstbaseaudiodecoder.c:
2225           baseaudiodecoder: Don't call g_type_class_peek_parent() in class_init
2226           This is already done by the boilerplate macro
2227
2228 2011-08-18 09:34:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2229
2230         * omx/gstbaseaudiodecoder.c:
2231         * omx/gstbaseaudiodecoder.h:
2232           baseaudiodecoder: Fix thread safety issues if both pads have different streaming threads
2233
2234 2011-08-18 09:17:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2235
2236         * omx/gstbaseaudiodecoder.c:
2237           baseaudiodecoder: Delay sending of serialized events to finish_frame()
2238
2239 2011-08-17 14:33:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2240
2241         * omx/gstomxaudioenc.c:
2242           omxaudioenc: Always require at least OMX_MIN_PCMPAYLOAD_MSEC per input buffer
2243
2244 2011-08-17 14:28:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2245
2246         * omx/gstbaseaudioencoder.c:
2247         * omx/gstbaseaudioencoder.h:
2248           baseaudioencoder: Add support for requesting a minimum and maximum number of samples per frame
2249           This extends the special case of a fixed number of samples per frame
2250           that was supported before already.
2251
2252 2011-08-17 14:17:18 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2253
2254         * omx/gstomxaudioenc.c:
2255           omxaudioenc: Handle inbuf==NULL properly in ::handle_frame()
2256
2257 2011-08-17 13:04:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2258
2259         * omx/gstomxaacenc.c:
2260           omxaacenc: Implement ::get_num_samples() vfunc
2261
2262 2011-08-17 13:03:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2263
2264         * omx/gstomxaudioenc.c:
2265         * omx/gstomxaudioenc.h:
2266           omxaudioenc: Add vfunc to get the number of samples inside a buffer
2267
2268 2011-08-17 11:34:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2269
2270         * omx/gstomxaudioenc.c:
2271           omxaudioenc: Release baseaudioencoder stream lock while waiting for a buffer in ::handle_frame()
2272           This prevents deadlocks if no empty input buffers are available and
2273           releasing input buffers requires the loop function to handle some
2274           output buffers first.
2275
2276 2011-08-17 11:34:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2277
2278         * omx/gstbaseaudioencoder.c:
2279         * omx/gstbaseaudioencoder.h:
2280           baseaudioencoder: Fix thread safety issues if both pads have different streaming threads
2281
2282 2011-08-17 09:58:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2283
2284         * omx/gstbaseaudioencoder.c:
2285           baseaudioencoder: Taking the OBJECT lock in reset() is not needed
2286
2287 2011-08-16 11:03:24 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2288
2289         * omx/gstomxaudioenc.c:
2290           omxaudioenc: Remove hack that only applies to the video encoder class
2291
2292 2011-08-16 10:49:21 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2293
2294         * omx/Makefile.am:
2295         * omx/gstomx.c:
2296         * omx/gstomx.conf:
2297         * omx/gstomxaacenc.c:
2298         * omx/gstomxaacenc.h:
2299           omxaacenc: Add initial version of OpenMAX AAC encoder element
2300
2301 2011-08-15 15:10:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2302
2303         * omx/Makefile.am:
2304         * omx/gstomxaudioenc.c:
2305         * omx/gstomxaudioenc.h:
2306           omxaudioenc: Add initial version of audio encoder base class
2307
2308 2011-08-15 14:14:11 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2309
2310         * omx/gstbaseaudioencoder.c:
2311           baseaudioencoder: Delay sending of serialized events to finish_frame()
2312
2313 2011-08-15 13:06:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2314
2315         * omx/Makefile.am:
2316         * omx/gstbaseaudiodecoder.c:
2317         * omx/gstbaseaudiodecoder.h:
2318         * omx/gstbaseaudioencoder.c:
2319         * omx/gstbaseaudioencoder.h:
2320           audio: Integrate audio base classes into the build system and fixup
2321
2322 2011-08-15 12:56:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2323
2324         * omx/gstbaseaudiodecoder.c:
2325         * omx/gstbaseaudiodecoder.h:
2326         * omx/gstbaseaudioencoder.c:
2327         * omx/gstbaseaudioencoder.h:
2328         * omx/gstbaseaudioutils.c:
2329         * omx/gstbaseaudioutils.h:
2330           audio: Add audio decoder/encoder base classes
2331           Taken from http://cgit.collabora.com/git/user/manauw/gst-plugins-bad.git/log/?h=baseaudio
2332
2333 2011-08-12 12:25:03 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2334
2335         * omx/gstbasevideoencoder.c:
2336           basevideoencoder: Proxy the width/height/framerate/PAR constraints of downstream caps to upstream
2337           This allows to specify constraints on the compressed downstream caps
2338           by muxers or capsfilters, which will then be forwarded to upstream
2339           and allows video converters to fulfill the constraints.
2340           Code based on Mark Nauwelaerts audio encoder base class.
2341
2342 2011-08-12 12:13:45 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2343
2344         * omx/gstbasevideoencoder.h:
2345           basevideoencoder: Remove old ::getcaps() comment
2346
2347 2011-08-12 12:06:23 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2348
2349         * omx/gstbasevideoencoder.c:
2350         * omx/gstbasevideoencoder.h:
2351           basevideoencoder: Remove ::get_caps() vfunc
2352           Subclasses can set the caps more efficiently and this only
2353           caused additional indirections.
2354
2355 2011-08-10 10:24:21 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2356
2357         * omx/gstomxh263enc.c:
2358         * omx/gstomxh264enc.c:
2359         * omx/gstomxmpeg4videoenc.c:
2360         * omx/gstomxvideoenc.c:
2361           omxvideoenc: Use "video/x-raw-yuv" as sink template caps instead of strict I420 caps
2362
2363 2011-08-10 10:23:39 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2364
2365         * omx/gstomxmpeg4videodec.c:
2366           omxmpeg4videodec: Don't require width/height on sink pad caps
2367
2368 2011-08-10 10:11:37 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2369
2370         * omx/gstomxh263dec.c:
2371         * omx/gstomxh264dec.c:
2372         * omx/gstomxmpeg4videodec.c:
2373         * omx/gstomxvideodec.c:
2374         * omx/gstomxwmvdec.c:
2375           omxvideodec: Use "video/x-raw-yuv" as src template caps instead of strict I420 caps
2376
2377 2011-08-10 09:56:30 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2378
2379         * omx/gstomxvideoenc.c:
2380           omxvideoenc: Set the state back to StateLoaded even if an error happened
2381
2382 2011-08-10 09:49:57 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2383
2384         * omx/gstomx.c:
2385           omx: Don't hold any locks while calling OMX_SendCommand()
2386           It might call into one of the callbacks and lead to deadlocks, e.g.
2387           with the Qualcomm OMX implementation.
2388
2389 2011-08-10 09:32:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2390
2391         * omx/gstomx.c:
2392           omx: Move some code
2393
2394 2011-08-10 09:23:10 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2395
2396         * omx/gstomx.c:
2397           omx: Reset pending reconfigure output ports when changing the state from Executing to any lower state
2398
2399 2011-08-10 09:08:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2400
2401         * omx/gstomx.c:
2402           omx: Fix crash when setting last error after the ports were freed
2403
2404 2011-08-10 09:03:52 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2405
2406         * omx/gstomx.c:
2407           omx: Free component structure
2408
2409 2011-08-10 09:02:52 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2410
2411         * omx/gstomx.c:
2412           omx: Make component destruction safer
2413
2414 2011-08-10 08:53:05 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2415
2416         * omx/gstomx.c:
2417           omx: Set pAppPrivate of buffers to NULL when deallocating buffers
2418           This prevents usage of freed memory later if the OMX component
2419           has weird behaviour.
2420
2421 2011-08-10 08:52:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2422
2423         * omx/gstomxvideodec.c:
2424           omxvideodec: Set the state back to StateLoaded even if an error happened
2425
2426 2011-08-10 08:51:54 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2427
2428         * omx/gstomx.c:
2429           omx: Add some assertions to check if the buffer pAppPrivate is still correct
2430
2431 2011-08-08 13:04:30 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2432
2433         * omx/gstomx.h:
2434           omx: Add parenthesis at correct places in the struct init macro
2435
2436 2011-08-08 12:12:58 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2437
2438         * omx/gstomx.c:
2439           omx: Only prevent setting a higher state if the component is in an error state
2440
2441 2011-08-03 16:02:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2442
2443         * omx/gstbasevideodecoder.c:
2444           basevideodecoder: Use the cached video frame size instead of recalculating it
2445
2446 2011-08-03 15:35:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2447
2448         * omx/gstomx.c:
2449           omx: Improve debugging in param/config getter/setter wrappers
2450
2451 2011-08-03 13:10:33 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2452
2453         * omx/gstomxvideodec.c:
2454           omxvideodec: Don't abort if the color format is not supported but give a useful error message
2455
2456 2011-08-02 15:14:37 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2457
2458         * omx/gstomxh263enc.c:
2459         * omx/gstomxh264enc.c:
2460         * omx/gstomxmpeg4videoenc.c:
2461         * omx/gstomxvideoenc.c:
2462           omxvideoenc: Don't fail if setting the bitrate or profile is not supported by the component
2463           Also always set/get the profile, even if there are no peer caps.
2464
2465 2011-08-02 15:14:24 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2466
2467         * omx/gstbasevideoencoder.c:
2468           basevideoencoder: Make access to the list of frames threadsafe
2469
2470 2011-08-01 13:22:05 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2471
2472         * omx/gstomx.c:
2473         * omx/gstomx.h:
2474           omx: Add a hacks flag for the Qualcomm 7x30 OMX_FillThisBuffer() race and make it optional
2475
2476 2011-07-29 13:56:59 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2477
2478         * omx/gstomx.c:
2479           omx: Add workaround for QCOM 7x30 race condition
2480
2481 2011-07-29 12:06:21 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2482
2483         * omx/Makefile.am:
2484         * omx/gstomx.c:
2485         * omx/gstomxh263enc.c:
2486         * omx/gstomxh263enc.h:
2487           omxh263enc: Add H.263 encoder element
2488
2489 2011-07-29 11:26:39 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2490
2491         * omx/gstomxmpeg4videoenc.c:
2492           omxmpeg4videoenc: Add support for setting profile/level via caps
2493
2494 2011-07-28 14:14:45 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2495
2496         * omx/gstomxh264enc.c:
2497           omxh264enc: Add support for setting profile/level via caps
2498
2499 2011-07-28 12:58:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2500
2501         * omx/gstomxvideoenc.c:
2502           omxvideoenc: Add support for forcing the next frame to be a keyframe
2503
2504 2011-07-28 11:54:16 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2505
2506         * omx/gstomxvideoenc.c:
2507         * omx/gstomxvideoenc.h:
2508           omxvideoenc: Add support for setting bitrate/quantization related parameters
2509
2510 2011-07-28 10:23:08 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2511
2512         * omx/gstomx.c:
2513         * omx/gstomx.h:
2514           omx: Add wrapper functions for OMX_[GS]et{Config,Parameter}
2515
2516 2011-07-28 09:54:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2517
2518         * omx/gstomx.c:
2519         * omx/gstomx.h:
2520           omx: Add macro to initialize OpenMAX structures
2521
2522 2011-07-28 09:08:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2523
2524         * omx/gstomxvideoenc.c:
2525           omxvideoenc: Don't output 0-byte buffers
2526
2527 2011-07-25 15:05:08 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2528
2529         * omx/gstomx.c:
2530           omx: Ensure that the pAppPrivate pointer in OMX buffers is set correctly
2531
2532 2011-07-25 13:19:06 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2533
2534         * omx/gstomxvideodec.c:
2535         * omx/gstomxvideoenc.c:
2536           omxvideo{enc,dec}: Only set/unset flushing state on ports if they were created already
2537
2538 2011-07-25 12:01:05 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2539
2540         * omx/Makefile.am:
2541         * omx/gstomx.c:
2542         * omx/gstomxwmvdec.c:
2543         * omx/gstomxwmvdec.h:
2544           omxwmvdec: Add WMV video decoder element
2545
2546 2011-07-25 11:44:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2547
2548         * omx/Makefile.am:
2549         * omx/gstomx.c:
2550         * omx/gstomxh263dec.c:
2551         * omx/gstomxh263dec.h:
2552           omxh263dec: Add H.263 decoder element
2553
2554 2011-07-25 11:32:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2555
2556         * omx/Makefile.am:
2557         * omx/gstomx.c:
2558         * omx/gstomxh264enc.c:
2559         * omx/gstomxh264enc.h:
2560           omxh264enc: Add H.264 encoder element
2561
2562 2011-07-25 10:48:58 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2563
2564         * omx/gstomxvideodec.c:
2565           omxvideodec: Try harder to deallocate the buffers after errors happened
2566
2567 2011-07-25 10:47:28 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2568
2569         * omx/gstomxvideoenc.c:
2570           omxvideoenc: Try harder to deallocate the buffers after errors happened
2571
2572 2011-07-25 10:46:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2573
2574         * omx/gstomx.c:
2575           omx: Deallocate port buffers before freeing the component
2576           They should be deallocated by the caller before reaching the
2577           Loaded state but to be on the safe side we will make sure
2578           they're really deallocated here.
2579
2580 2011-07-21 11:15:14 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2581
2582         * omx/gstomxvideoenc.c:
2583           omxvideoenc: Add initial support for stride conversion
2584
2585 2011-07-21 10:38:26 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2586
2587         * omx/gstomxh264dec.c:
2588         * omx/gstomxmpeg4videodec.c:
2589         * omx/gstomxmpeg4videoenc.c:
2590           omx: Set default roles for the components if none were set from the config file
2591
2592 2011-07-21 10:36:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2593
2594         * omx/gstomx.c:
2595           omx: Failure to set the component role is fatal
2596
2597 2011-07-21 07:53:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2598
2599         * omx/gstomxvideoenc.c:
2600           omxvideoenc: Add support for setting codec_data on the srcpad caps
2601
2602 2011-07-21 07:44:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2603
2604         * omx/gstomxvideoenc.c:
2605           omxvideoenc: Free/drop GstVideoFrames that resulted in an empty buffer
2606
2607 2011-07-21 07:44:10 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2608
2609         * omx/gstbasevideoencoder.c:
2610           basevideoencoder: Allow finishing of frames with no src_buffer to drop/free the GstVideoFrame
2611
2612 2011-07-21 07:31:05 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2613
2614         * omx/gstomxvideoenc.c:
2615           omxvideoenc: Remove obsolete TODO comment
2616
2617 2011-07-20 11:09:54 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2618
2619         * omx/Makefile.am:
2620         * omx/gstomx.c:
2621           omx: Use libgstopenmax.so for the plugin filename and openmax for the plugin name
2622           Resolves conflicts with gst-openmax.
2623
2624 2011-07-20 08:34:33 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2625
2626         * omx/Makefile.am:
2627         * omx/gstomx.c:
2628         * omx/gstomx.conf:
2629         * omx/gstomx.h:
2630         * omx/gstomxmpeg4videoenc.c:
2631         * omx/gstomxmpeg4videoenc.h:
2632         * omx/gstomxvideoenc.c:
2633         * omx/gstomxvideoenc.h:
2634           omxvideoenc: Add video encoder base class and MPEG4 video encoder
2635           Unfortunately requires lots of hacks again to work properly with
2636           Bellagio.
2637
2638 2011-07-20 10:39:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2639
2640         * omx/gstbasevideoencoder.c:
2641           basevideoencoder: Only get caps from the subclass if they were not set yet by the subclass
2642
2643 2011-07-20 09:25:28 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2644
2645         * omx/gstbasevideoencoder.c:
2646         * omx/gstbasevideoencoder.h:
2647           basevideoencoder: Delay sending of serialized sink events until finish_frame()
2648
2649 2011-07-20 09:09:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2650
2651         * omx/gstbasevideoencoder.c:
2652         * omx/gstbasevideoencoder.h:
2653           basevideoencoder: Add ::reset vfunc and handle ::reset/::finish the same way as in the decoder
2654
2655 2011-07-19 12:50:43 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2656
2657         * omx/gstbasevideoencoder.c:
2658           basevideoencoder: Use a temporary GstVideoState until the subclass accepted the caps
2659           Also store the caps in the GstVideoState and assume a PAR of 1/1 instead
2660           of 0/1 if no PAR is specified in the caps.
2661
2662 2011-07-19 12:29:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2663
2664         * omx/gstomx.c:
2665         * omx/gstomxvideodec.c:
2666           omx: Improve debug output a bit
2667
2668 2011-07-19 10:33:54 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2669
2670         * omx/gstomx.c:
2671         * omx/gstomx.h:
2672         * omx/gstomxvideodec.c:
2673           omx: Rework port reconfiguration again and only use the Bellagio specific hacks with Bellagio
2674           We only reconfigure ports that need to be reconfigured now instead of
2675           always all ports.
2676
2677 2011-07-19 10:33:15 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2678
2679         * omx/gstomx.c:
2680         * omx/gstomx.conf:
2681         * omx/gstomx.h:
2682         * omx/gstomxvideodec.c:
2683         * omx/gstomxvideodec.h:
2684           omx: Add infrastructure to enable special hacks for broken OpenMAX implementations
2685
2686 2011-07-18 13:10:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2687
2688         * omx/gstomx.c:
2689           omx: When acquiring a buffer from an input port always wait until all output ports are reconfigured
2690
2691 2011-07-18 08:41:20 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2692
2693         * omx/gstomxvideodec.c:
2694           omxvideodec: Add support for converting between omx and gst rowstrides
2695
2696 2011-07-14 10:34:09 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2697
2698         * omx/gstomx.c:
2699           omx: Provide all buffers to output ports after enabling them
2700
2701 2011-07-14 08:29:03 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2702
2703         * omx/gstomxvideodec.c:
2704           omxvideodec: Add support for NV12 / OMX_COLOR_FormatYUV420SemiPlanar
2705
2706 2011-07-14 07:58:41 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2707
2708         * omx/gstomxvideodec.c:
2709         * omx/gstomxvideodec.h:
2710           omxvideodec: Only flush the component ports after we passed input to them
2711
2712 2011-07-13 21:19:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2713
2714         * omx/gstomxvideodec.c:
2715           omxvideodec: Only change states downwards if an upper state was reached
2716
2717 2011-07-13 20:37:02 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2718
2719         * omx/gstomx.c:
2720         * omx/gstomx.h:
2721         * omx/gstomxvideodec.c:
2722         * omx/gstomxvideodec.h:
2723           omx: Add support for setting the component-role
2724
2725 2011-07-13 20:22:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2726
2727         * omx/gstomx.c:
2728         * omx/gstomx.h:
2729         * omx/gstomxvideodec.c:
2730           omx: Improve error reporting by formatting the error codes better and also providing their string representation
2731
2732 2011-07-13 14:36:14 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2733
2734         * Makefile.am:
2735           build: Dist autogen.sh
2736
2737 2011-07-13 14:35:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2738
2739         * configure.ac:
2740         * omx/gstomx.c:
2741           build: Only require GStreamer >= 0.10.29 and GLib >= 2.16
2742
2743 2011-07-13 14:04:47 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2744
2745         * omx/Makefile.am:
2746           build: Dist gstomx.conf
2747
2748 2011-07-13 14:04:20 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2749
2750         * Makefile.am:
2751           build: Clean _stdint.h on "make distclean"
2752
2753 2011-07-13 14:02:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2754
2755         * omx/gstomxvideodec.c:
2756           omxvideodec: Fix typo
2757
2758 2011-07-13 13:59:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2759
2760         * omx/Makefile.am:
2761           omx: Dist gstomx.h
2762
2763 2011-07-13 12:46:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2764
2765         * omx/gstomxvideodec.c:
2766           omxvideodec: Set SYNCFRAME flag on the OMX buffers for non-delta units
2767
2768 2011-07-13 12:37:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2769
2770         * omx/gstomxvideodec.c:
2771           omxvideodec: Free all pending frames when resetting the decoder
2772           Workaround for https://bugzilla.gnome.org/show_bug.cgi?id=654529
2773
2774 2011-07-13 09:59:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2775
2776         * omx/gstomxvideodec.c:
2777           omxvideodec: Handle output buffers without a corresponding GstVideoFrame more gracefully
2778           This can happen on EOS in some cases and when the input is not
2779           properly framed.
2780
2781 2011-07-13 09:31:22 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2782
2783         * omx/gstomxvideodec.c:
2784           omxvideodec: Fix deadlock when finishing old frames that are left over by the decoder
2785
2786 2011-07-12 11:37:28 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2787
2788         * omx/gstomxh264dec.c:
2789           omxh264dec: It's called H.264, not H264
2790
2791 2011-07-12 11:36:42 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2792
2793         * omx/gstomxh264dec.c:
2794         * omx/gstomxmpeg4videodec.c:
2795         * omx/gstomxvideodec.c:
2796         * omx/gstomxvideodec.h:
2797           omxvideodec: Make sink/src pad template caps configurable
2798
2799 2011-07-12 11:13:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2800
2801         * omx/gstomx.c:
2802           omx: Allow to set a preferred configuration directory with the GST_OMX_CONFIG_DIR environment variable
2803
2804 2011-07-12 10:55:57 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2805
2806         * omx/gstomxh264dec.c:
2807         * omx/gstomxmpeg4videodec.c:
2808         * omx/gstomxvideodec.c:
2809           omxvideodec: Make core/component-name and in/outport index configurable
2810
2811 2011-07-12 10:05:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2812
2813         * omx/gstomx.c:
2814         * omx/gstomx.conf:
2815         * omx/gstomx.h:
2816           omx: Add initial version of configuration system
2817           This now only registers elements that are specified in the
2818           configuration file.
2819           The configuration file is a keyfile in the first XDG configuration
2820           directory with the name gstomx.conf.
2821
2822 2011-07-12 08:53:15 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2823
2824         * omx/Makefile.am:
2825         * omx/gstomx.c:
2826         * omx/gstomxh264dec.c:
2827         * omx/gstomxh264dec.h:
2828         * omx/gstomxh264videodec.c:
2829         * omx/gstomxh264videodec.h:
2830           omxh264dec: Rename from omxh264videodec to omxh264dec
2831
2832 2011-07-12 08:40:48 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2833
2834         * omx/gstomxh264videodec.c:
2835           omxh264videodec: Require alignment=au and stream-format={avc,bytestream}
2836
2837 2011-07-11 12:59:07 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2838
2839         * omx/gstbasevideodecoder.c:
2840           basevideodecoder: First inform subclass about resetting before resetting/freeing all internal state
2841           The subclass might want to access the old state.
2842
2843 2011-07-11 12:36:42 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2844
2845         * omx/gstbasevideodecoder.c:
2846           basevideodecoder: Track present position on discont before resetting it
2847
2848 2011-07-11 11:52:33 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2849
2850         * omx/gstbasevideodecoder.c:
2851           basevideodecoder: Also protect the list of pending frames from concurrent access when pushing all pendings events
2852
2853 2011-07-11 11:28:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2854
2855         * omx/gstbasevideocodec.c:
2856         * omx/gstbasevideocodec.h:
2857         * omx/gstbasevideodecoder.c:
2858           basevideocodec: Protect access to the list of pending frames with the object lock
2859           This is required if ::finish_frame() and all buffer output happens
2860           on a different thread than the sinkpad streaming thread.
2861
2862 2011-07-11 09:35:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2863
2864         * omx/gstbasevideodecoder.c:
2865           basevideodecoder: Set the correct lists to NULL after freeing
2866
2867 2011-07-11 08:54:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2868
2869         * omx/gstbasevideodecoder.c:
2870           basevideodecoder: Work with a copy of the GstVideoState in setcaps until the caps are accepted
2871           Also fix a refcount problem with the codec_data.
2872
2873 2011-07-12 08:34:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2874
2875         * omx/Makefile.am:
2876         * omx/gstomx.c:
2877         * omx/gstomxh264videodec.c:
2878         * omx/gstomxh264videodec.h:
2879           omxh264videodec: Add h.264 video decoder
2880
2881 2011-07-12 08:29:15 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2882
2883         * omx/gstomxmpeg4videodec.c:
2884           omxmpeg4videodec: Fix debug category name
2885
2886 2011-07-09 11:41:42 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2887
2888         * omx/Makefile.am:
2889         * omx/gstbasevideocodec.h:
2890         * omx/gstbasevideodecoder.c:
2891         * omx/gstbasevideoencoder.c:
2892         * omx/gstbasevideoutils.c:
2893         * omx/gstbasevideoutils.h:
2894           basevideo: Move the utils from the codec header to its own header
2895
2896 2011-07-09 11:32:06 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2897
2898         * omx/gstbasevideocodec.c:
2899         * omx/gstbasevideodecoder.c:
2900           basevideo: Use GSlice for allocating GstVideoFrame and don't duplicate code in the decoder base class
2901
2902 2011-07-09 11:05:37 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2903
2904         * omx/gstomxvideodec.c:
2905           omxvideodec: Use the destroy notify to free the coder_hook
2906
2907 2011-07-09 10:57:52 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2908
2909         * omx/gstbasevideocodec.c:
2910         * omx/gstbasevideocodec.h:
2911         * omx/gstbasevideodecoder.c:
2912           basevideo: Add destroy notify for the coder_hook to prevent memory leaks
2913           Fixes bug #654293.
2914
2915 2011-07-09 10:44:16 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2916
2917         * omx/Makefile.am:
2918           basevideo: Fix GType names to not conflict with the public video base classes
2919           It's still not possible to include headers of both in the same file
2920           or compile/link both into the same plugin but that shouldn't be
2921           necessary anyway.
2922
2923 2011-07-08 15:42:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2924
2925         * omx/gstomxvideodec.c:
2926           omxvideodec: Fix some minor memory leaks
2927
2928 2011-07-08 15:25:07 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2929
2930         * omx/gstomx.c:
2931         * omx/gstomx.h:
2932         * omx/gstomxvideodec.c:
2933           omx: Rework port reconfiguration
2934           We always reconfigure all ports now if the settings of one
2935           port changes to prevent lots of race conditions, dropped
2936           frames and similar issues.
2937
2938 2011-07-08 13:16:45 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2939
2940         * omx/gstomxvideodec.c:
2941         * omx/gstomxvideodec.h:
2942           omxvideodec: Use the frames storage of the base class instead of implementing our own
2943           They could get out of sync and we could store already destroyed frames.
2944
2945 2011-07-07 12:51:03 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2946
2947         * omx/gstomx.h:
2948           omx: Clarify GQueue/GPtrArray element types
2949
2950 2011-07-07 12:23:24 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2951
2952         * omx/gstomx.c:
2953         * omx/gstomx.h:
2954         * omx/gstomxvideodec.c:
2955           omx: Add more checks to acquire_buffer() and return the current state additional to the buffer
2956           Also refactor the code flow in the video decoder for this. This makes
2957           the usage of acquire_buffer() easier and more atomic.
2958
2959 2011-07-07 12:22:57 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2960
2961         * omx/gstomxvideodec.c:
2962           omxvideodec: Also flush/unflush the input port when changing the state PAUSED<->READY
2963
2964 2011-07-07 12:21:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2965
2966         * omx/gstomx.c:
2967           omx: Don't broadcast port->port_cond after allocating buffers successfully
2968           Allocating buffers must happen while no thread is waiting for the
2969           cond and especially must happen from the thread that would acquire
2970           buffers from the port.
2971
2972 2011-07-07 11:27:15 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2973
2974         * omx/gstomxvideodec.c:
2975           omxvideodec: Don't leak the codec_data after sending it
2976
2977 2011-07-07 10:27:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2978
2979         * omx/gstomx.c:
2980           omx: Always check if the component is in an error state before waiting for a condition variable to be signalled
2981           Otherwise we might wait forever because nothing is going to signal
2982           the condition variable anymore.
2983
2984 2011-07-07 10:22:12 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2985
2986         * omx/gstomx.c:
2987           omx: Always hold port->port_lock before signalling port->port_cond when notifying about errors
2988           Otherwise a port might be in the critical section, has checked the error state
2989           already but waits after port->port_cond is signalled, which will lead
2990           to a deadlock.
2991
2992 2011-07-07 10:07:43 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2993
2994         * omx/gstomxvideodec.c:
2995           omxvideodec: Remove reconfiguration test hack
2996
2997 2011-07-06 13:27:12 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
2998
2999         * omx/gstomx.c:
3000           omx: Improve debug output a bit
3001
3002 2011-07-06 13:26:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3003
3004         * omx/gstomx.c:
3005           omx: Always try to deallocate buffers, even if there's a component error
3006
3007 2011-07-06 13:26:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3008
3009         * omx/gstomx.c:
3010           omx: Use G_USEC_PER_SEC for clarity instead of 1000000
3011
3012 2011-07-06 13:19:15 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3013
3014         * omx/gstomxvideodec.c:
3015           omxvideodec: Error out if the GStreamer allocated buffer is smaller than the OpenMAX output buffer
3016           Usually this must never happen but currently it happens during reconfigurations
3017           because of a race condition. Still it's better than crashing.
3018
3019 2011-07-06 10:40:13 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3020
3021         * omx/gstomx.c:
3022         * omx/gstomx.h:
3023           omx: Don't use port_def.bEnabled to check if the Enable/Disable command is finished
3024           bEnabled should be set immediately after sending the command, it's only
3025           Bellagio that waits until the command is finished before setting it.
3026
3027 2011-07-06 10:30:11 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3028
3029         * omx/gstomxvideodec.c:
3030           omxvideodec: Remove obsolete FIXME comment
3031
3032 2011-07-06 10:29:54 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3033
3034         * omx/gstomx.c:
3035         * omx/gstomx.h:
3036           omx: Improve error handling and reporting
3037
3038 2011-07-06 08:48:37 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3039
3040         * omx/gstomxmpeg4videodec.c:
3041         * omx/gstomxvideodec.c:
3042         * omx/gstomxvideodec.h:
3043           omxvideodec: Make the inport and outport index configurable by the subclass
3044
3045 2011-06-28 08:51:23 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3046
3047         * omx/Makefile.am:
3048         * omx/gstomx.c:
3049         * omx/gstomx.h:
3050         * omx/gstomxmpeg4videodec.c:
3051         * omx/gstomxmpeg4videodec.h:
3052         * omx/gstomxvideodec.c:
3053         * omx/gstomxvideodec.h:
3054           omx: Add initial version of OpenMAX framework, video decoder base class and MPEG4 video decoder
3055           This currently hardcodes a lot of stuff but works at least.
3056           Also adds a generic framework for handling OpenMAX cores, components
3057           and ports.
3058
3059 2011-06-28 11:47:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3060
3061         * omx/gstbasevideocodec.c:
3062         * omx/gstbasevideocodec.h:
3063         * omx/gstbasevideodecoder.c:
3064         * omx/gstbasevideodecoder.h:
3065           basevideodecoder: Don't reorder serialized src events
3066           And allow to drop EOS by the subclass if ::finish returns
3067           DROPPED.
3068           Fixes bug #653544.
3069
3070 2011-06-27 09:41:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3071
3072         * omx/gstbasevideocodec.c:
3073         * omx/gstbasevideocodec.h:
3074         * omx/gstbasevideodecoder.c:
3075           basevideo: Add the caps to the GstVideoState and clean up caps/codec_data properly
3076
3077 2011-06-27 09:37:03 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3078
3079         * omx/gstbasevideocodec.c:
3080         * omx/gstbasevideocodec.h:
3081         * omx/gstbasevideodecoder.c:
3082         * omx/gstbasevideodecoder.h:
3083         * omx/gstbasevideoencoder.c:
3084         * omx/gstbasevideoencoder.h:
3085         * omx/gstbasevideoutils.c:
3086           basevideo: Add video encoder/decoder base classes from gst-plugins-bad
3087
3088 2011-06-21 11:17:35 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>
3089
3090         * omx/openmax/OMX_Audio.h:
3091         * omx/openmax/OMX_Component.h:
3092         * omx/openmax/OMX_ComponentExt.h:
3093         * omx/openmax/OMX_ContentPipe.h:
3094         * omx/openmax/OMX_Core.h:
3095         * omx/openmax/OMX_CoreExt.h:
3096         * omx/openmax/OMX_IVCommon.h:
3097         * omx/openmax/OMX_Image.h:
3098         * omx/openmax/OMX_Index.h:
3099         * omx/openmax/OMX_IndexExt.h:
3100         * omx/openmax/OMX_Other.h:
3101         * omx/openmax/OMX_Types.h:
3102         * omx/openmax/OMX_Video.h:
3103         * omx/openmax/OMX_VideoExt.h:
3104           openmax: Add OpenMAX IL 1.1.2 headers
3105