3 2013-03-22 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8 2013-03-19 16:40:09 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
10 * omx/gstomxtheoradec.h:
12 omx: fix typo in copyright headers
14 2013-03-19 13:46:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
16 * config/rpi/gstomx.conf:
17 rpi: Fix commit that added the VC1 decoder
19 2013-03-19 13:27:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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:
31 omx: Add more constraints to the default sink template caps
33 2013-03-19 13:10:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
35 * config/rpi/gstomx.conf:
36 rpi: Add VC1/WMV3 decoder
37 WMV2 and WMV1 (aka WMV 1-8) are not supported by RPi.
39 2013-03-19 12:59:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
41 * config/rpi/gstomx.conf:
42 rpi: Add MJPEG decoder
44 2013-03-19 12:56:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
46 * config/rpi/gstomx.conf:
49 2013-03-19 12:55:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
51 * omx/gstomxvideodec.c:
52 omxvideodec: Set ENDOFFRAME flag for the end of frames
54 2013-03-19 12:28:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
56 * config/rpi/gstomx.conf:
57 rpi: Add Theora decoder to the config
59 2013-03-19 09:36:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
64 * omx/gstomxtheoradec.c:
65 * omx/gstomxtheoradec.h:
66 omx: Add Theora decoder
68 2013-03-18 16:43:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
71 omx: Remove additional comma
73 2013-03-18 16:34:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
75 * config/rpi/gstomx.conf:
78 * omx/gstomxmpeg2dec.c:
79 * omx/gstomxmpeg2dec.h:
80 * omx/gstomxmpeg2videodec.c:
81 * omx/gstomxmpeg2videodec.h:
82 omx: Rename MPEG2 decoder for consistency everywhere
84 2013-03-18 16:30:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
88 * omx/gstomxmjpegdec.c:
89 * omx/gstomxmjpegdec.h:
90 omx: Add MJPEG decoder support
92 2013-03-18 16:06:54 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
99 omx: Add VP8 decoder support
101 2013-03-18 15:44:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
103 * config/rpi/gstomx.conf:
104 rpi: Add h263 decoder and rename MPEG2 decoder for consistency
106 2013-03-16 13:20:27 +0000 Tim-Philipp Müller <tim@centricular.net>
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
112 2013-03-16 10:13:06 +0100 Josep Torra <n770galaxy@gmail.com>
115 omx: minor stylistic change for consistency with other similar code
117 2013-03-16 10:00:24 +0100 Josep Torra <n770galaxy@gmail.com>
119 * omx/gstomxaudioenc.c:
120 * omx/gstomxvideodec.c:
121 * omx/gstomxvideoenc.c:
122 omx: Clarify that loop task is also paused in EOS
124 2013-03-16 09:59:01 +0100 Josep Torra <n770galaxy@gmail.com>
126 * omx/gstomxvideoenc.c:
127 omxvideoenec: Don't forget propagate flow return value upstream
129 2013-03-15 13:16:39 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
132 omx: improve debug logging some more
134 2013-03-15 14:09:45 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
136 * omx/gstomxvideodec.c:
137 omxvideodec: Make sure that the first frame we pass to OpenMAX is a sync frame
139 2013-03-15 11:46:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
141 * omx/gstomxaudioenc.c:
142 * omx/gstomxvideodec.c:
143 * omx/gstomxvideoenc.c:
144 omx: Stop output port task after draining
146 2013-03-15 10:58:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
149 omx: Reset EOS flag in more places
151 2013-03-15 10:38:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
153 * omx/gstomxvideodec.c:
154 omxvideodec: Deallocate output buffers with the right function
156 2013-03-15 01:06:05 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
160 omx: log commands as strings
161 Makes logs easier to read.
163 2013-03-15 00:47:47 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
167 omx: log states as strings
169 2013-03-15 00:28:02 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
173 omx: log component name in debug messages
174 Useful when we have more different components
175 active at the same time.
177 2013-03-15 09:51:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
185 2013-03-15 09:32:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
187 * omx/gstomxvideodec.c:
188 omxvideodec: Give the codec_data the timestamp of the first frame and no duration
190 2013-03-14 17:31:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
192 * config/rpi/gstomx.conf:
193 omx: The MPEG4 encoder is not available on RPi and probably never will
195 2013-03-14 17:26:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
198 omx: Reset some more buffer fields as required
200 2013-03-14 17:01:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
202 * config/rpi/gstomx.conf:
204 omx: The hack to disable usage of EOS buffers is not necessary anymore on RPi
206 2013-03-14 17:00:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
209 omx: Reset the flags for output ports when releasing a buffer, not for input ports
211 2013-03-14 15:03:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
213 * omx/gstomxh263enc.c:
214 * omx/gstomxh264enc.c:
215 * omx/gstomxmpeg4videoenc.c:
216 omx: Only unref caps after usage of its fields
218 2013-03-14 14:51:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
220 * omx/gstomxvideodec.c:
221 omxvideodec: Simplify bufferpool implementation
223 2013-03-13 13:23:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
225 * omx/gstomxvideodec.c:
226 omxvideodec: Improve min/max buffer counts handling
228 2013-03-14 12:49:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
232 * omx/gstomxaudioenc.c:
233 * omx/gstomxvideodec.c:
234 * omx/gstomxvideoenc.c:
235 omx: Handle the OMX_EventBufferFlag to detect EOS too
237 2013-03-13 10:29:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
241 omx: Mark OpenMAX buffers as EGLImage if they contain one
242 Needs special handling in some places, e.g. because nFilledLen
245 2013-03-13 10:21:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
247 * omx/gstomxvideoenc.c:
248 omxvideoenc: Properly check the nVersion field
250 2013-03-13 09:34:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
252 * omx/gstomxvideoenc.c:
253 omxvideoenc: RPi returns garbage for OMX_IndexParamVideoBitrate, work around that
255 2013-03-12 20:02:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
257 * omx/gstomxvideodec.c:
258 omxvideodec: Make sure to always get the right buffer
260 2013-03-12 19:35:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
262 * omx/gstomxvideodec.c:
263 omxvideodec: Make sure the buffer is released to the pool if it's not the one we wanted
265 2013-03-12 19:17:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
267 * omx/gstomxvideodec.c:
268 omxvideodec: Drop too late frames instead of finishing them
270 2013-03-12 19:16:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
272 * omx/gstomxvideodec.c:
273 omx: Release buffers to the correct port
275 2013-03-13 09:37:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
278 omx: Always load the OpenMAX IL cores with G_MODULE_BIND_LOCAL
280 2013-03-12 18:20:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
288 2013-03-11 13:59:15 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
295 2013-03-11 13:49:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
297 * omx/gstomxh264enc.c:
298 omxh264enc: If caps specify no profile/level use the component's defaults
300 2013-03-11 13:45:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
302 * omx/gstomxvideoenc.c:
303 omxvideoenc: Always allocate output buffers from the loop function
305 2013-03-11 13:12:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
307 * omx/gstomxh264enc.c:
308 omxh264enc: The h264 encoders are supposed to output byte-stream/au
310 2013-03-11 11:47:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
312 * omx/gstomxvideoenc.c:
313 omxvideoenc: Wait until the Executing state is reached before passing buffers to the component
315 2013-03-11 10:39:25 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
322 2013-03-11 10:29:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
324 * omx/gstomxaudioenc.c:
325 omxaudioenc: Disable output port when setting a new format
327 2013-03-11 10:29:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
329 * omx/gstomxvideoenc.c:
330 omxvideoenc: Disable output port when setting a new format
332 2013-03-11 10:22:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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>
338 2013-03-11 10:04:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
345 2013-03-10 12:09:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
347 * omx/gstomxvideoenc.c:
348 omxvideoenc: Use the correct video codec state when filling an input buffer
350 2013-03-10 12:05:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
352 * omx/gstomxvideoenc.c:
353 omxvideoenc: Store correct input state
355 2013-03-10 11:27:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
357 * omx/gstomxvideoenc.c:
358 omxvideoenc: Allocate output buffers as early as possible
360 2013-03-10 11:01:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
363 omx: Log unknown events
365 2013-03-09 14:14:40 +0100 Josep Torra <n770galaxy@gmail.com>
367 * omx/gstomxaudioenc.c:
368 * omx/gstomxvideodec.c:
369 * omx/gstomxvideoenc.c:
370 omx: Fix deadlock in encoders and add explainatory comments.
372 2013-03-09 13:27:08 +0100 Josep Torra <n770galaxy@gmail.com>
374 * omx/gstomxvideodec.c:
375 omxvideodec: fix printf format identifier
377 2013-03-09 13:07:59 +0100 Josep Torra <n770galaxy@gmail.com>
379 * omx/gstomxvideodec.c:
380 omx: Minor changes on debuging info
382 2013-03-09 13:00:33 +0100 Josep Torra <n770galaxy@gmail.com>
384 * omx/gstomxvideodec.c:
385 omxvideodec: avoid a deadlock
387 2013-03-08 15:56:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
389 * omx/gstomxvideodec.c:
390 omxvideodec: Don't forget to populate output port
392 2013-03-08 15:11:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
394 * omx/gstomxaudioenc.c:
395 * omx/gstomxvideodec.c:
396 * omx/gstomxvideoenc.c:
397 omx: Flush and stop srcpad when configuring new caps
399 2013-03-07 17:40:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
401 * config/rpi/gstomx.conf:
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.
407 2013-03-07 17:38:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
409 * omx/gstomxvideodec.c:
410 omxvideodec: Only negotiate a color format with downstream on the initial caps
412 2013-03-07 17:29:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
414 * omx/gstomxvideodec.c:
415 omxvideodec: Make sure the output port is disabled while we allocate buffers
417 2013-03-07 17:27:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
420 omx: Also wait for disabled output ports to be reconfigured
422 2013-03-07 14:10:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
424 * omx/gstomxvideodec.c:
425 * omx/gstomxvideodec.h:
426 omxvideodec: Add buffer pool for sharing OpenMAX memory with downstream
428 2013-03-07 11:11:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
437 2013-03-06 17:33:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
439 * config/rpi/gstomx.conf:
442 omx: Remove min buffer count hack for RPi again
443 It's not necessary anymore
445 2013-03-06 17:05:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
449 * omx/gstomxaudioenc.c:
450 * omx/gstomxvideodec.c:
451 * omx/gstomxvideoenc.c:
452 omx: Do number of buffers configuration explicitely
454 2013-03-07 11:24:54 +0100 Josep Torra <n770galaxy@gmail.com>
456 * omx/gstomxvideodec.c:
457 omxvideodec: fixes reconfiguration
458 Avoid having fixed fields from previous caps on reconfiguration.
460 2013-03-07 11:02:39 +0100 Josep Torra <n770galaxy@gmail.com>
462 * config/rpi/gstomx.conf:
464 omx: use no-component-reconfigure hack on the Raspberry PI
466 2013-03-07 00:03:28 +0000 Tim-Philipp Müller <tim@centricular.net>
469 Automatic update of common submodule
470 From 2de221c to 04c7a1e
472 2013-03-01 15:32:47 +0100 Josep Torra <n770galaxy@gmail.com>
474 * omx/gstomxvideoenc.h:
475 omxvideoenc: drop unused data member
477 2013-03-01 12:23:54 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
479 * omx/gstomxh263enc.c:
480 * omx/gstomxh264enc.c:
481 * omx/gstomxmpeg4videoenc.c:
482 omxvideoenc: And set it actually on the right port
484 2013-03-01 12:18:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
491 2013-03-01 11:49:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
493 * omx/gstomxvideoenc.c:
494 omxvideoenc: gst_omx_port_update_port_definition() returns a OMX_ERRORTYPE, not a gboolean
496 2013-03-01 11:44:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
498 * omx/gstomxvideodec.c:
499 * omx/gstomxvideoenc.c:
500 omxvideo{dec,enc}: Don't use the input state if it wasn't set yet
502 2013-03-01 11:25:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
504 * omx/gstomxaudioenc.c:
505 omxaudioenc: Only enable the output port after we know the output format
507 2013-03-01 11:24:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
509 * omx/gstomxvideoenc.c:
510 omxvideoenc: Only enable the output port after we know the output format
512 2013-02-28 17:02:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
514 * omx/gstomxvideodec.c:
515 omxvideodec: Only enable the output port after we know the output format
517 2013-03-01 11:18:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
521 omx: Handle errors more gracefully
523 2013-02-28 15:48:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
536 2013-02-28 15:37:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
539 omx: Return port definition update errors
541 2013-02-28 13:57:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
543 * config/rpi/gstomx.conf:
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.
550 2013-02-28 13:26:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
553 omx: Always tell the component about the right number of buffers that we're going to allocate
555 2013-02-28 13:07:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
558 omx: Invert assertion to let it express what was intended
560 2013-02-28 11:19:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
569 2013-02-27 16:55:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
576 2013-02-27 15:49:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
580 * omx/gstomxaudioenc.c:
581 * omx/gstomxvideodec.c:
582 * omx/gstomxvideoenc.c:
583 omx: Clean up port settings change handling
585 2013-02-27 11:30:14 +0100 Josep Torra <n770galaxy@gmail.com>
587 * omx/gstomxvideodec.c:
588 omxvideodec: initialize param structure before using it
590 2013-02-27 10:21:39 +0100 Josep Torra <n770galaxy@gmail.com>
592 * omx/gstomxvideoenc.c:
593 omxvideoenc: prevent a NULL pointer access
595 2013-02-26 17:25:49 +0100 Josep Torra <n770galaxy@gmail.com>
597 * omx/gstomxvideodec.c:
598 omxvideodec: prevent a NULL pointer access
600 2013-02-25 13:11:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
603 omx: Fix deadlock during reconfiguration
605 2013-02-25 12:38:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
608 * omx/gstomxaudioenc.c:
609 * omx/gstomxvideodec.c:
610 * omx/gstomxvideoenc.c:
611 omx: Auto-detect the port indizes if possible
613 2013-02-25 11:42:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
615 * omx/gstomxvideodec.c:
616 * omx/gstomxvideoenc.c:
617 omx: Refactor querying of component supported caps into its own function
619 2013-02-25 10:41:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
628 2013-01-11 17:44:13 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
632 omx: Add methods to set up and close a tunnel between components
634 2013-02-25 09:15:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
636 * omx/gstomxaacenc.c:
637 * omx/gstomxaudioenc.c:
638 * omx/gstomxaudioenc.h:
639 omxaudioenc: Rename component variable
641 2013-02-25 09:15:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
650 2013-02-25 09:12:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
652 * omx/gstomxvideodec.c:
653 * omx/gstomxvideodec.h:
654 omxvideodec: Rename component variable
656 2013-02-22 16:27:33 +0100 Josep Torra <n770galaxy@gmail.com>
658 * omx/gstomxvideoenc.c:
659 omxvideoenc: remove duplicated line
661 2013-02-22 10:42:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
664 Retry loading libbcm_host.so without an absolute path if that failed
666 2013-02-21 20:32:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
668 * config/bellagio/Makefile.am:
669 Add missing file from last commit
671 2013-02-21 11:01:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
673 * config/Makefile.am:
674 * config/bellagio/gstomx.conf:
678 Add OpenMAX IL target for Bellagio
679 Not tested since a very long time though.
681 2013-02-21 10:59:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
685 Allow using external OpenMAX IL headers
687 2013-02-21 10:14:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
692 2013-02-21 10:13:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
694 * config/Makefile.am:
695 * config/raspberry-pi.conf:
696 * config/rpi/Makefile.am:
697 * config/rpi/gstomx.conf:
699 Install the RPI config when the RPI target is selected
701 2013-02-21 10:08:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
704 Set default hacks for the RPI target and always initialize bcm_host
706 2013-02-21 10:05:37 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
709 Add configure parameter for setting the OpenMAX IL target
711 2013-02-12 11:55:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
714 omx: Add FIXME for the future
716 2013-02-12 11:49:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
728 2013-02-12 11:45:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
731 omx: Don't access the port's buffers array if it wasn't allocated yet
733 2013-02-12 11:44:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
736 omx: Mark an array as const
738 2013-02-12 11:41:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
748 2013-02-12 11:37:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
751 omx: Flushing is also allowed in Paused state
753 2013-02-12 11:28:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
755 * omx/gstomxvideoenc.c:
756 omxvideoenc: Set stride, slice height and buffer size
758 2013-02-12 11:09:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
760 * config/raspberry-pi.conf:
761 config: Add h264 and mpeg2 encoders to the raspberry pi config
762 Not completely working yet though.
764 2013-02-12 11:03:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
766 * omx/gstomxvideoenc.c:
767 omxvideoenc: Properly negotiate OMX color format with the component
769 2013-02-12 10:53:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
771 * omx/gstomxvideoenc.c:
772 omxvideoenc: Implement getcaps() vfunc
774 2013-01-29 21:32:53 +0000 Tim-Philipp Müller <tim@centricular.net>
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.
781 2013-01-28 20:44:41 +0100 Stefan Sauer <ensonic@users.sf.net>
784 Automatic update of common submodule
785 From a942293 to 2de221c
787 2013-01-24 14:02:36 +0100 Julian Scheel <julian@jusst.de>
789 * config/raspberry-pi.conf:
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>
800 2013-01-18 16:47:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
808 2013-01-18 15:28:20 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
811 omx: improve debug message when we can't find the config file
812 Mention where we looked for the config file.
814 2013-01-18 12:34:38 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
817 build: fix autogen.sh with automake 1.13
818 AM_CONFIG_HEADER -> AC_CONFIG_HEADERS
820 2013-01-17 18:07:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
823 * omx/gstomxaudioenc.h:
824 * omx/gstomxvideodec.h:
825 * omx/gstomxvideoenc.h:
826 omx: Fix includes to properly work with the 1.0 releases
828 2013-01-15 15:08:28 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
831 Automatic update of common submodule
832 From a72faea to a942293
834 2013-01-15 14:34:45 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
837 omx: Update port definition when changing some port setting
839 2013-01-14 11:41:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
843 omx: Rename from libgstopenmax.so to ligstomx.so for consistency
845 2013-01-11 15:32:22 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
848 omx: Add a method to send message
850 2013-01-11 15:44:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
854 omx: Atomic ops are not required anymore for the reconfiguration
856 2013-01-11 12:52:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
858 * omx/gstomxaudioenc.c:
859 * omx/gstomxvideodec.c:
860 * omx/gstomxvideoenc.c:
861 omx: Fix some memory leaks and suboptimal locking
863 2013-01-11 12:34:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
865 * omx/gstomxvideoenc.c:
866 omxvideoenc: Don't forget to unmap frame in error cases
868 2013-01-11 12:29:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
870 * omx/gstomxvideoenc.c:
871 omxvideoenc: Fix copying of the video frames to the OMX buffers
873 2013-01-11 12:24:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
875 * omx/gstomxvideodec.c:
876 omxvideodec: Fix copying of the video frames from the OMX buffers
878 2013-01-10 14:44:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
894 2012-12-20 19:30:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
896 * omx/gstomxvideodec.c:
897 omxvideodec: Set the OMX buffer nFilledLength field properly
899 2012-12-20 18:48:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
905 2012-12-20 18:16:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
907 * omx/gstomxrecmutex.c:
908 * omx/gstomxrecmutex.h:
909 omxrecmutex: Fix yet another race condition that resulted in deadlocks
911 2012-12-20 17:46:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
922 Happened on the Raspberry Pi.
924 2012-12-20 14:45:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
926 * omx/gstomxrecmutex.c:
927 * omx/gstomxrecmutex.h:
928 omxrecmutex: Fix a small race condition when unlocking a non-recursive lock
930 2012-12-20 12:30:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
932 * omx/gstomxaudioenc.c:
933 * omx/gstomxvideodec.c:
934 * omx/gstomxvideoenc.c:
935 omx: Fix ununsed variable compiler warning
937 2012-12-20 12:27:47 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
945 2012-12-20 12:23:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
947 * omx/gstomxvideodec.c:
948 omxvideodec: OMX_ErrorNoMore is no error and just means we ended iteration
950 2012-12-20 12:20:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
952 * omx/gstomxaudioenc.c:
953 * omx/gstomxvideodec.c:
954 * omx/gstomxvideoenc.c:
955 omx: Improve debug output
957 2012-12-20 12:02:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
959 * omx/gstomxvideodec.c:
960 omxvideodec: Don't forget to free a GList
962 2012-12-20 11:56:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
964 * omx/gstomxvideodec.c:
965 omxvideodec: Map OMX_COLOR_FormatYUV420PackedPlanar to I420 too
966 This is used on the Raspberry Pi.
968 2012-12-20 11:55:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
970 * omx/gstomxvideodec.c:
971 omxvideodec: During negotiation of the output format make sure we use the correct OpenMAX format
973 2012-12-20 11:42:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
975 * omx/gstomxvideodec.c:
976 omxvideodec: If negotiation fails this could also mean that the component can't do it at this point yet
978 2012-12-20 11:40:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
980 * omx/gstomxvideodec.c:
981 omxvideodec: Improve format negotiation a bit
982 Don't leak caps and make sure to fixate caps.
984 2012-12-19 13:05:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
987 omx: Also initialize nStep field of the OMX structures
989 2012-12-19 13:03:37 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
992 omx: Initialize struct version with the OMX version we compiled with
994 2012-12-19 12:44:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
996 * omx/gstomxvideodec.c:
997 omxvideodec: Extract data from the input buffer, not the codec data
999 2012-12-19 12:19:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1002 * tools/listcomponents.c:
1003 omx: Use has_suffix() instead of has_prefix() for the Broadcom hack
1005 2012-12-19 12:08:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1009 * tools/Makefile.am:
1010 * tools/listcomponents.c:
1011 tools: Add tool to list all components and their roles
1013 2012-12-19 11:31:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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>
1020 2012-12-19 11:22:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1024 configure: Add configure option to pack OpenMAX structures
1025 This is required to set to 4 for the Raspberry Pi for example.
1027 2012-12-19 11:07:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1030 configure: Require GStreamer 1.0.0
1032 2012-04-20 17:13:52 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
1035 omx: Initialize structures to version 1.1.2
1037 2012-12-19 09:51:22 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1040 * config/Makefile.am:
1041 * config/raspberry-pi.conf:
1043 * omx/gstomx-raspberry.conf:
1044 config: Add raspberry-pi configuration in a different directory
1046 2012-05-20 20:11:59 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
1048 * omx/gstomx-raspberry.conf:
1049 raspberry: Add a gstomx.conf for the Raspberry Pi
1051 2012-12-12 17:45:39 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1054 * omx/gstomxvideoenc.h:
1055 omx: Fix some compilation errors caused by circular includes
1057 2012-11-19 11:29:44 +0000 Tim-Philipp Müller <tim@centricular.net>
1060 Automatic update of common submodule
1061 From 6bb6951 to a72faea
1063 2012-11-12 15:14:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1065 * omx/gstomxvideodec.c:
1066 * omx/gstomxvideoenc.c:
1067 omx: Fix refcount problem with frames being dropped because of decoder bugs
1069 2012-11-12 11:29:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
1083 2012-10-22 14:34:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1085 * omx/gstomxvideodec.c:
1086 * omx/gstomxvideoenc.c:
1087 omx: Use open/close vfuncs
1089 2012-10-22 14:28:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1091 * omx/gstomxvideodec.c:
1092 * omx/gstomxvideoenc.c:
1093 omx: Handle video meta correctly
1095 2012-06-20 13:11:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
1119 2012-10-17 17:57:43 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
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()
1131 2012-10-06 15:01:11 +0100 Tim-Philipp Müller <tim@centricular.net>
1134 Automatic update of common submodule
1135 From 6c0b52c to 6bb6951
1137 2012-09-22 16:10:38 +0100 Tim-Philipp Müller <tim@centricular.net>
1140 Automatic update of common submodule
1141 From 4f962f7 to 6c0b52c
1143 2012-06-21 20:22:13 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
1146 omx: fix debug statement
1148 2012-06-21 20:21:03 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
1151 omx: use recursive_lock inside set_last_error(), since this function may be called from an event handler
1153 2012-08-22 13:31:59 +0200 Stefan Sauer <ensonic@users.sf.net>
1156 Automatic update of common submodule
1157 From 668acee to 4f962f7
1159 2012-08-05 16:42:43 +0100 Tim-Philipp Müller <tim@centricular.net>
1162 Automatic update of common submodule
1163 From 94ccf4c to 668acee
1165 2012-08-03 19:32:13 +0100 Tim-Philipp Müller <tim@centricular.net>
1168 omx: fix plugin name for new GST_PLUGIN_DEFINE API
1170 2012-07-23 08:47:32 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1173 Automatic update of common submodule
1174 From 98e386f to 94ccf4c
1176 2012-07-10 09:57:09 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1178 * omx/gstbasevideodecoder.c:
1179 omx: Update for allocation query API changes
1181 2012-06-20 11:09:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1183 * omx/gstomxaudioenc.c:
1184 * omx/gstomxvideodec.c:
1185 * omx/gstomxvideoenc.c:
1186 omx: Fix compilation after gst_pad_start_task() API changes
1188 2012-06-08 15:06:35 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
1191 Automatic update of common submodule
1192 From 03a0e57 to 98e386f
1194 2012-06-06 18:20:18 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
1197 Automatic update of common submodule
1198 From 1fab359 to 03a0e57
1200 2012-06-01 10:30:27 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
1203 Automatic update of common submodule
1204 From f1b5a96 to 1fab359
1206 2012-05-31 13:10:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1209 Automatic update of common submodule
1210 From 92b7266 to f1b5a96
1212 2012-05-30 12:47:59 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1215 Automatic update of common submodule
1216 From ec1c4a8 to 92b7266
1218 2012-05-30 11:26:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1221 Automatic update of common submodule
1222 From 3429ba6 to ec1c4a8
1224 2012-05-13 15:58:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1227 Automatic update of common submodule
1228 From dc70203 to 3429ba6
1230 2012-05-08 16:13:32 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
1233 omx: Fix spelling mistake found by lintian: s/Seperate/Separate/
1235 2012-04-30 23:58:43 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
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:
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.
1266 2012-04-20 14:51:34 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
1270 omx: Add hack to disable setting roles to components.
1274 2012-04-30 23:20:24 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
1277 * omx/gstomxvideodec.c:
1278 omxvideodec: Implement no-empty-eos-buffer hack, as in omxvideoenc.
1280 omx/gstomxvideodec.c
1282 2012-04-30 23:19:55 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
1284 * omx/gstomxvideodec.c:
1285 omxvideodec: Fix coding style in the drain-may-not-return hack code
1287 2012-04-25 19:03:48 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
1290 omx: Fix trivial debug print bug
1292 2012-04-25 19:01:32 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
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.
1301 2012-04-25 16:35:40 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
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.
1310 2012-04-24 15:41:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1312 * omx/gstbasevideodecoder.c:
1313 * omx/gstbasevideoencoder.c:
1314 omx: Update video encoder/decoder base classes from gst-plugins-bad
1316 2012-04-16 09:16:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1319 configure: Modernize autotools setup a bit
1320 Also we now only create tar.bz2 and tar.xz tarballs.
1322 2012-04-16 09:12:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1325 Automatic update of common submodule
1327 2012-04-16 08:34:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1329 * omx/gstomxaudioenc.c:
1330 omxaudioenc: Use gst_buffer_extract() to copy the input buffer data to the OpenMAX buffer
1332 2012-04-13 17:16:42 -0400 Alessandro Decina <alessandro.decina@collabora.com>
1335 Fix relative/absolute path glitch
1336 Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
1338 2012-04-12 15:57:32 -0400 Olivier Crête <olivier.crete@collabora.com>
1343 * omx/gstbasevideocodec.c:
1344 * omx/gstbasevideocodec.h:
1345 * omx/gstbasevideodecoder.c:
1346 * omx/gstbasevideodecoder.h:
1347 * omx/gstbasevideoencoder.c:
1348 * omx/gstbasevideoencoder.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:
1367 2012-01-18 16:53:16 -0300 Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
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/
1381 2011-12-13 10:17:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1383 * omx/gstbasevideocodec.c:
1384 basevideocodec: Don't use G_TYPE_REGISTER_BOXED() yet
1385 This would require GLib 2.26.
1387 2011-12-14 10:09:34 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
1389 * omx/gstomxaudioenc.c:
1390 omxaudioenc: Add hack for encoder components that don't allow empty EOS buffers
1392 2011-12-14 10:07:29 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
1394 * omx/gstomxvideoenc.c:
1395 omxvideoenc: Fix deadlock when using the EOS hack
1397 2011-12-12 14:26:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1399 * omx/gstomxvideoenc.c:
1400 omxvideoenc: Remove workaround for basevideocodec bug
1402 2011-12-12 14:26:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1404 * omx/gstomxvideodec.c:
1405 omxvideodec: Remove workaround for basevideocodec bug
1407 2011-12-05 17:57:01 +0000 Matej Knopp <matej.knopp@gmail.com>
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.
1416 2011-12-09 12:17:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1420 * omx/gstomxvideoenc.c:
1421 omx: Add hack for encoder components that don't allow empty EOS buffers
1423 2011-12-09 10:21:47 +0100 Dake Gu <Dake.Gu@palm.com>
1425 * omx/gstomxaacenc.c:
1426 omxaacenc: Generate and set codec_data on the caps for raw AAC
1428 2011-10-31 11:36:06 +0100 Alessandro Decina <alessandro.decina@collabora.co.uk>
1430 * omx/gstbasevideoencoder.c:
1431 basevideoencoder: handle failures in start() and stop()
1433 2011-08-26 10:50:38 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
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
1441 2011-12-08 11:50:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1443 * omx/gstbasevideoencoder.c:
1444 basevideoencoder: Only make the header buffer metadata writable, not the buffer
1446 2011-12-08 10:18:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1448 * omx/gstbasevideoencoder.c:
1449 basevideoencoder: Fix handling of force-keyunit events
1451 2011-12-06 13:28:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
1457 2011-12-06 12:47:25 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1459 * omx/gstomxaudioenc.c:
1460 * omx/gstomxaudioenc.h:
1461 omxaudioenc: Use correct timestamp, duration and filled length for the EOS buffers
1463 2011-12-06 12:47:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1465 * omx/gstomxvideodec.c:
1466 * omx/gstomxvideodec.h:
1467 omxvideodec: Use correct timestamp, duration and filled length for the EOS buffers
1469 2011-12-06 12:46:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1471 * omx/gstomxvideoenc.c:
1472 * omx/gstomxvideoenc.h:
1473 omxvideoenc: Use correct timestamp, duration and filled length for the EOS buffers
1475 2011-12-05 13:18:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1478 omx: Improve debugging of buffer handling
1480 2011-12-05 08:12:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
1490 2011-12-01 16:20:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
1497 2011-11-29 12:21:32 +0100 Jonas Larsson <jonas@hallerud.se>
1499 * omx/gstomxh264enc.c:
1500 omxh264enc: Add support for resending headers after a forced-keyframe
1502 2011-11-29 12:12:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1504 * omx/gstbasevideocodec.h:
1505 * omx/gstbasevideoencoder.c:
1506 basevideoencoder: Pass the all-headers field of the force-key-unit event to the subclass
1508 2011-11-29 12:12:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
1515 2011-11-29 09:31:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1517 * omx/gstbasevideoencoder.c:
1518 basevideoencoder: Use new force-keyunit event API from gst-plugins-base
1520 2011-11-29 09:18:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1522 * omx/gstbasevideoencoder.c:
1523 * omx/gstbasevideoencoder.h:
1524 basevideoencoder: Adjusting padding is not required for -bad libraries
1526 2011-11-28 19:48:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1528 * omx/gstbasevideoencoder.h:
1529 basevideoencoder: Move some fields to the private part of the instance struct
1531 2011-11-28 19:36:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
1537 2011-11-28 19:35:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
1545 2011-11-28 19:29:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1547 * omx/gstbasevideoencoder.c:
1548 * omx/gstbasevideoencoder.h:
1549 basevideoencoder: Don't push an upstream force-keyunit event downstream
1551 2011-11-25 11:48:08 +0100 Jonas Larsson <jonas@hallerud.se>
1553 * omx/gstbasevideoencoder.c:
1554 * omx/gstbasevideoencoder.h:
1555 basevideoencoder: Add initial support for the all-headers field of the force-keyframe event
1558 2011-11-25 11:37:39 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
1560 * omx/gstbasevideodecoder.c:
1561 basevideodecoder: some more debug logging
1563 2011-11-23 20:03:32 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
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()
1571 2011-11-22 23:04:49 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
1573 * omx/gstbasevideodecoder.c:
1574 docs: fix comment in gst_base_video_decoder_get_max_decode_time() docs
1576 2011-11-22 19:57:07 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
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.
1588 2011-11-25 11:31:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
1603 2011-11-18 10:00:31 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1605 * omx/gstomxaudioenc.c:
1606 omxaudioenc: First set ports to flushing before waiting for the srcpad streaming thread to finish
1608 2011-11-18 09:59:43 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1610 * omx/gstomxvideoenc.c:
1611 omxvideoenc: First set ports to flushing before waiting for the srcpad streaming thread to finish
1613 2011-11-18 09:58:58 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1615 * omx/gstomxvideodec.c:
1616 omxvideodec: First set ports to flushing before waiting for the srcpad streaming thread to finish
1618 2011-11-17 14:38:54 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1621 omx: Only disabling of a port is like flushing, enabling is like unflushing
1623 2011-11-17 13:33:35 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
1630 2011-11-17 11:26:33 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1632 * omx/gstomxaudioenc.c:
1633 omxaudioenc: Signal the drain GCond even if downstream returned an error
1635 2011-11-17 11:26:20 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1637 * omx/gstomxvideoenc.c:
1638 omxvideoenc: Signal the drain GCond even if downstream returned an error
1640 2011-11-17 11:25:52 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1642 * omx/gstomxvideodec.c:
1643 omxvideodec: Signal the drain GCond even if downstream returned an error
1645 2011-11-17 10:34:19 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1647 * omx/gstbasevideoencoder.c:
1648 basevideoencoder: Only call ::reset once in READY->PAUSED
1650 2011-11-17 10:19:35 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1652 * omx/gstomxaudioenc.c:
1653 omxaudioenc: Shutdown component in PAUSED->READY and deallocate buffers
1655 2011-11-17 10:19:30 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1657 * omx/gstomxvideoenc.c:
1658 omxvideoenc: Shutdown component in PAUSED->READY and deallocate buffers
1660 2011-11-17 10:19:10 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1662 * omx/gstomxvideodec.c:
1663 omxvideodec: Shutdown component in PAUSED->READY and deallocate buffers
1665 2011-11-16 12:02:08 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
1673 2011-11-16 11:21:25 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1675 * omx/gstomxvideodec.c:
1676 omxvideodec: Always push buffers downstream, even if we didn't find a corresponding GstVideoFrame
1678 2011-11-15 09:47:55 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
1685 2011-11-15 08:40:07 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1687 * omx/gstomxh264enc.c:
1688 omxh264enc: Detect bytestream stream format and don't put SPS/PPS into the caps for this format
1690 2011-11-15 08:28:32 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
1698 2011-11-14 12:50:26 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1700 * omx/gstomxvideodec.c:
1701 omxvideodec: Don't release buffers twice if dropping because of QoS
1703 2011-11-14 09:13:06 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1706 omx: Add XXX to the nOffset reset hack comment for QCOM
1708 2011-11-10 15:18:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1710 * omx/gstomxaudioenc.c:
1711 omxaudioenc: Make srcpad caps setting threadsafe
1713 2011-11-10 15:17:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1715 * omx/gstomxvideoenc.c:
1716 omxvideoenc: Make srcpad caps setting threadsafe
1718 2011-11-10 15:17:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1720 * omx/gstomxvideodec.c:
1721 omxvideodec: Make srcpad caps setting threadsafe
1723 2011-11-10 15:10:14 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1725 * omx/gstomxaudioenc.c:
1726 omxaudioenc: Make the srcpad task and the sinkpad streaming thread handling threadsafe
1728 2011-11-10 15:03:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
1735 2011-11-10 15:02:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
1742 2011-11-10 15:01:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1744 * omx/gstomxvideoenc.c:
1745 omxvideoenc: Fix minor race condition when draining after upstream signalled EOS
1747 2011-11-10 14:56:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
1754 2011-11-10 14:56:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
1761 2011-11-10 14:54:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1763 * omx/gstomxaudioenc.c:
1764 omxaudioenc: Improve debugging of EOS and draining
1766 2011-11-10 14:54:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1768 * omx/gstomxvideoenc.c:
1769 omxvideoenc: Improve debugging of EOS and draining
1771 2011-11-10 14:51:06 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1773 * omx/gstomxvideodec.c:
1774 omxvideodec: Log if acquiring buffer for EOS failed
1776 2011-11-10 14:42:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1778 * omx/gstomxvideodec.c:
1779 omxvideodec: The component is not started in READY
1781 2011-11-10 14:39:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
1787 2011-11-10 14:40:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
1793 2011-11-09 15:46:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
1800 2011-11-09 15:45:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1802 * omx/gstomxvideodec.c:
1803 omxvideodec: Fix minor race condition when draining after upstream signalled EOS
1805 2011-11-09 15:44:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
1812 2011-11-09 15:43:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1814 * omx/gstomxvideodec.c:
1815 omxvideodec: Improve debugging of EOS and draining
1817 2011-11-09 15:42:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1819 * omx/gstomxvideodec.c:
1820 omxvideodec: The component is not started already when going from READY to PAUSED
1822 2011-11-09 15:42:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1824 * omx/gstomxvideodec.c:
1825 omxvideodec: No need to signal the drain cond when going from READY to PAUSED
1827 2011-11-09 15:41:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1830 omx: Always reset buffer flags for output ports, even in flushing/error state
1832 2011-11-09 09:00:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1834 * omx/gstomxvideodec.c:
1835 omxvideodec: Improve debugging in case of QoS-related frame drops
1837 2011-11-08 12:46:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
1844 2011-11-08 12:45:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
1851 2011-11-08 12:42:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
1858 2011-11-08 11:07:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
1867 2011-11-08 11:03:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
1876 2011-11-08 10:46:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
1885 2011-11-08 09:09:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1887 * omx/gstomxvideodec.c:
1888 omxvideodec: Implement dropping of too late frames via QoS
1890 2011-11-08 08:31:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1892 * omx/gstomxaudioenc.c:
1893 omxaudioenc: Minor code refactoring
1895 2011-11-08 08:31:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1897 * omx/gstomxvideoenc.c:
1898 omxvideoenc: Minor code refactoring
1900 2011-11-08 08:31:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1902 * omx/gstomxvideodec.c:
1903 omxvideodec: Make sure to always release buffers back to OMX
1905 2011-11-08 08:24:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1908 omx: Also properly release buffers when in error state
1910 2011-11-08 08:22:08 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
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
1919 2011-11-07 14:00:47 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1921 * omx/gstomxvideodec.c:
1922 omxvideodec: Free pending frames after draining component
1924 2011-11-07 14:00:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1926 * omx/gstomxvideoenc.c:
1927 omxvideoenc: Free pending frames after draining the component
1929 2011-11-07 11:07:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1931 * omx/gstomxvideoenc.c:
1932 omxvideoenc: Make handling and usage of the base video codec frames threadsafe
1934 2011-11-07 11:05:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1936 * omx/gstomxvideoenc.c:
1937 omxvideoenc: Fix deadlock between srcpad stream lock and ::reset()
1939 2011-11-07 11:04:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1941 * omx/gstomxvideodec.c:
1942 omxvideoenc: Make handling and usage of the base video codec frames threadsafe
1944 2011-11-07 10:58:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1946 * omx/gstomxvideoenc.c:
1947 omxvideoenc: Free all pending frames after draining the component
1949 2011-11-07 10:58:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1951 * omx/gstomxvideodec.c:
1952 omxvideodec: Always free all pending frames when caps changes require reconfiguration
1954 2011-11-04 09:43:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1956 * omx/gstomxaudioenc.c:
1957 omxaudioenc: Only drain the component a single time and only after processing started
1959 2011-11-04 09:43:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1961 * omx/gstomxvideodec.c:
1962 omxvideodec: Only drain the component a single time and only after processing started
1964 2011-11-04 09:43:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1966 * omx/gstomxvideoenc.c:
1967 omxvideoenc: Only drain the component a single time and only after processing started
1969 2011-11-04 09:04:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
1977 2011-11-02 13:50:14 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
1985 2011-11-02 13:22:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1987 * omx/gstomxvideoenc.c:
1988 omxvideoenc: Make unsupported bitrate/quantizer settings less fatal
1990 2011-11-02 10:39:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
1996 2011-11-02 10:39:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
2002 2011-11-01 16:46:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
2010 2011-11-01 16:41:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
2018 2011-11-01 16:08:59 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
2026 2011-10-20 14:32:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2028 * omx/gstomxvideodec.c:
2029 omxvideodec: Fix deadlock if ::reset is called before finding the corresponding frame of a decoded buffer
2031 2011-11-01 15:10:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2033 * omx/gstomxaudioenc.c:
2034 * omx/gstomxaudioenc.h:
2035 * omx/gstomxvideoenc.h:
2036 omxaudioenc: Forward downstream flow returns to upstream
2038 2011-11-01 15:10:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2040 * omx/gstomxvideoenc.c:
2041 omxvideoenc: Forward downstream flow returns to upstream
2043 2011-11-01 13:58:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2045 * omx/gstomxvideodec.c:
2046 * omx/gstomxvideodec.h:
2047 omxvideodec: Forward downstream flow returns to upstream
2049 2011-10-25 14:23:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2052 omx: Add minimal README file
2054 2011-10-20 15:21:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
2059 2011-10-20 15:20:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
2064 2011-10-20 14:30:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2066 * omx/gstomxvideodec.c:
2067 omxvideodec: Move locking at the correct place
2069 2011-10-14 10:27:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
2078 2011-10-14 10:26:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
2088 2011-10-04 10:56:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2090 * omx/gstomxvideoenc.c:
2091 omxvideoenc: If one parameter/configuration is not supported don't skip the next
2093 2011-10-03 09:12:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2095 * omx/gstomxh264dec.c:
2096 omxh264dec: Require stream-format=byte-stream
2097 Other stream-formats are unlikely to be supported by OMX components.
2099 2011-09-29 10:37:32 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2101 * omx/gstomxvideodec.c:
2102 * omx/gstomxvideodec.h:
2103 omxvideodec: Add API for subclasses to prepare/convert frames
2105 2011-09-27 15:08:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
2111 2011-09-27 15:08:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
2117 2011-09-27 15:05:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
2123 2011-09-27 14:15:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2127 * omx/gstomxvideodec.c:
2128 omxvideodec: New hack for QCOM to recreate the component instead of reconfiguring it on caps changes
2130 2011-09-27 12:13:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2133 omx: Change a g_assert() into a GST_WARNING_OBJECT()
2135 2011-09-26 13:04:18 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2139 omx: Add hack for Qualcomm's OMX implementation to manually reset nOffset in EmptyBufferDone
2141 2011-09-23 17:02:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2143 * omx/gstomxaudioenc.c:
2144 omxaudioenc: Add a check to prevent a zero-sized OMX buffer
2146 2011-09-23 17:02:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2148 * omx/gstomxvideoenc.c:
2149 omxvideoenc: Add some more checks for correct OMX buffer sizes
2151 2011-09-23 15:53:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2153 * omx/gstomxvideodec.c:
2154 omxvideodec: Add some more checks for OMX buffer sizes
2156 2011-09-14 10:15:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
2167 2011-09-02 14:43:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2169 * omx/gstomxvideodec.c:
2170 omxvideodec: Negotiate video format with downstream and what the component claims to support
2172 2011-08-25 19:56:58 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
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
2180 2011-08-19 09:20:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
2188 2011-08-19 09:19:22 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
2196 2011-08-18 10:24:26 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2198 * omx/gstbasevideodecoder.c:
2199 basevideodecoder: Fix deadlock
2201 2011-08-18 10:03:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2203 * omx/gstbaseaudiodecoder.c:
2204 baseaudiodecoder: Don't take the stream lock in the seek handler
2205 This will lead to deadlocks
2207 2011-08-18 10:02:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
2215 2011-08-18 09:42:02 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
2222 2011-08-18 09:40:46 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
2228 2011-08-18 09:34:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2230 * omx/gstbaseaudiodecoder.c:
2231 * omx/gstbaseaudiodecoder.h:
2232 baseaudiodecoder: Fix thread safety issues if both pads have different streaming threads
2234 2011-08-18 09:17:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2236 * omx/gstbaseaudiodecoder.c:
2237 baseaudiodecoder: Delay sending of serialized events to finish_frame()
2239 2011-08-17 14:33:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2241 * omx/gstomxaudioenc.c:
2242 omxaudioenc: Always require at least OMX_MIN_PCMPAYLOAD_MSEC per input buffer
2244 2011-08-17 14:28:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
2252 2011-08-17 14:17:18 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2254 * omx/gstomxaudioenc.c:
2255 omxaudioenc: Handle inbuf==NULL properly in ::handle_frame()
2257 2011-08-17 13:04:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2259 * omx/gstomxaacenc.c:
2260 omxaacenc: Implement ::get_num_samples() vfunc
2262 2011-08-17 13:03:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2264 * omx/gstomxaudioenc.c:
2265 * omx/gstomxaudioenc.h:
2266 omxaudioenc: Add vfunc to get the number of samples inside a buffer
2268 2011-08-17 11:34:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
2276 2011-08-17 11:34:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2278 * omx/gstbaseaudioencoder.c:
2279 * omx/gstbaseaudioencoder.h:
2280 baseaudioencoder: Fix thread safety issues if both pads have different streaming threads
2282 2011-08-17 09:58:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2284 * omx/gstbaseaudioencoder.c:
2285 baseaudioencoder: Taking the OBJECT lock in reset() is not needed
2287 2011-08-16 11:03:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2289 * omx/gstomxaudioenc.c:
2290 omxaudioenc: Remove hack that only applies to the video encoder class
2292 2011-08-16 10:49:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2297 * omx/gstomxaacenc.c:
2298 * omx/gstomxaacenc.h:
2299 omxaacenc: Add initial version of OpenMAX AAC encoder element
2301 2011-08-15 15:10:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2304 * omx/gstomxaudioenc.c:
2305 * omx/gstomxaudioenc.h:
2306 omxaudioenc: Add initial version of audio encoder base class
2308 2011-08-15 14:14:11 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2310 * omx/gstbaseaudioencoder.c:
2311 baseaudioencoder: Delay sending of serialized events to finish_frame()
2313 2011-08-15 13:06:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
2322 2011-08-15 12:56:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
2333 2011-08-12 12:25:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
2342 2011-08-12 12:13:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2344 * omx/gstbasevideoencoder.h:
2345 basevideoencoder: Remove old ::getcaps() comment
2347 2011-08-12 12:06:23 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
2355 2011-08-10 10:24:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
2363 2011-08-10 10:23:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2365 * omx/gstomxmpeg4videodec.c:
2366 omxmpeg4videodec: Don't require width/height on sink pad caps
2368 2011-08-10 10:11:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
2377 2011-08-10 09:56:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2379 * omx/gstomxvideoenc.c:
2380 omxvideoenc: Set the state back to StateLoaded even if an error happened
2382 2011-08-10 09:49:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
2389 2011-08-10 09:32:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2394 2011-08-10 09:23:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2397 omx: Reset pending reconfigure output ports when changing the state from Executing to any lower state
2399 2011-08-10 09:08:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2402 omx: Fix crash when setting last error after the ports were freed
2404 2011-08-10 09:03:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2407 omx: Free component structure
2409 2011-08-10 09:02:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2412 omx: Make component destruction safer
2414 2011-08-10 08:53:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
2421 2011-08-10 08:52:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2423 * omx/gstomxvideodec.c:
2424 omxvideodec: Set the state back to StateLoaded even if an error happened
2426 2011-08-10 08:51:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2429 omx: Add some assertions to check if the buffer pAppPrivate is still correct
2431 2011-08-08 13:04:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2434 omx: Add parenthesis at correct places in the struct init macro
2436 2011-08-08 12:12:58 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2439 omx: Only prevent setting a higher state if the component is in an error state
2441 2011-08-03 16:02:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2443 * omx/gstbasevideodecoder.c:
2444 basevideodecoder: Use the cached video frame size instead of recalculating it
2446 2011-08-03 15:35:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2449 omx: Improve debugging in param/config getter/setter wrappers
2451 2011-08-03 13:10:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2453 * omx/gstomxvideodec.c:
2454 omxvideodec: Don't abort if the color format is not supported but give a useful error message
2456 2011-08-02 15:14:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
2465 2011-08-02 15:14:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2467 * omx/gstbasevideoencoder.c:
2468 basevideoencoder: Make access to the list of frames threadsafe
2470 2011-08-01 13:22:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2474 omx: Add a hacks flag for the Qualcomm 7x30 OMX_FillThisBuffer() race and make it optional
2476 2011-07-29 13:56:59 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2479 omx: Add workaround for QCOM 7x30 race condition
2481 2011-07-29 12:06:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2485 * omx/gstomxh263enc.c:
2486 * omx/gstomxh263enc.h:
2487 omxh263enc: Add H.263 encoder element
2489 2011-07-29 11:26:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2491 * omx/gstomxmpeg4videoenc.c:
2492 omxmpeg4videoenc: Add support for setting profile/level via caps
2494 2011-07-28 14:14:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2496 * omx/gstomxh264enc.c:
2497 omxh264enc: Add support for setting profile/level via caps
2499 2011-07-28 12:58:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2501 * omx/gstomxvideoenc.c:
2502 omxvideoenc: Add support for forcing the next frame to be a keyframe
2504 2011-07-28 11:54:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2506 * omx/gstomxvideoenc.c:
2507 * omx/gstomxvideoenc.h:
2508 omxvideoenc: Add support for setting bitrate/quantization related parameters
2510 2011-07-28 10:23:08 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2514 omx: Add wrapper functions for OMX_[GS]et{Config,Parameter}
2516 2011-07-28 09:54:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2520 omx: Add macro to initialize OpenMAX structures
2522 2011-07-28 09:08:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2524 * omx/gstomxvideoenc.c:
2525 omxvideoenc: Don't output 0-byte buffers
2527 2011-07-25 15:05:08 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2530 omx: Ensure that the pAppPrivate pointer in OMX buffers is set correctly
2532 2011-07-25 13:19:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2534 * omx/gstomxvideodec.c:
2535 * omx/gstomxvideoenc.c:
2536 omxvideo{enc,dec}: Only set/unset flushing state on ports if they were created already
2538 2011-07-25 12:01:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2542 * omx/gstomxwmvdec.c:
2543 * omx/gstomxwmvdec.h:
2544 omxwmvdec: Add WMV video decoder element
2546 2011-07-25 11:44:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2550 * omx/gstomxh263dec.c:
2551 * omx/gstomxh263dec.h:
2552 omxh263dec: Add H.263 decoder element
2554 2011-07-25 11:32:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2558 * omx/gstomxh264enc.c:
2559 * omx/gstomxh264enc.h:
2560 omxh264enc: Add H.264 encoder element
2562 2011-07-25 10:48:58 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2564 * omx/gstomxvideodec.c:
2565 omxvideodec: Try harder to deallocate the buffers after errors happened
2567 2011-07-25 10:47:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2569 * omx/gstomxvideoenc.c:
2570 omxvideoenc: Try harder to deallocate the buffers after errors happened
2572 2011-07-25 10:46:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
2580 2011-07-21 11:15:14 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2582 * omx/gstomxvideoenc.c:
2583 omxvideoenc: Add initial support for stride conversion
2585 2011-07-21 10:38:26 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
2592 2011-07-21 10:36:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2595 omx: Failure to set the component role is fatal
2597 2011-07-21 07:53:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2599 * omx/gstomxvideoenc.c:
2600 omxvideoenc: Add support for setting codec_data on the srcpad caps
2602 2011-07-21 07:44:34 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2604 * omx/gstomxvideoenc.c:
2605 omxvideoenc: Free/drop GstVideoFrames that resulted in an empty buffer
2607 2011-07-21 07:44:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2609 * omx/gstbasevideoencoder.c:
2610 basevideoencoder: Allow finishing of frames with no src_buffer to drop/free the GstVideoFrame
2612 2011-07-21 07:31:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2614 * omx/gstomxvideoenc.c:
2615 omxvideoenc: Remove obsolete TODO comment
2617 2011-07-20 11:09:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2621 omx: Use libgstopenmax.so for the plugin filename and openmax for the plugin name
2622 Resolves conflicts with gst-openmax.
2624 2011-07-20 08:34:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
2638 2011-07-20 10:39:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2640 * omx/gstbasevideoencoder.c:
2641 basevideoencoder: Only get caps from the subclass if they were not set yet by the subclass
2643 2011-07-20 09:25:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2645 * omx/gstbasevideoencoder.c:
2646 * omx/gstbasevideoencoder.h:
2647 basevideoencoder: Delay sending of serialized sink events until finish_frame()
2649 2011-07-20 09:09:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2651 * omx/gstbasevideoencoder.c:
2652 * omx/gstbasevideoencoder.h:
2653 basevideoencoder: Add ::reset vfunc and handle ::reset/::finish the same way as in the decoder
2655 2011-07-19 12:50:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
2662 2011-07-19 12:29:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2665 * omx/gstomxvideodec.c:
2666 omx: Improve debug output a bit
2668 2011-07-19 10:33:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
2677 2011-07-19 10:33:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2682 * omx/gstomxvideodec.c:
2683 * omx/gstomxvideodec.h:
2684 omx: Add infrastructure to enable special hacks for broken OpenMAX implementations
2686 2011-07-18 13:10:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2689 omx: When acquiring a buffer from an input port always wait until all output ports are reconfigured
2691 2011-07-18 08:41:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2693 * omx/gstomxvideodec.c:
2694 omxvideodec: Add support for converting between omx and gst rowstrides
2696 2011-07-14 10:34:09 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2699 omx: Provide all buffers to output ports after enabling them
2701 2011-07-14 08:29:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2703 * omx/gstomxvideodec.c:
2704 omxvideodec: Add support for NV12 / OMX_COLOR_FormatYUV420SemiPlanar
2706 2011-07-14 07:58:41 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2708 * omx/gstomxvideodec.c:
2709 * omx/gstomxvideodec.h:
2710 omxvideodec: Only flush the component ports after we passed input to them
2712 2011-07-13 21:19:34 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2714 * omx/gstomxvideodec.c:
2715 omxvideodec: Only change states downwards if an upper state was reached
2717 2011-07-13 20:37:02 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2721 * omx/gstomxvideodec.c:
2722 * omx/gstomxvideodec.h:
2723 omx: Add support for setting the component-role
2725 2011-07-13 20:22:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2729 * omx/gstomxvideodec.c:
2730 omx: Improve error reporting by formatting the error codes better and also providing their string representation
2732 2011-07-13 14:36:14 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2735 build: Dist autogen.sh
2737 2011-07-13 14:35:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2741 build: Only require GStreamer >= 0.10.29 and GLib >= 2.16
2743 2011-07-13 14:04:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2746 build: Dist gstomx.conf
2748 2011-07-13 14:04:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2751 build: Clean _stdint.h on "make distclean"
2753 2011-07-13 14:02:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2755 * omx/gstomxvideodec.c:
2756 omxvideodec: Fix typo
2758 2011-07-13 13:59:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2763 2011-07-13 12:46:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2765 * omx/gstomxvideodec.c:
2766 omxvideodec: Set SYNCFRAME flag on the OMX buffers for non-delta units
2768 2011-07-13 12:37:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
2774 2011-07-13 09:59:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
2781 2011-07-13 09:31:22 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2783 * omx/gstomxvideodec.c:
2784 omxvideodec: Fix deadlock when finishing old frames that are left over by the decoder
2786 2011-07-12 11:37:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2788 * omx/gstomxh264dec.c:
2789 omxh264dec: It's called H.264, not H264
2791 2011-07-12 11:36:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
2799 2011-07-12 11:13:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2802 omx: Allow to set a preferred configuration directory with the GST_OMX_CONFIG_DIR environment variable
2804 2011-07-12 10:55:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2806 * omx/gstomxh264dec.c:
2807 * omx/gstomxmpeg4videodec.c:
2808 * omx/gstomxvideodec.c:
2809 omxvideodec: Make core/component-name and in/outport index configurable
2811 2011-07-12 10:05:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2816 omx: Add initial version of configuration system
2817 This now only registers elements that are specified in the
2819 The configuration file is a keyfile in the first XDG configuration
2820 directory with the name gstomx.conf.
2822 2011-07-12 08:53:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2826 * omx/gstomxh264dec.c:
2827 * omx/gstomxh264dec.h:
2828 * omx/gstomxh264videodec.c:
2829 * omx/gstomxh264videodec.h:
2830 omxh264dec: Rename from omxh264videodec to omxh264dec
2832 2011-07-12 08:40:48 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2834 * omx/gstomxh264videodec.c:
2835 omxh264videodec: Require alignment=au and stream-format={avc,bytestream}
2837 2011-07-11 12:59:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
2843 2011-07-11 12:36:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2845 * omx/gstbasevideodecoder.c:
2846 basevideodecoder: Track present position on discont before resetting it
2848 2011-07-11 11:52:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2850 * omx/gstbasevideodecoder.c:
2851 basevideodecoder: Also protect the list of pending frames from concurrent access when pushing all pendings events
2853 2011-07-11 11:28:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
2862 2011-07-11 09:35:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2864 * omx/gstbasevideodecoder.c:
2865 basevideodecoder: Set the correct lists to NULL after freeing
2867 2011-07-11 08:54:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
2873 2011-07-12 08:34:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2877 * omx/gstomxh264videodec.c:
2878 * omx/gstomxh264videodec.h:
2879 omxh264videodec: Add h.264 video decoder
2881 2011-07-12 08:29:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2883 * omx/gstomxmpeg4videodec.c:
2884 omxmpeg4videodec: Fix debug category name
2886 2011-07-09 11:41:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
2896 2011-07-09 11:32:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
2902 2011-07-09 11:05:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2904 * omx/gstomxvideodec.c:
2905 omxvideodec: Use the destroy notify to free the coder_hook
2907 2011-07-09 10:57:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
2915 2011-07-09 10:44:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
2923 2011-07-08 15:42:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2925 * omx/gstomxvideodec.c:
2926 omxvideodec: Fix some minor memory leaks
2928 2011-07-08 15:25:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
2938 2011-07-08 13:16:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
2945 2011-07-07 12:51:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2948 omx: Clarify GQueue/GPtrArray element types
2950 2011-07-07 12:23:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
2959 2011-07-07 12:22:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2961 * omx/gstomxvideodec.c:
2962 omxvideodec: Also flush/unflush the input port when changing the state PAUSED<->READY
2964 2011-07-07 12:21:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
2972 2011-07-07 11:27:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2974 * omx/gstomxvideodec.c:
2975 omxvideodec: Don't leak the codec_data after sending it
2977 2011-07-07 10:27:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
2984 2011-07-07 10:22:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
2992 2011-07-07 10:07:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2994 * omx/gstomxvideodec.c:
2995 omxvideodec: Remove reconfiguration test hack
2997 2011-07-06 13:27:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3000 omx: Improve debug output a bit
3002 2011-07-06 13:26:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3005 omx: Always try to deallocate buffers, even if there's a component error
3007 2011-07-06 13:26:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3010 omx: Use G_USEC_PER_SEC for clarity instead of 1000000
3012 2011-07-06 13:19:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
3019 2011-07-06 10:40:13 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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.
3027 2011-07-06 10:30:11 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3029 * omx/gstomxvideodec.c:
3030 omxvideodec: Remove obsolete FIXME comment
3032 2011-07-06 10:29:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3036 omx: Improve error handling and reporting
3038 2011-07-06 08:48:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3040 * omx/gstomxmpeg4videodec.c:
3041 * omx/gstomxvideodec.c:
3042 * omx/gstomxvideodec.h:
3043 omxvideodec: Make the inport and outport index configurable by the subclass
3045 2011-06-28 08:51:23 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
3059 2011-06-28 11:47:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
3070 2011-06-27 09:41:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
3077 2011-06-27 09:37:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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
3088 2011-06-21 11:17:35 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
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