3 2014-07-23 Sebastian Dröge <slomo@coaxion.net>
8 2014-07-22 09:23:00 +0200 Sebastian Dröge <sebastian@centricular.com>
10 * config/bellagio/gstomx.conf:
11 * config/rpi/gstomx.conf:
12 config: Update ranks to PRIMARY+1 to have higher preference than avdec_*
13 See https://bugzilla.gnome.org/show_bug.cgi?id=732161
15 2014-07-20 17:46:30 +0200 Sebastian Dröge <sebastian@centricular.com>
17 * omx/gstomxaudiosink.c:
18 omxaudiosink: Set port to not flushing in prepare() and keep it at flushing in unprepare()
19 https://bugzilla.gnome.org/show_bug.cgi?id=733168
21 2014-07-13 22:15:18 +0200 Sebastian Dröge <sebastian@centricular.com>
24 * omx/gstomxaudiodec.c:
25 * omx/gstomxaudiodec.h:
27 omxaudiodec: Implement setting of fallback channel positions
29 2014-07-13 18:22:39 +0200 Sebastian Dröge <sebastian@centricular.com>
36 omx: Add AAC audio decoder
38 2014-07-02 09:22:28 +0200 Sebastian Dröge <sebastian@centricular.com>
40 * omx/gstomxaudiodec.c:
41 omxaudiodec: Get PCM parameters from the out port, not the in port
43 2014-05-15 13:24:39 +0200 Sebastian Dröge <sebastian@centricular.com>
45 * omx/gstomxaudiodec.c:
46 omxaudiodec: Implement hack for not disabling the output port after set_format until the output format is known
47 Needed on some OMX implementations, e.g. the one from Atmel. It does
48 not send the settings-changed event on the output port if it is
51 2014-05-10 23:12:54 +0200 Sebastian Dröge <sebastian@centricular.com>
55 * omx/gstomxaudiodec.c:
56 * omx/gstomxaudiodec.h:
59 omx: Add audio decoder base class and a subclass for MP3
61 2014-07-01 09:38:01 +0200 Sebastian Dröge <sebastian@centricular.com>
65 omx: Link to gmodule-2.0-no-export for being able to use the g_module_*() API
66 https://bugzilla.gnome.org/show_bug.cgi?id=732518
68 2014-06-30 15:00:54 +0200 Sebastian Dröge <sebastian@centricular.com>
70 * examples/egl/testegl.c:
71 examples: #define GST_USE_UNSTABLE_API for libgstgl
73 2014-06-29 19:10:19 +0200 Sebastian Dröge <sebastian@centricular.com>
75 * omx/gstomxh264enc.c:
76 * omx/gstomxh264enc.h:
77 omxh264enc: Properly accumulate headers and push before the next frame
78 Fixes output of encoding on RPi, where each header buffer (SPS and PPS)
79 is in a separate OMX buffer.
80 https://bugzilla.gnome.org/show_bug.cgi?id=726669
82 2014-06-29 19:04:54 +0200 Sebastian Dröge <sebastian@centricular.com>
84 * omx/gstomxvideoenc.c:
85 omxvideoenc: Implement flush() instead of the deprecated reset()
87 2014-06-25 17:14:18 +0200 Sebastian Dröge <sebastian@centricular.com>
89 * config/rpi/gstomx.conf:
90 rpi: It's 44100Hz, not 41400Hz
92 2014-06-25 11:12:51 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
95 configure.ac: require gstgl >= 1.3.3
97 2014-04-25 13:25:05 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
101 example: enable testegl
102 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
104 2014-06-25 10:19:54 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
106 * examples/egl/testegl.c:
107 testegl: do matrix mutlplication in the shader
108 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
110 2014-06-25 09:36:38 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
112 * examples/egl/testegl.c:
113 testegl: add a comment for the parse command
114 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
116 2014-04-25 17:32:16 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
118 * examples/egl/Makefile.am:
119 * examples/egl/cube_texture_and_coords.h:
120 * examples/egl/testegl.c:
121 testegl: convert code from GLESv1 to GLESv2
122 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
124 2014-04-25 13:21:59 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
126 * examples/egl/Makefile.am:
127 * examples/egl/testegl.c:
128 testegl: port to gstgl API
129 - append a glfilter just before fakesink
130 So that we get gltexture or eglimages
131 - propagate our EGLDisplay to the pipeline
132 see GST_QUERY_CONTEXT
133 - share our EGLContext with the iternal gl context
134 of the pipeline, see GST_QUERY_ALLOCATION
135 - use GstVideoGLTextureUploadMeta to upload
136 the incoming gltexture or eglimage to our gl texture
137 TODO: convert from GLESv1 to GLESv2
138 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
140 2014-06-24 14:52:58 +0200 Sebastian Dröge <sebastian@centricular.com>
142 * omx/gstomxbufferpool.c:
143 * omx/gstomxbufferpool.h:
144 * omx/gstomxvideodec.c:
145 omxbufferpool: Copy buffers if the stride does not match and we can't use video meta
146 https://bugzilla.gnome.org/show_bug.cgi?id=731672
148 2014-06-24 14:52:43 +0200 Sebastian Dröge <sebastian@centricular.com>
152 * omx/gstomxvp8dec.h:
153 omx: Only include OMX_VideoExt.h conditionally
154 It does not exist on the RPi for example.
156 2014-06-24 13:59:44 +0200 Sebastian Dröge <sebastian@centricular.com>
159 configure.ac: Require GStreamer core/base >= 1.2.2
160 Needed at least for gst_video_decoder_release_frame().
162 2014-06-24 13:02:13 +0200 Sebastian Dröge <sebastian@centricular.com>
164 * omx/gstomxbufferpool.c:
165 omxbufferpool: Fix format string compiler warning
167 2014-06-22 21:11:45 +0000 Michal Lazo <xlazom00@gmail.com>
169 * omx/gstomxbufferpool.c:
170 omxbufferpool: Initialize debug category
172 2014-06-24 12:42:22 +0200 Sebastian Dröge <sebastian@centricular.com>
174 * omx/gstomxbufferpool.c:
175 omxbufferpool: Properly convert OMX alignment to GStreamer alignment
176 GStreamer uses a bitmask for the alignment while OMX uses the
177 alignment itself. Let's convert.
178 https://bugzilla.gnome.org/show_bug.cgi?id=710564
180 2014-06-24 11:11:28 +0200 Sebastian Dröge <sebastian@centricular.com>
182 * omx/gstomxh264enc.c:
183 omxh264enc: Don't let baseclass finish frames for SPS/PPS buffers
184 Otherwise we a) send them twice, and b) finish a frame for something
185 that does not even include a frame.
186 https://bugzilla.gnome.org/show_bug.cgi?id=726669
188 2014-06-24 10:22:37 +0200 Sebastian Dröge <sebastian@centricular.com>
191 omxvideo: Include the separate headers too for compatibility with 1.0.x
193 2014-03-24 16:09:40 +0800 Zhao, Halley <halley.zhao@intel.com>
196 * omx/gstomxvp8dec.h:
197 omxvp8dec: use VP8 definition from OMX_VideoExt.h
198 https://bugzilla.gnome.org/show_bug.cgi?id=726957
200 2014-03-24 15:33:26 +0800 Zhao, Halley <halley.zhao@intel.com>
203 configure: add --with-omx-header-path option for external omx headers
204 https://bugzilla.gnome.org/show_bug.cgi?id=726957
206 2014-06-18 23:04:33 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
208 * omx/gstomxvideodec.c:
209 omxvideodec: fix a query leak
210 Also add a debug message if query fails.
211 https://bugzilla.gnome.org/show_bug.cgi?id=731898
213 2014-05-30 15:29:15 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
215 * omx/gstomxvideodec.c:
216 omxvideodec: release frames with old PTS to avoid memory issue
217 Interlaced stream could make the decoder use two input frames to produce
218 one output frame causing the gstvideodecoder frame list to grow.
219 Assuming the video decoder output frame in display order rather than in
220 decoding order, this commit add a way to release frames with PTS less
221 than current output frame.
222 https://bugzilla.gnome.org/show_bug.cgi?id=730995
224 2013-06-27 21:59:29 +0900 Kazunori Kobayashi <kkobayas@igel.co.jp>
227 omx: Fix a missing g_free() in error path
228 This fixes a memory leak with g_strdup() when an error occurs.
229 https://bugzilla.gnome.org/show_bug.cgi?id=731141
231 2014-06-02 15:34:09 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
233 * omx/gstomxvideodec.c:
234 omxvideodec: add missing stream unlock in error path
236 2014-05-31 15:12:05 +0200 Sebastian Dröge <sebastian@centricular.com>
239 omx: Don't handle disabling/enabling ports exactly like flushing
240 Otherwise we might abort a flush operation in another thread when
241 enabling/disabling ports, leading to deadlocks sometimes.
242 https://bugzilla.gnome.org/show_bug.cgi?id=730989
244 2014-05-26 11:02:10 +0200 Sebastian Dröge <sebastian@centricular.com>
246 * omx/gstomxvideodec.c:
247 omxvideodec: Don't leak buffer pool config in error cases
250 2014-05-21 10:53:43 +0200 Sebastian Dröge <sebastian@centricular.com>
253 Automatic update of common submodule
254 From 211fa5f to 1f5d3c3
256 2014-05-19 09:10:07 +0200 Sebastian Dröge <sebastian@centricular.com>
258 * omx/gstomxvideoenc.c:
259 omxvideoenc: Don't forget to unref codec state
262 2014-05-19 09:08:33 +0200 Sebastian Dröge <sebastian@centricular.com>
264 * omx/gstomxvideodec.c:
265 omxvideodec: Make output buffer pointer always initialized
268 2014-05-19 09:06:42 +0200 Sebastian Dröge <sebastian@centricular.com>
270 * omx/gstomxvideodec.c:
271 omxvideodec: Check return value of gst_buffer_map()
274 2014-05-19 09:04:09 +0200 Sebastian Dröge <sebastian@centricular.com>
276 * omx/gstomxvideodec.c:
277 omxvideodec: Check return value of gst_omx_port_set_enabled() for errors
280 2014-05-19 09:01:46 +0200 Sebastian Dröge <sebastian@centricular.com>
282 * omx/gstomxvideodec.c:
283 omxvideodec: Check return values of buffer pool config parsing functions
286 2014-05-19 08:48:50 +0200 Sebastian Dröge <sebastian@centricular.com>
289 omx: Remove dead code, buf can never be NULL here as we just check for that the line above
292 2014-05-19 08:47:36 +0200 Sebastian Dröge <sebastian@centricular.com>
295 omx: Fix comparisons in gst_omx_state_to_string() case to actually make sense
298 2014-05-19 08:45:10 +0200 Sebastian Dröge <sebastian@centricular.com>
301 omx: Make sure to compare the error codes as unsigned integers so that comparisons >2**31 actually work
304 2014-05-19 08:40:23 +0200 Sebastian Dröge <sebastian@centricular.com>
307 omx: Fix comparisons in gst_omx_command_to_string() default cause to actually work
310 2014-05-15 13:22:56 +0200 Sebastian Dröge <sebastian@centricular.com>
312 * omx/gstomxaudioenc.c:
313 omxaudioenc: Implement hack for not disabling the output port after set_format until the output format is known
314 Needed on some OMX implementations, e.g. the one from Atmel. It does
315 not send the settings-changed event on the output port if it is
318 2014-05-15 13:21:07 +0200 Sebastian Dröge <sebastian@centricular.com>
320 * omx/gstomxvideoenc.c:
321 omxvideoenc: Implement hack for not disabling the output port after set_format until the output format is known
322 Needed on some OMX implementations, e.g. the one from Atmel. It does
323 not send the settings-changed event on the output port if it is
326 2014-05-15 10:58:34 +0200 Sebastian Dröge <sebastian@centricular.com>
330 * omx/gstomxvideodec.c:
331 omx: Add a hack for not disabling the output port after set_format until the output format is known
332 Needed on some OMX implementations, e.g. the one from Atmel. It does
333 not send the settings-changed event on the output port if it is
336 2014-05-12 12:33:32 +0200 Josep Torra <n770galaxy@gmail.com>
338 * omx/gstomxaudiosink.c:
339 omxaudiosink: implement _delay only in the RaspberryPI
340 Make code implementation conditionally built for RaspberryPI because
341 OMX_IndexConfigAudioRenderingLatency seems to be a Broadcom extension.
342 On other targets the query position might not be accurate without
343 implementing _delay appropriatelly.
345 2014-05-12 08:56:15 +0200 Sebastian Dröge <sebastian@centricular.com>
347 * omx/gstomxaudioenc.c:
348 omxaudioenc: Correctly scale nTickCount by OMX_TICKS_PER_SECOND
350 2014-05-10 22:48:23 +0200 Sebastian Dröge <sebastian@centricular.com>
352 * omx/gstomxaudioenc.c:
353 omxaudioenc: Drain encoder on NULL buffer and don't drain on flushing
355 2014-05-10 22:47:56 +0200 Sebastian Dröge <sebastian@centricular.com>
357 * omx/gstomxvideodec.c:
358 omxvideodec: Set nTickCount based on the buffer's duration instead of something wrong
360 2014-05-10 22:47:21 +0200 Sebastian Dröge <sebastian@centricular.com>
362 * omx/gstomxvideoenc.c:
363 omxvideoenc: Set nTickCount to the whole duration of the buffer instead of a wrong calculation
365 2014-05-10 22:46:51 +0200 Sebastian Dröge <sebastian@centricular.com>
367 * omx/gstomxaudiosink.c:
368 omxaudiosink: Fix format string compiler warnings
370 2014-04-04 14:11:58 +0200 Josep Torra <n770galaxy@gmail.com>
372 * config/rpi/gstomx.conf:
375 * omx/gstomxanalogaudiosink.c:
376 * omx/gstomxanalogaudiosink.h:
377 * omx/gstomxaudiosink.c:
378 * omx/gstomxaudiosink.h:
379 * omx/gstomxhdmiaudiosink.c:
380 * omx/gstomxhdmiaudiosink.h:
381 omxaudiosink: Implements OpenMAX based audio sinks
382 Provides omxanalogaudiosink and omxhdmiaudiosink elements on
384 - omxanalogaudiosink is capable to render raw mono or stereo audio
385 through the jack output.
386 - omxhdmiaudiosink is capable to render raw audio up to 8 channels
387 and transmit ac3/dts(IEC 61937) through the HDMI output.
388 - sinks provide a clock derived from rendered samples
389 - sinks support the GstStreamVolume interface by implementing
390 the volume and mute properties.
391 https://bugzilla.gnome.org/show_bug.cgi?id=728962
393 2014-05-03 10:17:35 +0200 Sebastian Dröge <sebastian@centricular.com>
396 Automatic update of common submodule
397 From bcb1518 to 211fa5f
399 2014-04-29 15:16:16 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
401 * omx/gstomxvideodec.c:
402 omxvideodec: can negotiate caps with memory:EGLImage feature when using EGLImage allocator
403 Previously when using gst EGLImage allocator the caps was
404 video/x-raw, format=RGBA instead of
405 video/x-raw(memory:EGLImage), format=RGBA
406 Kepp previous behavior in case negotiation fails with caps feature.
407 It means it will still have a chance to use EGLImage even if the
408 feature is not in the caps.
409 https://bugzilla.gnome.org/show_bug.cgi?id=729196
411 2014-04-23 09:57:48 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
413 * omx/gstomxvp8dec.h:
414 omxvp8dec: fix typo in GST_TYPE_OMX_VP8_DEC define
415 https://bugzilla.gnome.org/show_bug.cgi?id=728774
417 2014-04-16 11:00:55 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
419 * omx/gstomxvideodec.c:
420 omxvideodec: don't unref caps before logging field from it
421 https://bugzilla.gnome.org/show_bug.cgi?id=728322
423 2014-04-15 17:30:13 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
427 example: disable testegl since libgstegl has been removed
428 As decided in bug #703343
429 Not compatible with the new libgstgl API.
430 A portage has been started, attachment 272800.
431 https://bugzilla.gnome.org/show_bug.cgi?id=703343
433 2014-04-15 17:11:08 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
435 * omx/gstomxvideodec.c:
436 omxvideodec: use new libgstgl API since libgstegl has been removed
437 There is no point to retrieve a ref/unref type
438 instead of an EGLDisplay directly. It's like for EGLImage.
439 https://bugzilla.gnome.org/show_bug.cgi?id=703343
441 2014-04-15 17:06:38 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
444 * examples/Makefile.am:
446 * omx/gstomxvideodec.c:
447 configure.ac: check for libgstgl since libgstegl has been removed
448 https://bugzilla.gnome.org/show_bug.cgi?id=703343
450 2014-04-09 18:52:16 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
452 * omx/gstomxbufferpool.c:
453 * omx/gstomxvideodec.c:
454 omxvideodec: add support of more color format
455 Add support for ABGR, ARGB, RGB16, BGR16, YUY2, UYVY, YVYU, GRAY8 and
458 2014-04-09 18:51:57 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
460 * omx/gstomxvideodec.c:
461 omxvideodec: simplify color format conversion in fill_buffer function
463 2014-04-09 18:51:41 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
465 * omx/gstomxbufferpool.c:
466 omxbufferpool: make video stride and offset calculation easier
467 It will be easier to support more color format.
469 2014-04-09 18:51:12 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
473 * omx/gstomxvideodec.c:
474 omx: add an helper to convert OMX color format to GStreamer color format
476 2014-03-10 17:43:50 +0100 Josep Torra <n770galaxy@gmail.com>
478 * examples/egl/testegl.c:
479 * omx/gstomxvideodec.c:
480 omxvideodec: Implement pipeline draining to support adaptive scenarios
481 When draining due a format change also drain
482 the pipeline to reclaim back all buffers.
483 https://bugzilla.gnome.org/show_bug.cgi?id=726107
485 2014-03-27 13:57:32 +0100 Josep Torra <n770galaxy@gmail.com>
487 * examples/egl/testegl.c:
488 examples: fix several memory leaks in the testegl example
489 Ensure to call to image_data_free in order to release GPU resources.
490 Also ensure to destroy EGLImage and GLTexture from proper
492 https://bugzilla.gnome.org/show_bug.cgi?id=726107
494 2014-03-25 17:16:31 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
496 * examples/egl/testegl.c:
497 examples: keep a ref on the buffer instead of the memory
499 https://bugzilla.gnome.org/show_bug.cgi?id=726107
501 2014-03-07 20:08:05 +0100 Josep Torra <n770galaxy@gmail.com>
503 * omx/gstomxvideodec.c:
504 omxvideodec: fixes race condition during seeks
505 Acording 6.1.3 Seek Event Sequence in the OpenMAX IL 1.1.2 spec
506 document in order to flush the component it needs to be in
508 https://bugzilla.gnome.org/show_bug.cgi?id=726038
510 2014-01-29 18:31:26 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
512 * omx/gstomxvideodec.c:
513 omxvideodec: use flush because reset is deprecated
514 https://bugzilla.gnome.org/show_bug.cgi?id=726038
516 2014-01-27 17:03:50 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
518 * omx/gstomxvideodec.c:
519 omxvideodec: populate the most downstream output port on reset
520 Make seeking work when using egl_render component
521 https://bugzilla.gnome.org/show_bug.cgi?id=726038
523 2014-03-24 17:49:59 +0100 Josep Torra <n770galaxy@gmail.com>
525 * omx/gstomxbufferpool.c:
526 omxbufferpool: return buffers to the pool instead of freeing them
527 We have to return the buffers back to the pool in when stopping to
528 not mess with the GstBufferPool accounting.
529 The OMX buffers will be freed when those won't be in charge of the
530 pool in the chained up call to 'stop'.
531 Fixes segfaults on finalize and pool not being properly deactivated.
532 https://bugzilla.gnome.org/show_bug.cgi?id=726337
534 2014-03-19 12:12:49 +0100 Christian König <christian.koenig@amd.com>
536 * omx/gstomxvideodec.c:
537 omxvideodec: add missing unlock in the error path
538 Signed-off-by: Christian König <christian.koenig@amd.com>
539 https://bugzilla.gnome.org/show_bug.cgi?id=726958
541 2014-03-18 23:36:59 +0100 Michal Lazo <xlazom00@gmail.com>
543 * omx/gstomxh264enc.c:
544 * omx/gstomxh264enc.h:
547 2014-03-17 09:57:11 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
549 * omx/gstomxbufferpool.c:
550 omxbufferpool: fix memory leak if used on output port
551 When using GstOMXBufferPool on an output port, it internally uses
552 a GPtrArray to manage the GstBuffers instead of the default queue
553 from the GstBufferPool base class.
554 In this case GstBufferPool::default_free_buffer is not called when
555 the pool is stopped. Because the queue is empty. So explicitely
556 call gst_omx_buffer_pool_free_buffer on each buffer contained in
558 https://bugzilla.gnome.org/show_bug.cgi?id=726337
560 2014-03-16 17:32:05 +0100 Sebastian Dröge <sebastian@centricular.com>
562 * omx/gstomxh264enc.c:
563 omxh264enc: Fix compiler warnings
565 2014-03-16 17:19:08 +0100 Michal Lazo <xlazom00@gmail.com>
567 * omx/gstomxh264enc.c:
568 * omx/gstomxh264enc.h:
569 omxh264enc: IDR interval, SPS and PPS headers for rpi
570 https://bugzilla.gnome.org/show_bug.cgi?id=720031
572 2014-03-13 14:26:58 +0100 Christian König <christian.koenig@amd.com>
577 omxvideo: fix debug category initialisation
578 https://bugzilla.gnome.org/show_bug.cgi?id=726024
580 2014-03-13 19:04:47 +0100 Christian König <christian.koenig@amd.com>
582 * omx/gstomxbufferpool.h:
583 omxbufferpool: add proper type definitions
584 https://bugzilla.gnome.org/show_bug.cgi?id=726325
586 2014-03-02 10:30:04 +0100 Christian König <christian.koenig@amd.com>
589 omx: consolidate message waiting code
590 Add a wait_message helper function and remove all those duplicated code.
591 https://bugzilla.gnome.org/show_bug.cgi?id=725493
593 2014-03-12 12:48:12 +0100 Sebastian Dröge <sebastian@centricular.com>
596 omx: Copy old copyright notice into the new file
598 2014-03-12 12:47:34 +0100 Sebastian Dröge <sebastian@centricular.com>
602 * omx/gstomxvideodec.c:
603 * omx/gstomxvideoenc.c:
604 omx: Rename function from _4_ to _for_ for clarity
606 2014-03-03 16:15:24 +0100 Christian König <christian.koenig@amd.com>
611 * omx/gstomxvideodec.c:
612 * omx/gstomxvideoenc.c:
613 omxvideo: start sharing more code between video decoder and encoder
614 Identical functionality spread of two different components.
615 We can't use a common base class because of different inheritance,
616 but let's try to share the code anyway.
617 https://bugzilla.gnome.org/show_bug.cgi?id=726024
619 2014-03-12 12:43:49 +0100 Sebastian Dröge <sebastian@centricular.com>
621 * examples/egl/Makefile.am:
622 examples: Only build RPi EGL example if RPi was chosen as target
624 2014-03-12 12:42:23 +0100 Sebastian Dröge <sebastian@centricular.com>
626 * omx/gstomxbufferpool.h:
627 omxbufferpool: Fix header include guard
629 2014-03-05 11:41:02 +0100 Christian König <christian.koenig@amd.com>
632 * omx/gstomxbufferpool.c:
633 * omx/gstomxbufferpool.h:
634 * omx/gstomxvideodec.c:
635 omxvideodec: separate the buffer pool from the decoder
636 https://bugzilla.gnome.org/show_bug.cgi?id=726025
638 2014-03-04 17:41:20 +0100 Christian König <christian.koenig@amd.com>
642 * omx/gstomxvideodec.c:
643 omx: simplify tunnel functions
644 Specifying the component is error prone and unnecessary.
645 https://bugzilla.gnome.org/show_bug.cgi?id=726021
647 2014-03-07 17:12:24 +0100 Christian König <christian.koenig@amd.com>
649 * omx/gstomxvideodec.c:
650 omxvideodec: fix memory leak in gst_omx_video_dec_allocate_output_buffers
651 https://bugzilla.gnome.org/show_bug.cgi?id=725907
653 2014-03-07 13:18:49 +0100 Christian König <christian.koenig@amd.com>
655 * omx/gstomxvideodec.c:
656 omxvideodec: fix memory leak gst_omx_video_dec_negotiate
657 https://bugzilla.gnome.org/show_bug.cgi?id=725907
659 2014-03-05 18:54:05 +0100 Christian König <christian.koenig@amd.com>
661 * omx/gstomxvideoenc.c:
662 omxvideoenc: fix a memory leak in gst_omx_video_enc_getcaps
663 https://bugzilla.gnome.org/show_bug.cgi?id=725826
665 2014-03-05 17:43:33 +0100 Josep Torra <n770galaxy@gmail.com>
668 Makefile.am: build examples
669 There's no reason to not build the examples now that are ported to 1.x.
671 2014-03-05 17:25:09 +0100 Josep Torra <n770galaxy@gmail.com>
673 * examples/egl/testegl.c:
674 examples: avoid a clashing name with the recently added GstEGLImagePool
675 Fixes build with current master.
677 2013-09-05 03:41:10 -0600 Christian König <christian.koenig@amd.com>
679 * omx/gstomxvideoenc.c:
680 omxvideoenc: simplify _find_nearest_frame
681 Just the same as we did with the decoder. Also give the
682 function a gst_omx_video_enc prefix to distinct it from
683 the decoder function.
684 https://bugzilla.gnome.org/show_bug.cgi?id=724236
686 2013-09-05 02:23:39 -0600 Christian König <christian.koenig@amd.com>
688 * omx/gstomxvideodec.c:
689 omxvideodec: simplify _find_nearest_frame
690 No need to make it more complicated and error prone than
691 necessary. Also give the function a gst_omx_video_dec prefix
692 to distinct it from the encoder function.
693 https://bugzilla.gnome.org/show_bug.cgi?id=724236
695 2013-09-05 02:05:52 -0600 Christian König <christian.koenig@amd.com>
697 * omx/gstomxvideodec.c:
698 omxvideodec: remove dead code
699 This code doesn't seems to be used for quite a while,
700 remove it before it starts to rot.
701 https://bugzilla.gnome.org/show_bug.cgi?id=724236
703 2014-03-01 22:28:24 +0100 Christian König <christian.koenig@amd.com>
706 omx: fix two serious message handling bugs
707 Waiting for the next message if we already got one
708 is nonsense and can lead to lockups.
709 https://bugzilla.gnome.org/show_bug.cgi?id=725468
711 2014-03-01 18:49:41 +0100 Christian König <christian.koenig@amd.com>
713 * omx/gstomxvideoenc.c:
714 omxvideoenc: fix startup race condition
715 The reset function shouldn't start the src pad
716 loop if it wasn't started before.
717 Signed-off-by: Christian König <christian.koenig@amd.com>
719 2014-03-01 18:48:17 +0100 Christian König <christian.koenig@amd.com>
721 * omx/gstomxvideodec.c:
722 omxvideodec: fix startup race condition
723 The reset function shouldn't start the src pad
724 loop if it wasn't started before.
725 Signed-off-by: Christian König <christian.koenig@amd.com>
727 2014-02-28 09:36:13 +0100 Sebastian Dröge <sebastian@centricular.com>
730 Automatic update of common submodule
731 From fe1672e to bcb1518
733 2014-02-26 22:15:00 +0100 Stefan Sauer <ensonic@users.sf.net>
736 Automatic update of common submodule
737 From 1a07da9 to fe1672e
739 2014-01-30 10:45:18 +0100 Edward Hervey <bilboed@bilboed.com>
742 Automatic update of common submodule
743 From d48bed3 to 1a07da9
745 2014-01-25 17:44:14 +0100 Sebastian Dröge <sebastian@centricular.com>
747 * omx/gstomxaudioenc.c:
748 * omx/gstomxvideodec.c:
749 * omx/gstomxvideoenc.c:
750 omx: Don't handle FLUSHING and NOT_LINKED as errors
751 Also don't stop the task on NOT_LINKED. We're not a demuxer.
753 2013-12-22 22:35:31 +0000 Tim-Philipp Müller <tim@centricular.com>
756 Automatic update of common submodule
757 From dbedaa0 to d48bed3
759 2013-11-05 11:22:02 +0000 Tim-Philipp Müller <tim@centricular.com>
762 Automatic update of common submodule
763 From 865aa20 to dbedaa0
765 2013-09-28 13:32:37 +0200 Josep Torra <n770galaxy@gmail.com>
767 * examples/egl/testegl.c:
768 examples: simplify the thread synchronization code
769 Make everithing more simple and fix the races conditions remaining in
770 the previous approaches.
772 2013-09-25 19:17:17 +0200 Sebastian Dröge <slomo@circular-chaos.org>
774 * config/rpi/gstomx.conf:
775 rpi: The WMV/VC1 decoder can only do WMV9 and VC1, no older versions
777 2013-09-24 18:34:42 +0100 Tim-Philipp Müller <tim@centricular.net>
780 Automatic update of common submodule
781 From 6b03ba7 to 865aa20
783 2013-09-24 18:48:24 +0200 Josep Torra <n770galaxy@gmail.com>
785 * examples/egl/testegl.c:
786 examples: fix another race condition
787 Fix a race condition that caused randome deadlocks on EOS.
789 2013-09-20 17:19:53 +0200 Josep Torra <n770galaxy@gmail.com>
791 * config/rpi/gstomx.conf:
792 rpi: fix a copy paste error in the config file
794 2013-09-20 17:09:52 +0200 Josep Torra <n770galaxy@gmail.com>
796 * examples/egl/testegl.c:
797 examples: fix a race condition when seeking
798 Fixes a race condition that caused pipeline deadlock during seeks.
800 2013-09-20 10:38:12 +0200 Josep Torra <n770galaxy@gmail.com>
802 * examples/egl/testegl.c:
803 examples: display QoS statistics
805 2013-09-20 09:34:37 +0200 Josep Torra <n770galaxy@gmail.com>
807 * examples/egl/testegl.c:
808 examples: use dedicated thread for rendering the scene
809 Produces smother animation and prevents dropping frames due busy
812 2013-09-20 08:25:21 +0200 Josep Torra <n770galaxy@gmail.com>
814 * examples/egl/testegl.c:
815 examples: don't force an specific audio sink
816 Let playbin2 choose the audiosink available in the system.
818 2013-09-20 08:19:48 +0200 Josep Torra <n770galaxy@gmail.com>
820 * examples/egl/Makefile.am:
821 examples: drop remnants of initial appsink attempt
823 2013-09-20 16:18:18 +0200 Edward Hervey <edward@collabora.com>
826 Automatic update of common submodule
827 From b613661 to 6b03ba7
829 2013-09-19 18:45:36 +0100 Tim-Philipp Müller <tim@centricular.net>
832 Automatic update of common submodule
833 From 74a6857 to b613661
835 2013-09-19 17:38:30 +0100 Tim-Philipp Müller <tim@centricular.net>
838 Automatic update of common submodule
839 From 01a7a46 to 74a6857
841 2013-08-20 16:00:07 +0100 Tim-Philipp Müller <tim@centricular.net>
844 * omx/gstomxvideodec.c:
845 omx: don't use the 'z' modifier to print size_t
846 gcc will warn in some cases even if the size of the type
847 is exactly that of size_t on the platform.
848 https://bugzilla.gnome.org/show_bug.cgi?id=699008
850 2013-07-01 15:48:47 +0200 Roman Arutyunyan <arutyunyan.roman@gmail.com>
852 * omx/gstomxvideoenc.c:
853 gstomxvideoenc: Set bitrate in setcaps
854 Otherwise it gets lost whenever we configure new caps
855 https://bugzilla.gnome.org/show_bug.cgi?id=698049
857 2013-06-30 18:17:05 +0700 Ilya Smelykh <ilya@videoexpertsgroup.com>
859 * examples/egl/testegl.c:
860 examples: enable audio in testegl example
862 2013-06-12 09:38:22 +0200 Sebastian Dröge <slomo@circular-chaos.org>
865 configure: Allow build without gstreamer-egl
867 2013-06-07 12:39:18 +0700 Ilya Smelykh <ilya@videoexpertsgroup.com>
869 * examples/egl/Makefile.am:
870 * examples/egl/testegl.c:
871 examples: testegl example port to 1.x
872 https://bugzilla.gnome.org/show_bug.cgi?id=701706
874 2013-06-05 15:17:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
877 Automatic update of common submodule
878 From 098c0d7 to 01a7a46
880 2013-05-20 12:06:34 +0200 Josep Torra <n770galaxy@gmail.com>
882 * omx/gstomxaudioenc.c:
883 * omx/gstomxvideodec.c:
884 * omx/gstomxvideoenc.c:
885 omx: Take lock on EOS to update the flow return value
886 Fixes "GThread-ERROR **: file gthread-posix.c: line 171
887 (g_mutex_free_posix_impl): error 'Device or resource busy' during
888 'pthread_mutex_destroy ((pthread_mutex_t *) mutex)'" in _finalize.
890 2013-05-15 10:54:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
893 Automatic update of common submodule
894 From 5edcd85 to 098c0d7
896 2013-04-11 17:35:19 +0200 Josep Torra <n770galaxy@gmail.com>
900 * examples/Makefile.am:
901 * examples/egl/Makefile.am:
902 * examples/egl/cube_texture_and_coords.h:
903 * examples/egl/testegl.c:
904 examples: add an example aplication based OpenGL ES + EGL
905 Application that shows how to integrate playbin with an OpenGL ES
906 scene through EGL. Renders a video on the surfaces of an animated cube.
907 The code is not ported to 1.x so it's not built by default.
909 2013-05-10 12:25:07 +0200 Josep Torra <n770galaxy@gmail.com>
911 * omx/gstomxvideodec.c:
912 omxvideodec: Redesign video size change reconfiguration code
913 Ensure stop the decoder before clossing the tunnel.
915 2013-05-06 16:25:27 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
918 Makefile.am: Add -I common/m4
919 This allows autoreconf to work correctly and automatic regeneration
920 of autotools files if something changed.
922 2013-05-06 19:03:59 +0530 jitendra <jvarshney20@gmail.com>
926 * omx/gstomxaudioenc.c:
927 * omx/gstomxvideodec.c:
928 * omx/gstomxvideoenc.c:
929 omx: Add pads based on element type
930 This allows to later add sources and sink that only have a srcpad
932 https://bugzilla.gnome.org/show_bug.cgi?id=699754
934 2013-04-27 02:50:25 +0200 Carlos Rafael Giani <dv@pseudoterminal.org>
937 omx: fixed type error in printf call
939 https://bugzilla.gnome.org/show_bug.cgi?id=699008
941 2013-04-08 17:26:16 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
945 * omx/gstomxvideodec.c:
946 Check for gstreamer-egl
947 And don't use if not available.
948 https://bugzilla.gnome.org/show_bug.cgi?id=697574
950 2013-04-23 09:53:18 +0100 Tim-Philipp Müller <tim@centricular.net>
953 configure: error out if no OMX target has been set explicitly with --with-omx-target=x
954 Avoids people building for e.g. the Raspberry Pi and then wondering
955 why things don't work as expected (since structs are packed differently
958 2013-04-22 23:55:03 +0100 Tim-Philipp Müller <tim@centricular.net>
961 Automatic update of common submodule
962 From 3cb3d3c to 5edcd85
964 2013-04-18 22:07:28 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
967 * omx/gstomxaudioenc.c:
968 * omx/gstomxh263enc.c:
969 * omx/gstomxh264enc.c:
970 * omx/gstomxmpeg4videoenc.c:
971 * omx/gstomxvideodec.c:
972 * omx/gstomxvideoenc.c:
973 omx: more printf format fixes
974 Fix printf formats again, so that gst-omx compiles warning-
975 free on the Raspberry Pi as well. Unfortunately OMX_UINT32
976 maybe be typedefed to uint32_t or unsigned long, which
977 doesn't work well with our debugging printf format strings,
978 so just use %u for those and cast to guint.
980 2013-04-18 16:40:06 +0200 Josep Torra <n770galaxy@gmail.com>
983 omx: fixes unused variable 'comp' when GStreamer is built without debug
985 2013-04-18 16:03:56 +0200 Josep Torra <n770galaxy@gmail.com>
987 * omx/gstomxvideodec.c:
988 omxvideodec: don't use 'self->dec_out_port' anymore and use just 'port'
989 Fixes some criticals.
991 2013-04-18 15:21:32 +0200 Josep Torra <n770galaxy@gmail.com>
993 * omx/gstomxvideodec.c:
994 omxvideodec: fixes 'port' may be used uninitialized in this function
996 2013-04-18 12:03:31 +0200 Josep Torra <n770galaxy@gmail.com>
998 * omx/gstomxvideodec.c:
999 omxvideodec: silence warnings building for RPI related to 'vcos_*'
1001 2013-04-18 11:19:52 +0200 Josep Torra <n770galaxy@gmail.com>
1003 * omx/gstomxvideodec.c:
1004 omxvideodec: Use new type from libgstvideo
1006 2013-04-16 14:50:49 +0530 jitendra <jvarshney20@gmail.com>
1008 * omx/gstomxaudioenc.c:
1009 * omx/gstomxvideodec.c:
1010 * omx/gstomxvideoenc.c:
1011 omx: Disable output port before transition to idle state
1012 https://bugzilla.gnome.org/show_bug.cgi?id=698109
1014 2012-10-24 12:19:41 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1017 gst: Add better support for static plugins
1019 2013-04-14 17:57:34 +0100 Tim-Philipp Müller <tim@centricular.net>
1022 Automatic update of common submodule
1023 From aed87ae to 3cb3d3c
1025 2013-04-12 17:58:30 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
1028 configure: add --disable-fatal-warnings for disabling -Werror
1030 2013-04-09 21:02:09 +0200 Stefan Sauer <ensonic@users.sf.net>
1033 Automatic update of common submodule
1034 From 04c7a1e to aed87ae
1036 2013-04-08 17:02:32 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
1039 * omx/gstomxaudioenc.c:
1040 * omx/gstomxh263enc.c:
1041 * omx/gstomxh264enc.c:
1042 * omx/gstomxmpeg4videoenc.c:
1043 * omx/gstomxvideodec.c:
1044 * omx/gstomxvideoenc.c:
1045 omx: fix printf formats in debug messages
1046 OMX_U32 is typedefed to an unsigned long,
1047 OMX_TICKS to a 64-bit integer.
1049 2013-04-08 16:52:19 +0200 Josep Torra <n770galaxy@gmail.com>
1051 * omx/gstomxvideodec.c:
1052 omxvideodec: use the correct printf format in a debug message
1054 2013-04-08 16:31:33 +0200 Josep Torra <n770galaxy@gmail.com>
1056 * omx/gstomxvideodec.c:
1057 omxvideodec: use the correct OMX_IndexParam value
1058 Fixes playback is not smooth in the EGL path.
1060 2013-04-05 13:45:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1062 * omx/gstomxvideodec.c:
1063 omxvideodec: Don't use API that is not in master yet
1064 It's not really needed here yet, will be needed in future versions
1066 2013-02-25 11:55:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1072 * omx/gstomxvideodec.c:
1073 * omx/gstomxvideodec.h:
1074 omxvideodec: Add support for egl_render on RPi
1076 2013-03-22 19:26:54 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
1081 2013-03-22 19:23:14 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
1083 * omx/gstomxh263enc.c:
1084 * omx/gstomxh264enc.c:
1085 * omx/gstomxmpeg4videoenc.c:
1086 omx: fix compiler warnings when compiling with -DG_DISABLE_ASSERT
1087 As we do for releases. Fixes 'variable may be used uninitialized'
1090 === release 1.0.0 ===
1092 2013-03-22 17:16:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1103 2013-03-19 16:40:09 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
1105 * omx/gstomxtheoradec.h:
1106 * omx/gstomxvp8dec.h:
1107 omx: fix typo in copyright headers
1109 2013-03-19 13:46:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1111 * config/rpi/gstomx.conf:
1112 rpi: Fix commit that added the VC1 decoder
1114 2013-03-19 13:27:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1116 * config/rpi/gstomx.conf:
1117 * omx/gstomxh263dec.c:
1118 * omx/gstomxh264dec.c:
1119 * omx/gstomxmjpegdec.c:
1120 * omx/gstomxmpeg2videodec.c:
1121 * omx/gstomxmpeg4videodec.c:
1122 * omx/gstomxtheoradec.c:
1123 * omx/gstomxvideodec.c:
1124 * omx/gstomxvp8dec.c:
1125 * omx/gstomxwmvdec.c:
1126 omx: Add more constraints to the default sink template caps
1128 2013-03-19 13:10:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1130 * config/rpi/gstomx.conf:
1131 rpi: Add VC1/WMV3 decoder
1132 WMV2 and WMV1 (aka WMV 1-8) are not supported by RPi.
1134 2013-03-19 12:59:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1136 * config/rpi/gstomx.conf:
1137 rpi: Add MJPEG decoder
1139 2013-03-19 12:56:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1141 * config/rpi/gstomx.conf:
1142 rpi: Add VP8 decoder
1144 2013-03-19 12:55:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1146 * omx/gstomxvideodec.c:
1147 omxvideodec: Set ENDOFFRAME flag for the end of frames
1149 2013-03-19 12:28:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1151 * config/rpi/gstomx.conf:
1152 rpi: Add Theora decoder to the config
1154 2013-03-19 09:36:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1159 * omx/gstomxtheoradec.c:
1160 * omx/gstomxtheoradec.h:
1161 omx: Add Theora decoder
1163 2013-03-18 16:43:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1166 omx: Remove additional comma
1168 2013-03-18 16:34:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1170 * config/rpi/gstomx.conf:
1173 * omx/gstomxmpeg2dec.c:
1174 * omx/gstomxmpeg2dec.h:
1175 * omx/gstomxmpeg2videodec.c:
1176 * omx/gstomxmpeg2videodec.h:
1177 omx: Rename MPEG2 decoder for consistency everywhere
1179 2013-03-18 16:30:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1183 * omx/gstomxmjpegdec.c:
1184 * omx/gstomxmjpegdec.h:
1185 omx: Add MJPEG decoder support
1187 2013-03-18 16:06:54 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1192 * omx/gstomxvp8dec.c:
1193 * omx/gstomxvp8dec.h:
1194 omx: Add VP8 decoder support
1196 2013-03-18 15:44:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1198 * config/rpi/gstomx.conf:
1199 rpi: Add h263 decoder and rename MPEG2 decoder for consistency
1201 2013-03-16 13:20:27 +0000 Tim-Philipp Müller <tim@centricular.net>
1203 * omx/gstomxmpeg2dec.c:
1204 omxmpeg2dec: mpeg-2 decoder should be able to handle mpeg-1 too
1205 https://bugzilla.gnome.org/show_bug.cgi?id=695879
1207 2013-03-16 10:13:06 +0100 Josep Torra <n770galaxy@gmail.com>
1210 omx: minor stylistic change for consistency with other similar code
1212 2013-03-16 10:00:24 +0100 Josep Torra <n770galaxy@gmail.com>
1214 * omx/gstomxaudioenc.c:
1215 * omx/gstomxvideodec.c:
1216 * omx/gstomxvideoenc.c:
1217 omx: Clarify that loop task is also paused in EOS
1219 2013-03-16 09:59:01 +0100 Josep Torra <n770galaxy@gmail.com>
1221 * omx/gstomxvideoenc.c:
1222 omxvideoenec: Don't forget propagate flow return value upstream
1224 2013-03-15 13:16:39 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
1227 omx: improve debug logging some more
1229 2013-03-15 14:09:45 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1231 * omx/gstomxvideodec.c:
1232 omxvideodec: Make sure that the first frame we pass to OpenMAX is a sync frame
1234 2013-03-15 11:46:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1236 * omx/gstomxaudioenc.c:
1237 * omx/gstomxvideodec.c:
1238 * omx/gstomxvideoenc.c:
1239 omx: Stop output port task after draining
1241 2013-03-15 10:58:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1244 omx: Reset EOS flag in more places
1246 2013-03-15 10:38:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1248 * omx/gstomxvideodec.c:
1249 omxvideodec: Deallocate output buffers with the right function
1251 2013-03-15 01:06:05 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
1255 omx: log commands as strings
1256 Makes logs easier to read.
1258 2013-03-15 00:47:47 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
1262 omx: log states as strings
1264 2013-03-15 00:28:02 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
1268 omx: log component name in debug messages
1269 Useful when we have more different components
1270 active at the same time.
1272 2013-03-15 09:51:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1274 * omx/gstomxvideodec.c:
1275 omxvideodec: Don't interpolate timestamps
1276 We will get exactly one frame per input buffer and assigning
1277 timestamps between frames if more than one OMX buffer is required
1278 per frame easily confuses timestamp tracking in OMX.
1280 2013-03-15 09:32:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1282 * omx/gstomxvideodec.c:
1283 omxvideodec: Give the codec_data the timestamp of the first frame and no duration
1285 2013-03-14 17:31:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1287 * config/rpi/gstomx.conf:
1288 omx: The MPEG4 encoder is not available on RPi and probably never will
1290 2013-03-14 17:26:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1293 omx: Reset some more buffer fields as required
1295 2013-03-14 17:01:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1297 * config/rpi/gstomx.conf:
1299 omx: The hack to disable usage of EOS buffers is not necessary anymore on RPi
1301 2013-03-14 17:00:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1304 omx: Reset the flags for output ports when releasing a buffer, not for input ports
1306 2013-03-14 15:03:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1308 * omx/gstomxh263enc.c:
1309 * omx/gstomxh264enc.c:
1310 * omx/gstomxmpeg4videoenc.c:
1311 omx: Only unref caps after usage of its fields
1313 2013-03-14 14:51:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1315 * omx/gstomxvideodec.c:
1316 omxvideodec: Simplify bufferpool implementation
1318 2013-03-13 13:23:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1320 * omx/gstomxvideodec.c:
1321 omxvideodec: Improve min/max buffer counts handling
1323 2013-03-14 12:49:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1327 * omx/gstomxaudioenc.c:
1328 * omx/gstomxvideodec.c:
1329 * omx/gstomxvideoenc.c:
1330 omx: Handle the OMX_EventBufferFlag to detect EOS too
1332 2013-03-13 10:29:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1336 omx: Mark OpenMAX buffers as EGLImage if they contain one
1337 Needs special handling in some places, e.g. because nFilledLen
1340 2013-03-13 10:21:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1342 * omx/gstomxvideoenc.c:
1343 omxvideoenc: Properly check the nVersion field
1345 2013-03-13 09:34:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1347 * omx/gstomxvideoenc.c:
1348 omxvideoenc: RPi returns garbage for OMX_IndexParamVideoBitrate, work around that
1350 2013-03-12 20:02:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1352 * omx/gstomxvideodec.c:
1353 omxvideodec: Make sure to always get the right buffer
1355 2013-03-12 19:35:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1357 * omx/gstomxvideodec.c:
1358 omxvideodec: Make sure the buffer is released to the pool if it's not the one we wanted
1360 2013-03-12 19:17:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1362 * omx/gstomxvideodec.c:
1363 omxvideodec: Drop too late frames instead of finishing them
1365 2013-03-12 19:16:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1367 * omx/gstomxvideodec.c:
1368 omx: Release buffers to the correct port
1370 2013-03-13 09:37:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1373 omx: Always load the OpenMAX IL cores with G_MODULE_BIND_LOCAL
1375 2013-03-12 18:20:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1378 omx: Lazy-load symbols of libbcm_host.so
1379 It exports eglIntOpenMAXILDoneMarker(), which is also
1380 exported by libopenmaxil.so... but we need the version
1381 from libopenmaxil.so as the other one is just a stub.
1383 2013-03-11 13:59:15 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1385 * omx/gstomxaacenc.c:
1386 * omx/gstomxh263enc.c:
1387 * omx/gstomxmpeg4videoenc.c:
1388 omx: Don't set profile/level in other encoders if downstream caps don't specify any
1390 2013-03-11 13:49:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1392 * omx/gstomxh264enc.c:
1393 omxh264enc: If caps specify no profile/level use the component's defaults
1395 2013-03-11 13:45:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1397 * omx/gstomxvideoenc.c:
1398 omxvideoenc: Always allocate output buffers from the loop function
1400 2013-03-11 13:12:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1402 * omx/gstomxh264enc.c:
1403 omxh264enc: The h264 encoders are supposed to output byte-stream/au
1405 2013-03-11 11:47:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1407 * omx/gstomxvideoenc.c:
1408 omxvideoenc: Wait until the Executing state is reached before passing buffers to the component
1410 2013-03-11 10:39:25 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1412 * omx/gstomxvideodec.c:
1413 omxvideodec: Don't provide buffers to downstream
1414 This only works reliable if we have a way to tell downstream to
1415 release all our buffers for reconfiguration.
1417 2013-03-11 10:29:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1419 * omx/gstomxaudioenc.c:
1420 omxaudioenc: Disable output port when setting a new format
1422 2013-03-11 10:29:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1424 * omx/gstomxvideoenc.c:
1425 omxvideoenc: Disable output port when setting a new format
1427 2013-03-11 10:22:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1429 * omx/gstomxvideodec.c:
1430 omxvideodec: Disable output port when setting a new format
1431 Based on a patch by Josep Torra <n770galaxy@gmail.com>
1433 2013-03-11 10:04:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1435 * omx/gstomxaudioenc.c:
1436 * omx/gstomxvideodec.c:
1437 * omx/gstomxvideoenc.c:
1438 omx: Catch errors when releasing buffers to a port and handle them
1440 2013-03-10 12:09:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1442 * omx/gstomxvideoenc.c:
1443 omxvideoenc: Use the correct video codec state when filling an input buffer
1445 2013-03-10 12:05:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1447 * omx/gstomxvideoenc.c:
1448 omxvideoenc: Store correct input state
1450 2013-03-10 11:27:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1452 * omx/gstomxvideoenc.c:
1453 omxvideoenc: Allocate output buffers as early as possible
1455 2013-03-10 11:01:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1458 omx: Log unknown events
1460 2013-03-09 14:14:40 +0100 Josep Torra <n770galaxy@gmail.com>
1462 * omx/gstomxaudioenc.c:
1463 * omx/gstomxvideodec.c:
1464 * omx/gstomxvideoenc.c:
1465 omx: Fix deadlock in encoders and add explainatory comments.
1467 2013-03-09 13:27:08 +0100 Josep Torra <n770galaxy@gmail.com>
1469 * omx/gstomxvideodec.c:
1470 omxvideodec: fix printf format identifier
1472 2013-03-09 13:07:59 +0100 Josep Torra <n770galaxy@gmail.com>
1474 * omx/gstomxvideodec.c:
1475 omx: Minor changes on debuging info
1477 2013-03-09 13:00:33 +0100 Josep Torra <n770galaxy@gmail.com>
1479 * omx/gstomxvideodec.c:
1480 omxvideodec: avoid a deadlock
1482 2013-03-08 15:56:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1484 * omx/gstomxvideodec.c:
1485 omxvideodec: Don't forget to populate output port
1487 2013-03-08 15:11:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1489 * omx/gstomxaudioenc.c:
1490 * omx/gstomxvideodec.c:
1491 * omx/gstomxvideoenc.c:
1492 omx: Flush and stop srcpad when configuring new caps
1494 2013-03-07 17:40:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1496 * config/rpi/gstomx.conf:
1498 Revert "omx: use no-component-reconfigure hack on the Raspberry PI"
1499 This reverts commit e123b2089f69a413241f30a2428ea6edd8f231e7.
1500 It's not required anymore after the fix from the last commit.
1502 2013-03-07 17:38:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1504 * omx/gstomxvideodec.c:
1505 omxvideodec: Only negotiate a color format with downstream on the initial caps
1507 2013-03-07 17:29:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1509 * omx/gstomxvideodec.c:
1510 omxvideodec: Make sure the output port is disabled while we allocate buffers
1512 2013-03-07 17:27:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1515 omx: Also wait for disabled output ports to be reconfigured
1517 2013-03-07 14:10:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1519 * omx/gstomxvideodec.c:
1520 * omx/gstomxvideodec.h:
1521 omxvideodec: Add buffer pool for sharing OpenMAX memory with downstream
1523 2013-03-07 11:11:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1527 * omx/gstomxaudioenc.c:
1528 * omx/gstomxvideodec.c:
1529 * omx/gstomxvideoenc.c:
1530 omx: Add timeout to the flush operation and move buffer populating to a separate function
1532 2013-03-06 17:33:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1534 * config/rpi/gstomx.conf:
1537 omx: Remove min buffer count hack for RPi again
1538 It's not necessary anymore
1540 2013-03-06 17:05:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1544 * omx/gstomxaudioenc.c:
1545 * omx/gstomxvideodec.c:
1546 * omx/gstomxvideoenc.c:
1547 omx: Do number of buffers configuration explicitely
1549 2013-03-07 11:24:54 +0100 Josep Torra <n770galaxy@gmail.com>
1551 * omx/gstomxvideodec.c:
1552 omxvideodec: fixes reconfiguration
1553 Avoid having fixed fields from previous caps on reconfiguration.
1555 2013-03-07 11:02:39 +0100 Josep Torra <n770galaxy@gmail.com>
1557 * config/rpi/gstomx.conf:
1559 omx: use no-component-reconfigure hack on the Raspberry PI
1561 2013-03-07 00:03:28 +0000 Tim-Philipp Müller <tim@centricular.net>
1564 Automatic update of common submodule
1565 From 2de221c to 04c7a1e
1567 2013-03-01 15:32:47 +0100 Josep Torra <n770galaxy@gmail.com>
1569 * omx/gstomxvideoenc.h:
1570 omxvideoenc: drop unused data member
1572 2013-03-01 12:23:54 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1574 * omx/gstomxh263enc.c:
1575 * omx/gstomxh264enc.c:
1576 * omx/gstomxmpeg4videoenc.c:
1577 omxvideoenc: And set it actually on the right port
1579 2013-03-01 12:18:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1581 * omx/gstomxh263enc.c:
1582 * omx/gstomxh264enc.c:
1583 * omx/gstomxmpeg4videoenc.c:
1584 omxvideoenc: Set the coding type in the subclasses to the specific codec
1586 2013-03-01 11:49:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1588 * omx/gstomxvideoenc.c:
1589 omxvideoenc: gst_omx_port_update_port_definition() returns a OMX_ERRORTYPE, not a gboolean
1591 2013-03-01 11:44:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1593 * omx/gstomxvideodec.c:
1594 * omx/gstomxvideoenc.c:
1595 omxvideo{dec,enc}: Don't use the input state if it wasn't set yet
1597 2013-03-01 11:25:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1599 * omx/gstomxaudioenc.c:
1600 omxaudioenc: Only enable the output port after we know the output format
1602 2013-03-01 11:24:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1604 * omx/gstomxvideoenc.c:
1605 omxvideoenc: Only enable the output port after we know the output format
1607 2013-02-28 17:02:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1609 * omx/gstomxvideodec.c:
1610 omxvideodec: Only enable the output port after we know the output format
1612 2013-03-01 11:18:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1616 omx: Handle errors more gracefully
1618 2013-02-28 15:48:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1622 * omx/gstomxaudioenc.c:
1623 * omx/gstomxh263dec.c:
1624 * omx/gstomxh264dec.c:
1625 * omx/gstomxmpeg2dec.c:
1626 * omx/gstomxmpeg4videodec.c:
1627 * omx/gstomxvideodec.c:
1628 * omx/gstomxwmvdec.c:
1629 omx: Return the OMX_ERRORTYPE from gst_omx_port_update_port_definition
1631 2013-02-28 15:37:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1634 omx: Return port definition update errors
1636 2013-02-28 13:57:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1638 * config/rpi/gstomx.conf:
1641 omx: Add hack for RPi for the minimum number of buffers required for a port
1642 The value in the port definition is invalid and the initial actual
1643 buffer count should be used.
1645 2013-02-28 13:26:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1648 omx: Always tell the component about the right number of buffers that we're going to allocate
1650 2013-02-28 13:07:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1653 omx: Invert assertion to let it express what was intended
1655 2013-02-28 11:19:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1659 * omx/gstomxaudioenc.c:
1660 * omx/gstomxvideodec.c:
1661 * omx/gstomxvideoenc.c:
1662 omx: Add API for allocating a specific number of buffers and using EGLImages or buffers allocated elsewhere
1664 2013-02-27 16:55:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1666 * omx/gstomxaudioenc.c:
1667 * omx/gstomxvideodec.c:
1668 * omx/gstomxvideoenc.c:
1669 omx: Refactor code flow a bit if output port settings have changed
1671 2013-02-27 15:49:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1675 * omx/gstomxaudioenc.c:
1676 * omx/gstomxvideodec.c:
1677 * omx/gstomxvideoenc.c:
1678 omx: Clean up port settings change handling
1680 2013-02-27 11:30:14 +0100 Josep Torra <n770galaxy@gmail.com>
1682 * omx/gstomxvideodec.c:
1683 omxvideodec: initialize param structure before using it
1685 2013-02-27 10:21:39 +0100 Josep Torra <n770galaxy@gmail.com>
1687 * omx/gstomxvideoenc.c:
1688 omxvideoenc: prevent a NULL pointer access
1690 2013-02-26 17:25:49 +0100 Josep Torra <n770galaxy@gmail.com>
1692 * omx/gstomxvideodec.c:
1693 omxvideodec: prevent a NULL pointer access
1695 2013-02-25 13:11:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1698 omx: Fix deadlock during reconfiguration
1700 2013-02-25 12:38:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1703 * omx/gstomxaudioenc.c:
1704 * omx/gstomxvideodec.c:
1705 * omx/gstomxvideoenc.c:
1706 omx: Auto-detect the port indizes if possible
1708 2013-02-25 11:42:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1710 * omx/gstomxvideodec.c:
1711 * omx/gstomxvideoenc.c:
1712 omx: Refactor querying of component supported caps into its own function
1714 2013-02-25 10:41:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1718 * omx/gstomxaudioenc.c:
1719 * omx/gstomxvideodec.c:
1720 * omx/gstomxvideoenc.c:
1721 omx: Refactor waiting for buffers to be released by the component to a separate function
1723 2013-01-11 17:44:13 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1727 omx: Add methods to set up and close a tunnel between components
1729 2013-02-25 09:15:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1731 * omx/gstomxaacenc.c:
1732 * omx/gstomxaudioenc.c:
1733 * omx/gstomxaudioenc.h:
1734 omxaudioenc: Rename component variable
1736 2013-02-25 09:15:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1738 * omx/gstomxh263enc.c:
1739 * omx/gstomxh264enc.c:
1740 * omx/gstomxmpeg4videoenc.c:
1741 * omx/gstomxvideoenc.c:
1742 * omx/gstomxvideoenc.h:
1743 omxvideoenc: Rename component variable
1745 2013-02-25 09:12:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1747 * omx/gstomxvideodec.c:
1748 * omx/gstomxvideodec.h:
1749 omxvideodec: Rename component variable
1751 2013-02-22 16:27:33 +0100 Josep Torra <n770galaxy@gmail.com>
1753 * omx/gstomxvideoenc.c:
1754 omxvideoenc: remove duplicated line
1756 2013-02-22 10:42:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1759 Retry loading libbcm_host.so without an absolute path if that failed
1761 2013-02-21 20:32:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1763 * config/bellagio/Makefile.am:
1764 Add missing file from last commit
1766 2013-02-21 11:01:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1768 * config/Makefile.am:
1769 * config/bellagio/gstomx.conf:
1773 Add OpenMAX IL target for Bellagio
1774 Not tested since a very long time though.
1776 2013-02-21 10:59:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1780 Allow using external OpenMAX IL headers
1782 2013-02-21 10:14:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1787 2013-02-21 10:13:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1789 * config/Makefile.am:
1790 * config/raspberry-pi.conf:
1791 * config/rpi/Makefile.am:
1792 * config/rpi/gstomx.conf:
1794 Install the RPI config when the RPI target is selected
1796 2013-02-21 10:08:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1799 Set default hacks for the RPI target and always initialize bcm_host
1801 2013-02-21 10:05:37 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1804 Add configure parameter for setting the OpenMAX IL target
1806 2013-02-12 11:55:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1809 omx: Add FIXME for the future
1811 2013-02-12 11:49:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1815 * omx/gstomxaudioenc.c:
1816 * omx/gstomxaudioenc.h:
1817 * omx/gstomxvideodec.c:
1818 * omx/gstomxvideodec.h:
1819 * omx/gstomxvideoenc.c:
1820 * omx/gstomxvideoenc.h:
1821 omx: Some minor refactoring and cleanup
1823 2013-02-12 11:45:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1826 omx: Don't access the port's buffers array if it wasn't allocated yet
1828 2013-02-12 11:44:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1831 omx: Mark an array as const
1833 2013-02-12 11:41:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1837 * omx/gstomxaudioenc.c:
1838 * omx/gstomxvideodec.c:
1839 * omx/gstomxvideoenc.c:
1840 omx: Split enabling/disabling of port into sending the command and waiting for it
1841 This allows to do anything necessary after sending the command to actually let it finish
1843 2013-02-12 11:37:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1846 omx: Flushing is also allowed in Paused state
1848 2013-02-12 11:28:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1850 * omx/gstomxvideoenc.c:
1851 omxvideoenc: Set stride, slice height and buffer size
1853 2013-02-12 11:09:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1855 * config/raspberry-pi.conf:
1856 config: Add h264 and mpeg2 encoders to the raspberry pi config
1857 Not completely working yet though.
1859 2013-02-12 11:03:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1861 * omx/gstomxvideoenc.c:
1862 omxvideoenc: Properly negotiate OMX color format with the component
1864 2013-02-12 10:53:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1866 * omx/gstomxvideoenc.c:
1867 omxvideoenc: Implement getcaps() vfunc
1869 2013-01-29 21:32:53 +0000 Tim-Philipp Müller <tim@centricular.net>
1872 configure: use 1.0 gstconfig.h to detect disabled subsystems
1873 Update unused configure check for GStreamer core subsystem
1874 features from 0.10 to 1.0.
1876 2013-01-28 20:44:41 +0100 Stefan Sauer <ensonic@users.sf.net>
1879 Automatic update of common submodule
1880 From a942293 to 2de221c
1882 2013-01-24 14:02:36 +0100 Julian Scheel <julian@jusst.de>
1884 * config/raspberry-pi.conf:
1887 * omx/gstomxmpeg2dec.c:
1888 * omx/gstomxmpeg2dec.h:
1889 omx: add mpeg2 video decoder
1890 This adds a decoder class for mpeg2, as well as an extended
1891 configuration for raspberry pi.
1892 https://bugzilla.gnome.org/show_bug.cgi?id=692446
1893 Signed-off-by: Julian Scheel <julian@jusst.de>
1895 2013-01-18 16:47:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1898 omx: Minimize the time when the messages lock is held
1899 Fixes a deadlock if any OMX functions are called when the
1900 messages are handled.
1901 Thanks to Nicolas Dufresne for noticing.
1903 2013-01-18 15:28:20 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
1906 omx: improve debug message when we can't find the config file
1907 Mention where we looked for the config file.
1909 2013-01-18 12:34:38 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
1912 build: fix autogen.sh with automake 1.13
1913 AM_CONFIG_HEADER -> AC_CONFIG_HEADERS
1915 2013-01-17 18:07:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1918 * omx/gstomxaudioenc.h:
1919 * omx/gstomxvideodec.h:
1920 * omx/gstomxvideoenc.h:
1921 omx: Fix includes to properly work with the 1.0 releases
1923 2013-01-15 15:08:28 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
1926 Automatic update of common submodule
1927 From a72faea to a942293
1929 2013-01-15 14:34:45 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1932 omx: Update port definition when changing some port setting
1934 2013-01-14 11:41:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1938 omx: Rename from libgstopenmax.so to ligstomx.so for consistency
1940 2013-01-11 15:32:22 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1943 omx: Add a method to send message
1945 2013-01-11 15:44:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1949 omx: Atomic ops are not required anymore for the reconfiguration
1951 2013-01-11 12:52:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1953 * omx/gstomxaudioenc.c:
1954 * omx/gstomxvideodec.c:
1955 * omx/gstomxvideoenc.c:
1956 omx: Fix some memory leaks and suboptimal locking
1958 2013-01-11 12:34:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1960 * omx/gstomxvideoenc.c:
1961 omxvideoenc: Don't forget to unmap frame in error cases
1963 2013-01-11 12:29:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1965 * omx/gstomxvideoenc.c:
1966 omxvideoenc: Fix copying of the video frames to the OMX buffers
1968 2013-01-11 12:24:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1970 * omx/gstomxvideodec.c:
1971 omxvideodec: Fix copying of the video frames from the OMX buffers
1973 2013-01-10 14:44:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1978 * omx/gstomxaudioenc.c:
1979 * omx/gstomxrecmutex.c:
1980 * omx/gstomxrecmutex.h:
1981 omx: Implement new approach for locking that should solve all deadlocks on RPi
1982 No mutex is locked while calling any OpenMAX functions anymore
1983 and everything from the OpenMAX callbacks is inserted into a message
1984 queue and handled from outside the callbacks.
1985 Also there's only a single mutex and condition variable per component
1986 now for handling anything from OpenMAX callbacks and a single mutex
1987 for keeping our component/port state sane.
1989 2012-12-20 19:30:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1991 * omx/gstomxvideodec.c:
1992 omxvideodec: Set the OMX buffer nFilledLength field properly
1994 2012-12-20 18:48:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1996 * omx/gstomxrecmutex.c:
1997 * omx/gstomxrecmutex.h:
1998 omxrecmutex: Fix another race condition when two threads are trying to lock for recursion at the same time
2000 2012-12-20 18:16:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2002 * omx/gstomxrecmutex.c:
2003 * omx/gstomxrecmutex.h:
2004 omxrecmutex: Fix yet another race condition that resulted in deadlocks
2006 2012-12-20 17:46:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2009 * omx/gstomxrecmutex.c:
2010 * omx/gstomxrecmutex.h:
2011 omx: Fix another race condition in the recursive mutex
2012 Between lock() and begin_recursion() it was possible for another thread to
2013 try to do a recursive_lock(). This would block because the mutex was already
2014 locked(), but not ready for recursive locking yet. unlock() would never
2015 happen in the original thread because it was waiting for the other thread
2017 Happened on the Raspberry Pi.
2019 2012-12-20 14:45:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2021 * omx/gstomxrecmutex.c:
2022 * omx/gstomxrecmutex.h:
2023 omxrecmutex: Fix a small race condition when unlocking a non-recursive lock
2025 2012-12-20 12:30:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2027 * omx/gstomxaudioenc.c:
2028 * omx/gstomxvideodec.c:
2029 * omx/gstomxvideoenc.c:
2030 omx: Fix ununsed variable compiler warning
2032 2012-12-20 12:27:47 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2034 * omx/gstomxaudioenc.c:
2035 * omx/gstomxvideodec.c:
2036 * omx/gstomxvideoenc.c:
2037 omx: No need to start the srcpad task in ::start() already
2038 It will be started properly after the caps are set.
2040 2012-12-20 12:23:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2042 * omx/gstomxvideodec.c:
2043 omxvideodec: OMX_ErrorNoMore is no error and just means we ended iteration
2045 2012-12-20 12:20:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2047 * omx/gstomxaudioenc.c:
2048 * omx/gstomxvideodec.c:
2049 * omx/gstomxvideoenc.c:
2050 omx: Improve debug output
2052 2012-12-20 12:02:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2054 * omx/gstomxvideodec.c:
2055 omxvideodec: Don't forget to free a GList
2057 2012-12-20 11:56:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2059 * omx/gstomxvideodec.c:
2060 omxvideodec: Map OMX_COLOR_FormatYUV420PackedPlanar to I420 too
2061 This is used on the Raspberry Pi.
2063 2012-12-20 11:55:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2065 * omx/gstomxvideodec.c:
2066 omxvideodec: During negotiation of the output format make sure we use the correct OpenMAX format
2068 2012-12-20 11:42:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2070 * omx/gstomxvideodec.c:
2071 omxvideodec: If negotiation fails this could also mean that the component can't do it at this point yet
2073 2012-12-20 11:40:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2075 * omx/gstomxvideodec.c:
2076 omxvideodec: Improve format negotiation a bit
2077 Don't leak caps and make sure to fixate caps.
2079 2012-12-19 13:05:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2082 omx: Also initialize nStep field of the OMX structures
2084 2012-12-19 13:03:37 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2087 omx: Initialize struct version with the OMX version we compiled with
2089 2012-12-19 12:44:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2091 * omx/gstomxvideodec.c:
2092 omxvideodec: Extract data from the input buffer, not the codec data
2094 2012-12-19 12:19:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2097 * tools/listcomponents.c:
2098 omx: Use has_suffix() instead of has_prefix() for the Broadcom hack
2100 2012-12-19 12:08:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2104 * tools/Makefile.am:
2105 * tools/listcomponents.c:
2106 tools: Add tool to list all components and their roles
2108 2012-12-19 11:31:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2111 omx: Add hack to load and initialize libbcm_host.so
2112 Needed on the Raspberry Pi. Patch based on a patch by
2113 George Kiagiadakis <george.kiagiadakis@collabora.com>
2115 2012-12-19 11:22:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2119 configure: Add configure option to pack OpenMAX structures
2120 This is required to set to 4 for the Raspberry Pi for example.
2122 2012-12-19 11:07:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2125 configure: Require GStreamer 1.0.0
2127 2012-04-20 17:13:52 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
2130 omx: Initialize structures to version 1.1.2
2132 2012-12-19 09:51:22 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2135 * config/Makefile.am:
2136 * config/raspberry-pi.conf:
2138 * omx/gstomx-raspberry.conf:
2139 config: Add raspberry-pi configuration in a different directory
2141 2012-05-20 20:11:59 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
2143 * omx/gstomx-raspberry.conf:
2144 raspberry: Add a gstomx.conf for the Raspberry Pi
2146 2012-12-12 17:45:39 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2149 * omx/gstomxvideoenc.h:
2150 omx: Fix some compilation errors caused by circular includes
2152 2012-11-19 11:29:44 +0000 Tim-Philipp Müller <tim@centricular.net>
2155 Automatic update of common submodule
2156 From 6bb6951 to a72faea
2158 2012-11-12 15:14:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2160 * omx/gstomxvideodec.c:
2161 * omx/gstomxvideoenc.c:
2162 omx: Fix refcount problem with frames being dropped because of decoder bugs
2164 2012-11-12 11:29:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2168 * omx/gstomxaudioenc.c:
2169 * omx/gstomxaudioenc.h:
2170 * omx/gstomxrecmutex.c:
2171 * omx/gstomxrecmutex.h:
2172 * omx/gstomxvideodec.c:
2173 * omx/gstomxvideodec.h:
2174 * omx/gstomxvideoenc.c:
2175 * omx/gstomxvideoenc.h:
2176 omx: Update to new GLib thread API
2178 2012-10-22 14:34:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2180 * omx/gstomxvideodec.c:
2181 * omx/gstomxvideoenc.c:
2182 omx: Use open/close vfuncs
2184 2012-10-22 14:28:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2186 * omx/gstomxvideodec.c:
2187 * omx/gstomxvideoenc.c:
2188 omx: Handle video meta correctly
2190 2012-06-20 13:11:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2193 * omx/gstbasevideocodec.c:
2194 * omx/gstbasevideocodec.h:
2195 * omx/gstbasevideodecoder.c:
2196 * omx/gstbasevideodecoder.h:
2197 * omx/gstbasevideoencoder.c:
2198 * omx/gstbasevideoencoder.h:
2199 * omx/gstbasevideoutils.c:
2200 * omx/gstbasevideoutils.h:
2201 * omx/gstomxh263dec.c:
2202 * omx/gstomxh263enc.c:
2203 * omx/gstomxh264dec.c:
2204 * omx/gstomxh264enc.c:
2205 * omx/gstomxmpeg4videodec.c:
2206 * omx/gstomxmpeg4videoenc.c:
2207 * omx/gstomxvideodec.c:
2208 * omx/gstomxvideodec.h:
2209 * omx/gstomxvideoenc.c:
2210 * omx/gstomxvideoenc.h:
2211 * omx/gstomxwmvdec.c:
2212 omx: Port to video base classes from -base
2214 2012-10-17 17:57:43 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
2216 * omx/gstomxaacenc.c:
2217 * omx/gstomxh263dec.c:
2218 * omx/gstomxh263enc.c:
2219 * omx/gstomxh264dec.c:
2220 * omx/gstomxh264enc.c:
2221 * omx/gstomxmpeg4videodec.c:
2222 * omx/gstomxmpeg4videoenc.c:
2223 * omx/gstomxwmvdec.c:
2224 omx: gst_element_class_set_details_simple() -> set_static_metadata()
2226 2012-10-06 15:01:11 +0100 Tim-Philipp Müller <tim@centricular.net>
2229 Automatic update of common submodule
2230 From 6c0b52c to 6bb6951
2232 2012-09-22 16:10:38 +0100 Tim-Philipp Müller <tim@centricular.net>
2235 Automatic update of common submodule
2236 From 4f962f7 to 6c0b52c
2238 2012-06-21 20:22:13 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
2241 omx: fix debug statement
2243 2012-06-21 20:21:03 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
2246 omx: use recursive_lock inside set_last_error(), since this function may be called from an event handler
2248 2012-08-22 13:31:59 +0200 Stefan Sauer <ensonic@users.sf.net>
2251 Automatic update of common submodule
2252 From 668acee to 4f962f7
2254 2012-08-05 16:42:43 +0100 Tim-Philipp Müller <tim@centricular.net>
2257 Automatic update of common submodule
2258 From 94ccf4c to 668acee
2260 2012-08-03 19:32:13 +0100 Tim-Philipp Müller <tim@centricular.net>
2263 omx: fix plugin name for new GST_PLUGIN_DEFINE API
2265 2012-07-23 08:47:32 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2268 Automatic update of common submodule
2269 From 98e386f to 94ccf4c
2271 2012-07-10 09:57:09 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2273 * omx/gstbasevideodecoder.c:
2274 omx: Update for allocation query API changes
2276 2012-06-20 11:09:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2278 * omx/gstomxaudioenc.c:
2279 * omx/gstomxvideodec.c:
2280 * omx/gstomxvideoenc.c:
2281 omx: Fix compilation after gst_pad_start_task() API changes
2283 2012-06-08 15:06:35 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
2286 Automatic update of common submodule
2287 From 03a0e57 to 98e386f
2289 2012-06-06 18:20:18 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
2292 Automatic update of common submodule
2293 From 1fab359 to 03a0e57
2295 2012-06-01 10:30:27 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
2298 Automatic update of common submodule
2299 From f1b5a96 to 1fab359
2301 2012-05-31 13:10:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2304 Automatic update of common submodule
2305 From 92b7266 to f1b5a96
2307 2012-05-30 12:47:59 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2310 Automatic update of common submodule
2311 From ec1c4a8 to 92b7266
2313 2012-05-30 11:26:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2316 Automatic update of common submodule
2317 From 3429ba6 to ec1c4a8
2319 2012-05-13 15:58:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2322 Automatic update of common submodule
2323 From dc70203 to 3429ba6
2325 2012-05-08 16:13:32 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
2328 omx: Fix spelling mistake found by lintian: s/Seperate/Separate/
2330 2012-04-30 23:58:43 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
2335 * omx/gstomxaudioenc.c:
2336 * omx/gstomxrecmutex.c:
2337 * omx/gstomxrecmutex.h:
2338 * omx/gstomxvideodec.c:
2339 * omx/gstomxvideoenc.c:
2340 Implement a new custom recursive mutex type and fix locking in callbacks so that in-context calls are allowed.
2341 According to the OMX specification, implementations are allowed to call
2342 callbacks in the context of their function calls. However, our callbacks
2343 take locks and this causes deadlocks if the unerlying OMX implementation
2344 uses this kind of in-context calls.
2345 A solution to the problem would be a recursive mutex. However, a normal
2346 recursive mutex does not fix the problem because it is not guaranteed
2347 that the callbacks are called from the same thread. What we see in Broadcom's
2348 implementation for example is:
2350 - OMX_Foo waits on a condition
2351 - A callback is executed in a different thread
2352 - When the callback returns, its calling function
2353 signals the condition that OMX_Foo waits on
2354 - OMX_Foo wakes up and returns
2355 The solution I came up with here is to take a second lock inside the callback,
2356 but only if recursion is expected to happen. Therefore, all calls to OMX
2357 functions are guarded by calls to gst_omx_rec_mutex_begin_recursion() / _end_recursion(),
2358 which effectively tells the mutex that at this point we want to allow calls
2359 to _recursive_lock() to succeed, although we are still holding the master lock.
2361 2012-04-20 14:51:34 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
2365 omx: Add hack to disable setting roles to components.
2369 2012-04-30 23:20:24 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
2372 * omx/gstomxvideodec.c:
2373 omxvideodec: Implement no-empty-eos-buffer hack, as in omxvideoenc.
2375 omx/gstomxvideodec.c
2377 2012-04-30 23:19:55 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
2379 * omx/gstomxvideodec.c:
2380 omxvideodec: Fix coding style in the drain-may-not-return hack code
2382 2012-04-25 19:03:48 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
2385 omx: Fix trivial debug print bug
2387 2012-04-25 19:01:32 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
2391 * omx/gstomxvideodec.c:
2392 omxvideodec: Add hack for Ducati components not returning from drain
2393 This happens on the Galaxy Nexus, and causes the pipeline to hang waiting
2394 endlessly for a drain. The hack replaces the wait with a wait + 500ms timeout.
2396 2012-04-25 16:35:40 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
2399 omx: Fix deadlock between ending a flush and the event handler
2400 gst_omx_port_set_flushing() calls OMX_FillThisBuffer at the end of a flush
2401 without releasing the port lock, and this can cause a deadlock with the
2402 EventHandler. This patches fixes this by dropping the lock for the duration of
2403 the fill buffer call.
2405 2012-04-24 15:41:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2407 * omx/gstbasevideodecoder.c:
2408 * omx/gstbasevideoencoder.c:
2409 omx: Update video encoder/decoder base classes from gst-plugins-bad
2411 2012-04-16 09:16:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2414 configure: Modernize autotools setup a bit
2415 Also we now only create tar.bz2 and tar.xz tarballs.
2417 2012-04-16 09:12:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2420 Automatic update of common submodule
2422 2012-04-16 08:34:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2424 * omx/gstomxaudioenc.c:
2425 omxaudioenc: Use gst_buffer_extract() to copy the input buffer data to the OpenMAX buffer
2427 2012-04-13 17:16:42 -0400 Alessandro Decina <alessandro.decina@collabora.com>
2430 Fix relative/absolute path glitch
2431 Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
2433 2012-04-12 15:57:32 -0400 Olivier Crête <olivier.crete@collabora.com>
2438 * omx/gstbasevideocodec.c:
2439 * omx/gstbasevideocodec.h:
2440 * omx/gstbasevideodecoder.c:
2441 * omx/gstbasevideodecoder.h:
2442 * omx/gstbasevideoencoder.c:
2443 * omx/gstbasevideoencoder.h:
2446 * omx/gstomxaacenc.c:
2447 * omx/gstomxaudioenc.c:
2448 * omx/gstomxaudioenc.h:
2449 * omx/gstomxh263dec.c:
2450 * omx/gstomxh263enc.c:
2451 * omx/gstomxh264dec.c:
2452 * omx/gstomxh264enc.c:
2453 * omx/gstomxmpeg4videodec.c:
2454 * omx/gstomxmpeg4videoenc.c:
2455 * omx/gstomxvideodec.c:
2456 * omx/gstomxvideodec.h:
2457 * omx/gstomxvideoenc.c:
2458 * omx/gstomxvideoenc.h:
2459 * omx/gstomxwmvdec.c:
2462 2012-01-18 16:53:16 -0300 Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
2466 Enable building with Android's buildsystem
2467 This change adds prelimary buildsystem hooks to
2468 build gst-omx with the Android buildsystem. Like
2469 the rest of GStreamer's Android hooks, the process
2470 relies on the availability of androgenizer. A tool
2471 developed by Collabora to automatically generate
2472 Android.mk files from within the auto* setup.
2473 Androgenizer is currently available at:
2474 http://cgit.collabora.com/git/user/derek/androgenizer.git/
2476 2011-12-13 10:17:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2478 * omx/gstbasevideocodec.c:
2479 basevideocodec: Don't use G_TYPE_REGISTER_BOXED() yet
2480 This would require GLib 2.26.
2482 2011-12-14 10:09:34 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
2484 * omx/gstomxaudioenc.c:
2485 omxaudioenc: Add hack for encoder components that don't allow empty EOS buffers
2487 2011-12-14 10:07:29 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
2489 * omx/gstomxvideoenc.c:
2490 omxvideoenc: Fix deadlock when using the EOS hack
2492 2011-12-12 14:26:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2494 * omx/gstomxvideoenc.c:
2495 omxvideoenc: Remove workaround for basevideocodec bug
2497 2011-12-12 14:26:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2499 * omx/gstomxvideodec.c:
2500 omxvideodec: Remove workaround for basevideocodec bug
2502 2011-12-05 17:57:01 +0000 Matej Knopp <matej.knopp@gmail.com>
2504 * omx/gstbasevideocodec.c:
2505 * omx/gstbasevideocodec.h:
2506 * omx/gstbasevideodecoder.c:
2507 * omx/gstbasevideoencoder.c:
2508 basevideo: Make GstVideoFrame a reference counted boxed object
2509 ...and also clear all existing frames when resetting the decoder or encoder.
2511 2011-12-09 12:17:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2515 * omx/gstomxvideoenc.c:
2516 omx: Add hack for encoder components that don't allow empty EOS buffers
2518 2011-12-09 10:21:47 +0100 Dake Gu <Dake.Gu@palm.com>
2520 * omx/gstomxaacenc.c:
2521 omxaacenc: Generate and set codec_data on the caps for raw AAC
2523 2011-10-31 11:36:06 +0100 Alessandro Decina <alessandro.decina@collabora.co.uk>
2525 * omx/gstbasevideoencoder.c:
2526 basevideoencoder: handle failures in start() and stop()
2528 2011-08-26 10:50:38 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
2530 * omx/gstbasevideoencoder.c:
2531 basevideoenc: do not try to calculate latency from an unknown framerate
2532 It'll divide by zero, and latency is unknown for an unknown framerate.
2533 Fixes an assert in the schroenc test.
2534 https://bugzilla.gnome.org/show_bug.cgi?id=657419
2536 2011-12-08 11:50:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2538 * omx/gstbasevideoencoder.c:
2539 basevideoencoder: Only make the header buffer metadata writable, not the buffer
2541 2011-12-08 10:18:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2543 * omx/gstbasevideoencoder.c:
2544 basevideoencoder: Fix handling of force-keyunit events
2546 2011-12-06 13:28:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2548 * omx/gstomxaudioenc.c:
2549 omxaudioenc: Don't forward EOS events immediately but let all other events be handled by the base class
2550 Previously this logic was inversed, which did not make any sense at all.
2552 2011-12-06 12:47:25 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2554 * omx/gstomxaudioenc.c:
2555 * omx/gstomxaudioenc.h:
2556 omxaudioenc: Use correct timestamp, duration and filled length for the EOS buffers
2558 2011-12-06 12:47:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2560 * omx/gstomxvideodec.c:
2561 * omx/gstomxvideodec.h:
2562 omxvideodec: Use correct timestamp, duration and filled length for the EOS buffers
2564 2011-12-06 12:46:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2566 * omx/gstomxvideoenc.c:
2567 * omx/gstomxvideoenc.h:
2568 omxvideoenc: Use correct timestamp, duration and filled length for the EOS buffers
2570 2011-12-05 13:18:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2573 omx: Improve debugging of buffer handling
2575 2011-12-05 08:12:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2577 * omx/gstomxvideoenc.c:
2578 omxvideoenc: Drop EOS events in ::finish()
2579 The event will be forwarded downstream from the srcpad
2580 loop function after the last buffer was generated by the
2581 component. Forwarding it after ::finish() will use the
2582 sinkpad streaming thread and does not guarantee that
2583 the encoder is completely drained.
2585 2011-12-01 16:20:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2587 * omx/gstomxvideodec.c:
2588 omxvideodec: Properly drop frames due to QoS
2589 Instead of finishing them they should be passed to drop(), which
2590 will then send QoS messages.
2592 2011-11-29 12:21:32 +0100 Jonas Larsson <jonas@hallerud.se>
2594 * omx/gstomxh264enc.c:
2595 omxh264enc: Add support for resending headers after a forced-keyframe
2597 2011-11-29 12:12:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2599 * omx/gstbasevideocodec.h:
2600 * omx/gstbasevideoencoder.c:
2601 basevideoencoder: Pass the all-headers field of the force-key-unit event to the subclass
2603 2011-11-29 12:12:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2605 * omx/gstbasevideoencoder.c:
2606 * omx/gstbasevideoencoder.h:
2607 basevideoencoder: Implement full support for the new force-key-unit event
2608 Including support for the running-time and count fields.
2610 2011-11-29 09:31:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2612 * omx/gstbasevideoencoder.c:
2613 basevideoencoder: Use new force-keyunit event API from gst-plugins-base
2615 2011-11-29 09:18:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2617 * omx/gstbasevideoencoder.c:
2618 * omx/gstbasevideoencoder.h:
2619 basevideoencoder: Adjusting padding is not required for -bad libraries
2621 2011-11-28 19:48:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2623 * omx/gstbasevideoencoder.h:
2624 basevideoencoder: Move some fields to the private part of the instance struct
2626 2011-11-28 19:36:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2628 * omx/gstbasevideoencoder.c:
2629 basevideoencoder: Make headers metadata writable before pushing downstream
2630 The timestamp, duration, etc of the headers has to be changed.
2632 2011-11-28 19:35:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2634 * omx/gstbasevideoencoder.c:
2635 * omx/gstbasevideoencoder.h:
2636 basevideoencoder: Push the downstream force-keyframe event after the next keyframe
2637 Even if the corresponding GstVideoFrame doesn't have the is_sync_point
2640 2011-11-28 19:29:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2642 * omx/gstbasevideoencoder.c:
2643 * omx/gstbasevideoencoder.h:
2644 basevideoencoder: Don't push an upstream force-keyunit event downstream
2646 2011-11-25 11:48:08 +0100 Jonas Larsson <jonas@hallerud.se>
2648 * omx/gstbasevideoencoder.c:
2649 * omx/gstbasevideoencoder.h:
2650 basevideoencoder: Add initial support for the all-headers field of the force-keyframe event
2653 2011-11-25 11:37:39 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
2655 * omx/gstbasevideodecoder.c:
2656 basevideodecoder: some more debug logging
2658 2011-11-23 20:03:32 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
2660 * omx/gstbasevideodecoder.c:
2661 * omx/gstbasevideodecoder.h:
2662 basevideodecoder: add API to drop a frame and post a QoS message on the bus
2663 https://bugzilla.gnome.org/show_bug.cgi?id=640017
2664 API: gst_base_video_decoder_drop_frame()
2666 2011-11-22 23:04:49 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
2668 * omx/gstbasevideodecoder.c:
2669 docs: fix comment in gst_base_video_decoder_get_max_decode_time() docs
2671 2011-11-22 19:57:07 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
2673 * omx/gstbasevideodecoder.c:
2674 basevideodecoder: fix weird event list handling
2675 Get rid of weird code that copies a list manually, taking
2676 ownership of the elements and then frees the old list. Instead,
2677 just take over the old list entirely. (If the intent was to
2678 reverse the list, one could use g_list_reverse() instead).
2679 Then, push events in the list out from last to first (since they
2680 were prepended as they came in) instead of just pushing out the
2681 last in the list and leaking the others.
2683 2011-11-25 11:31:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2687 * omx/gstbaseaudiodecoder.c:
2688 * omx/gstbaseaudiodecoder.h:
2689 * omx/gstbaseaudioencoder.c:
2690 * omx/gstbaseaudioencoder.h:
2691 * omx/gstbaseaudioutils.c:
2692 * omx/gstbaseaudioutils.h:
2693 * omx/gstomxaacenc.c:
2694 * omx/gstomxaudioenc.c:
2695 * omx/gstomxaudioenc.h:
2696 omxaudioenc: Use audio base classes from gst-plugins-base instead of having our own copies
2698 2011-11-18 10:00:31 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2700 * omx/gstomxaudioenc.c:
2701 omxaudioenc: First set ports to flushing before waiting for the srcpad streaming thread to finish
2703 2011-11-18 09:59:43 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2705 * omx/gstomxvideoenc.c:
2706 omxvideoenc: First set ports to flushing before waiting for the srcpad streaming thread to finish
2708 2011-11-18 09:58:58 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2710 * omx/gstomxvideodec.c:
2711 omxvideodec: First set ports to flushing before waiting for the srcpad streaming thread to finish
2713 2011-11-17 14:38:54 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2716 omx: Only disabling of a port is like flushing, enabling is like unflushing
2718 2011-11-17 13:33:35 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2721 omx: Enabling/disabling a port is also like flushing
2722 The component returns all buffers to us and shouldn't get any
2723 new buffers passed anymore.
2725 2011-11-17 11:26:33 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2727 * omx/gstomxaudioenc.c:
2728 omxaudioenc: Signal the drain GCond even if downstream returned an error
2730 2011-11-17 11:26:20 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2732 * omx/gstomxvideoenc.c:
2733 omxvideoenc: Signal the drain GCond even if downstream returned an error
2735 2011-11-17 11:25:52 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2737 * omx/gstomxvideodec.c:
2738 omxvideodec: Signal the drain GCond even if downstream returned an error
2740 2011-11-17 10:34:19 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2742 * omx/gstbasevideoencoder.c:
2743 basevideoencoder: Only call ::reset once in READY->PAUSED
2745 2011-11-17 10:19:35 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2747 * omx/gstomxaudioenc.c:
2748 omxaudioenc: Shutdown component in PAUSED->READY and deallocate buffers
2750 2011-11-17 10:19:30 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2752 * omx/gstomxvideoenc.c:
2753 omxvideoenc: Shutdown component in PAUSED->READY and deallocate buffers
2755 2011-11-17 10:19:10 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2757 * omx/gstomxvideodec.c:
2758 omxvideodec: Shutdown component in PAUSED->READY and deallocate buffers
2760 2011-11-16 12:02:08 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2762 * omx/gstomxvideoenc.c:
2763 omxvideoenc: Set force_keyframe to FALSE after handling it
2764 There's no reason why the base class should forward the event
2765 further downstream if we already handled it and will insert a
2768 2011-11-16 11:21:25 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2770 * omx/gstomxvideodec.c:
2771 omxvideodec: Always push buffers downstream, even if we didn't find a corresponding GstVideoFrame
2773 2011-11-15 09:47:55 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2776 omx: Fix debug level for flushing in wrong state from ERROR to DEBUG
2777 It's not really an error and doesn't matter at all if flush is called
2778 when the component is not running.
2780 2011-11-15 08:40:07 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2782 * omx/gstomxh264enc.c:
2783 omxh264enc: Detect bytestream stream format and don't put SPS/PPS into the caps for this format
2785 2011-11-15 08:28:32 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2787 * omx/gstomxvideoenc.c:
2788 * omx/gstomxvideoenc.h:
2789 omxvideoenc: Add vfunc for handling the output frames
2790 This can be used by subclasses to override the buffer flags
2791 or to handle some frames differently than the default behaviour.
2793 2011-11-14 12:50:26 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2795 * omx/gstomxvideodec.c:
2796 omxvideodec: Don't release buffers twice if dropping because of QoS
2798 2011-11-14 09:13:06 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2801 omx: Add XXX to the nOffset reset hack comment for QCOM
2803 2011-11-10 15:18:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2805 * omx/gstomxaudioenc.c:
2806 omxaudioenc: Make srcpad caps setting threadsafe
2808 2011-11-10 15:17:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2810 * omx/gstomxvideoenc.c:
2811 omxvideoenc: Make srcpad caps setting threadsafe
2813 2011-11-10 15:17:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2815 * omx/gstomxvideodec.c:
2816 omxvideodec: Make srcpad caps setting threadsafe
2818 2011-11-10 15:10:14 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2820 * omx/gstomxaudioenc.c:
2821 omxaudioenc: Make the srcpad task and the sinkpad streaming thread handling threadsafe
2823 2011-11-10 15:03:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2825 * omx/gstomxaudioenc.c:
2826 omxaudioenc: Always flush the ports and make sure no processing is happening in ::flush
2827 This fixes a race condition that happened when seeking
2828 very often in a short period of time.
2830 2011-11-10 15:02:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2832 * omx/gstomxvideoenc.c:
2833 omxvideoenc: Always flush the ports and make sure no processing is happening in ::reset
2834 This fixes a race condition that happened when seeking
2835 very often in a short period of time.
2837 2011-11-10 15:01:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2839 * omx/gstomxvideoenc.c:
2840 omxvideoenc: Fix minor race condition when draining after upstream signalled EOS
2842 2011-11-10 14:56:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2844 * omx/gstomxaudioenc.c:
2845 omxaudioenc: Improve EOS handling
2846 If downstream return UNEXPECTED we should still signal the
2847 drain cond because nothing will trigger this again later.
2849 2011-11-10 14:56:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2851 * omx/gstomxvideoenc.c:
2852 omxvideoenc: Improve EOS handling
2853 If downstream return UNEXPECTED we should still signal the
2854 drain cond because nothing will trigger this again later.
2856 2011-11-10 14:54:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2858 * omx/gstomxaudioenc.c:
2859 omxaudioenc: Improve debugging of EOS and draining
2861 2011-11-10 14:54:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2863 * omx/gstomxvideoenc.c:
2864 omxvideoenc: Improve debugging of EOS and draining
2866 2011-11-10 14:51:06 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2868 * omx/gstomxvideodec.c:
2869 omxvideodec: Log if acquiring buffer for EOS failed
2871 2011-11-10 14:42:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2873 * omx/gstomxvideodec.c:
2874 omxvideodec: The component is not started in READY
2876 2011-11-10 14:39:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2878 * omx/gstomxaudioenc.c:
2879 omxaudioenc: No need to signal the drain cond when going from READY to PAUSED
2880 Also the component is not started in READY
2882 2011-11-10 14:40:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2884 * omx/gstomxvideoenc.c:
2885 omxvideoenc: No need to signal the drain cond when going from READY to PAUSED
2886 Also the component is not started in READY.
2888 2011-11-09 15:46:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2890 * omx/gstomxvideodec.c:
2891 omxvideodec: Always flush the ports and make sure no processing is happening in ::reset
2892 This fixes a race condition that happened when seeking
2893 very often in a short period of time.
2895 2011-11-09 15:45:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2897 * omx/gstomxvideodec.c:
2898 omxvideodec: Fix minor race condition when draining after upstream signalled EOS
2900 2011-11-09 15:44:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2902 * omx/gstomxvideodec.c:
2903 omxvideodec: Improve EOS handling
2904 If downstream return UNEXPECTED we should still signal the
2905 drain cond because nothing will trigger this again later.
2907 2011-11-09 15:43:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2909 * omx/gstomxvideodec.c:
2910 omxvideodec: Improve debugging of EOS and draining
2912 2011-11-09 15:42:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2914 * omx/gstomxvideodec.c:
2915 omxvideodec: The component is not started already when going from READY to PAUSED
2917 2011-11-09 15:42:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2919 * omx/gstomxvideodec.c:
2920 omxvideodec: No need to signal the drain cond when going from READY to PAUSED
2922 2011-11-09 15:41:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2925 omx: Always reset buffer flags for output ports, even in flushing/error state
2927 2011-11-09 09:00:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2929 * omx/gstomxvideodec.c:
2930 omxvideodec: Improve debugging in case of QoS-related frame drops
2932 2011-11-08 12:46:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2934 * omx/gstomxvideoenc.c:
2935 omxvideoenc: Release the video codec stream lock before acquiring an input buffer
2936 Otherwise the srcpad task might block on this lock and
2937 no buffers ever become available again.
2939 2011-11-08 12:45:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2941 * omx/gstomxaudioenc.c:
2942 omxaudioenc: Release the audio encoder stream lock before acquiring an input buffer
2943 Otherwise the srcpad task might block on this lock and
2944 no buffers ever become available again.
2946 2011-11-08 12:42:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2948 * omx/gstomxvideodec.c:
2949 omxvideodec: Release the video codec stream lock before acquiring an input buffer
2950 Otherwise the srcpad task might block on this lock and
2951 no buffers ever become available again.
2953 2011-11-08 11:07:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2955 * omx/gstomxaudioenc.c:
2956 * omx/gstomxaudioenc.h:
2957 omxaudioenc: Don't try to drain the component after EOS
2958 And don't send EOS twice in any case. This most likely
2959 will cause the component to not output it again and
2960 is not necessary anyway.
2962 2011-11-08 11:03:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2964 * omx/gstomxvideoenc.c:
2965 * omx/gstomxvideoenc.h:
2966 omxvideoenc: Don't try to drain the component after EOS
2967 And don't send EOS twice in any case. This most likely
2968 will cause the component to not output it again and
2969 is not necessary anyway.
2971 2011-11-08 10:46:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2973 * omx/gstomxvideodec.c:
2974 * omx/gstomxvideodec.h:
2975 omxvideodec: Don't try to drain the component after EOS
2976 And don't send EOS twice in any case. This most likely
2977 will cause the component to not output it again and
2978 is not necessary anyway.
2980 2011-11-08 09:09:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2982 * omx/gstomxvideodec.c:
2983 omxvideodec: Implement dropping of too late frames via QoS
2985 2011-11-08 08:31:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2987 * omx/gstomxaudioenc.c:
2988 omxaudioenc: Minor code refactoring
2990 2011-11-08 08:31:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2992 * omx/gstomxvideoenc.c:
2993 omxvideoenc: Minor code refactoring
2995 2011-11-08 08:31:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2997 * omx/gstomxvideodec.c:
2998 omxvideodec: Make sure to always release buffers back to OMX
3000 2011-11-08 08:24:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3003 omx: Also properly release buffers when in error state
3005 2011-11-08 08:22:08 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
3008 omx: Properly release buffers during flushing
3009 We can't pass them back to OMX_FillThisBuffer() or OMX_EmptyThisBuffer()
3010 but instead of doing nothing we have to put them back into our queue.
3011 Otherwise the buffer is leaked and we will have too few buffers in
3014 2011-11-07 14:00:47 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3016 * omx/gstomxvideodec.c:
3017 omxvideodec: Free pending frames after draining component
3019 2011-11-07 14:00:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3021 * omx/gstomxvideoenc.c:
3022 omxvideoenc: Free pending frames after draining the component
3024 2011-11-07 11:07:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3026 * omx/gstomxvideoenc.c:
3027 omxvideoenc: Make handling and usage of the base video codec frames threadsafe
3029 2011-11-07 11:05:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3031 * omx/gstomxvideoenc.c:
3032 omxvideoenc: Fix deadlock between srcpad stream lock and ::reset()
3034 2011-11-07 11:04:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3036 * omx/gstomxvideodec.c:
3037 omxvideoenc: Make handling and usage of the base video codec frames threadsafe
3039 2011-11-07 10:58:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3041 * omx/gstomxvideoenc.c:
3042 omxvideoenc: Free all pending frames after draining the component
3044 2011-11-07 10:58:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3046 * omx/gstomxvideodec.c:
3047 omxvideodec: Always free all pending frames when caps changes require reconfiguration
3049 2011-11-04 09:43:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3051 * omx/gstomxaudioenc.c:
3052 omxaudioenc: Only drain the component a single time and only after processing started
3054 2011-11-04 09:43:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3056 * omx/gstomxvideodec.c:
3057 omxvideodec: Only drain the component a single time and only after processing started
3059 2011-11-04 09:43:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3061 * omx/gstomxvideoenc.c:
3062 omxvideoenc: Only drain the component a single time and only after processing started
3064 2011-11-04 09:04:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3067 omx: Reset buffer flags to 0 after it was consumed by the component or the element
3068 Some implementations don't reset the flags and the standard is not
3069 really clear on the expected behaviour. Let's just always reset the
3070 flags as they're not valid at this point anymore.
3072 2011-11-02 13:50:14 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3074 * omx/gstomxvideoenc.c:
3075 * omx/gstomxvideoenc.h:
3076 omxvideoenc: Better handling of encoder parameters
3077 Only set them if necessary and allow to use the component
3080 2011-11-02 13:22:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3082 * omx/gstomxvideoenc.c:
3083 omxvideoenc: Make unsupported bitrate/quantizer settings less fatal
3085 2011-11-02 10:39:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3087 * omx/gstomxvideodec.c:
3088 omxvideodec: If no stride was set for the OMX output port assume GStreamer stride
3089 This is not really correct but there's nothing else we could do.
3091 2011-11-02 10:39:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3093 * omx/gstomxvideoenc.c:
3094 omxvideoenc: If no stride was set for the OMX input port assume GStreamer stride
3095 This is not really correct but there's nothing else we could do.
3097 2011-11-01 16:46:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3099 * omx/gstomxaudioenc.c:
3100 * omx/gstomxaudioenc.h:
3101 omxaudioenc: Implement draining of the component and use it
3102 This makes sure that all buffers are encoded and pushed downstream
3103 before flushing the ports and losing some buffers.
3105 2011-11-01 16:41:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3107 * omx/gstomxvideoenc.c:
3108 * omx/gstomxvideoenc.h:
3109 omxvideoenc: Implement draining of the component and use it
3110 This makes sure that all buffers are encoded and pushed downstream
3111 before flushing the ports and losing some buffers.
3113 2011-11-01 16:08:59 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3115 * omx/gstomxvideodec.c:
3116 * omx/gstomxvideodec.h:
3117 omxvideodec: Implement draining of the component and use it
3118 This makes sure that all buffers are decoded and pushed downstream
3119 before flushing the ports and losing some buffers.
3121 2011-10-20 14:32:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3123 * omx/gstomxvideodec.c:
3124 omxvideodec: Fix deadlock if ::reset is called before finding the corresponding frame of a decoded buffer
3126 2011-11-01 15:10:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3128 * omx/gstomxaudioenc.c:
3129 * omx/gstomxaudioenc.h:
3130 * omx/gstomxvideoenc.h:
3131 omxaudioenc: Forward downstream flow returns to upstream
3133 2011-11-01 15:10:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3135 * omx/gstomxvideoenc.c:
3136 omxvideoenc: Forward downstream flow returns to upstream
3138 2011-11-01 13:58:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3140 * omx/gstomxvideodec.c:
3141 * omx/gstomxvideodec.h:
3142 omxvideodec: Forward downstream flow returns to upstream
3144 2011-10-25 14:23:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3147 omx: Add minimal README file
3149 2011-10-20 15:21:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3151 * omx/gstomxvideodec.c:
3152 omxvideodec: Fix deadlock caused by calling reset while the loop function does something with the base video codec stream lock
3154 2011-10-20 15:20:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3156 * omx/gstomxvideoenc.c:
3157 omxvideoenc: Fix deadlock caused by calling reset while the loop function does something with the base video codec stream lock
3159 2011-10-20 14:30:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3161 * omx/gstomxvideodec.c:
3162 omxvideodec: Move locking at the correct place
3164 2011-10-14 10:27:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3168 omx: Remove QCOM hack to reset nOffset in EmptyBufferDone
3169 This is now done in a generic way that does not require any
3170 hacks because it will work without any side effects on any
3173 2011-10-14 10:26:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3176 omx: Reset nOffset to 0 in EmptyBufferDone if nFilledLen is 0
3177 Some OMX implementations don't reset nOffset when the complete
3178 buffer is emptied but instead only reset nFilledLen. We reset
3179 nOffset to 0 if nFilledLen == 0, which is safe to do because
3180 the offset *must* be 0 if the buffer is not filled at all.
3181 Seen in QCOM's OMX implementation.
3183 2011-10-04 10:56:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3185 * omx/gstomxvideoenc.c:
3186 omxvideoenc: If one parameter/configuration is not supported don't skip the next
3188 2011-10-03 09:12:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3190 * omx/gstomxh264dec.c:
3191 omxh264dec: Require stream-format=byte-stream
3192 Other stream-formats are unlikely to be supported by OMX components.
3194 2011-09-29 10:37:32 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3196 * omx/gstomxvideodec.c:
3197 * omx/gstomxvideodec.h:
3198 omxvideodec: Add API for subclasses to prepare/convert frames
3200 2011-09-27 15:08:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3202 * omx/gstomxaudioenc.c:
3203 omxaudioenc: Switch to Idle first and wait before switching to Loaded and deallocating buffers
3204 Allocating buffers before the Idle state is reached can lead to crashes.
3206 2011-09-27 15:08:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3208 * omx/gstomxvideoenc.c:
3209 omxvideoenc: Switch to Idle first and wait before switching to Loaded and deallocating buffers
3210 Allocating buffers before the Idle state is reached can lead to crashes.
3212 2011-09-27 15:05:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3214 * omx/gstomxvideodec.c:
3215 omxvideodec: Switch to Idle first and wait before switching to Loaded and deallocating buffers
3216 Allocating buffers before the Idle state is reached can lead to crashes.
3218 2011-09-27 14:15:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3222 * omx/gstomxvideodec.c:
3223 omxvideodec: New hack for QCOM to recreate the component instead of reconfiguring it on caps changes
3225 2011-09-27 12:13:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3228 omx: Change a g_assert() into a GST_WARNING_OBJECT()
3230 2011-09-26 13:04:18 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3234 omx: Add hack for Qualcomm's OMX implementation to manually reset nOffset in EmptyBufferDone
3236 2011-09-23 17:02:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3238 * omx/gstomxaudioenc.c:
3239 omxaudioenc: Add a check to prevent a zero-sized OMX buffer
3241 2011-09-23 17:02:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3243 * omx/gstomxvideoenc.c:
3244 omxvideoenc: Add some more checks for correct OMX buffer sizes
3246 2011-09-23 15:53:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3248 * omx/gstomxvideodec.c:
3249 omxvideodec: Add some more checks for OMX buffer sizes
3251 2011-09-14 10:15:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3255 * omx/gstomxaudioenc.c:
3256 * omx/gstomxvideodec.c:
3257 * omx/gstomxvideoenc.c:
3258 omx: Wait until the Executing state is reached before calling OMX_FillThisBuffer()
3259 This correctly works around the QCOM race condition that happens when calling
3260 FTB after setting the new state and before reaching it.
3262 2011-09-02 14:43:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3264 * omx/gstomxvideodec.c:
3265 omxvideodec: Negotiate video format with downstream and what the component claims to support
3267 2011-08-25 19:56:58 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
3269 * omx/gstbasevideoencoder.c:
3270 basevideoencoder: fix element leak
3271 and this concludes an hour of yelling at the bloody test failing,
3272 only to track down the problem not being in the test.
3273 https://bugzilla.gnome.org/show_bug.cgi?id=657368
3275 2011-08-19 09:20:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3277 * omx/gstomxvideoenc.c:
3278 omxvideoenc: Release basevideocodec stream lock while waiting for a buffer
3279 This prevents deadlocks if no empty input buffers are available and
3280 releasing input buffers requires the loop function to handle some
3281 output buffers first.
3283 2011-08-19 09:19:22 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3285 * omx/gstomxvideodec.c:
3286 omxvideodec: Release basevideocodec stream lock while waiting for a buffer
3287 This prevents deadlocks if no empty input buffers are available and
3288 releasing input buffers requires the loop function to handle some
3289 output buffers first.
3291 2011-08-18 10:24:26 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3293 * omx/gstbasevideodecoder.c:
3294 basevideodecoder: Fix deadlock
3296 2011-08-18 10:03:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3298 * omx/gstbaseaudiodecoder.c:
3299 baseaudiodecoder: Don't take the stream lock in the seek handler
3300 This will lead to deadlocks
3302 2011-08-18 10:02:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3304 * omx/gstbasevideocodec.c:
3305 * omx/gstbasevideocodec.h:
3306 * omx/gstbasevideodecoder.c:
3307 * omx/gstbasevideoencoder.c:
3308 basevideo: Fix locking, especially if both pads have different streaming threads
3310 2011-08-18 09:42:02 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3312 * omx/gstbasevideodecoder.c:
3313 * omx/gstbasevideoencoder.c:
3314 basevideo: Don't call g_type_class_peek_parent() in class_init
3315 This is already done by the GObject boilerplate macro
3317 2011-08-18 09:40:46 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3319 * omx/gstbaseaudiodecoder.c:
3320 baseaudiodecoder: Don't call g_type_class_peek_parent() in class_init
3321 This is already done by the boilerplate macro
3323 2011-08-18 09:34:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3325 * omx/gstbaseaudiodecoder.c:
3326 * omx/gstbaseaudiodecoder.h:
3327 baseaudiodecoder: Fix thread safety issues if both pads have different streaming threads
3329 2011-08-18 09:17:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3331 * omx/gstbaseaudiodecoder.c:
3332 baseaudiodecoder: Delay sending of serialized events to finish_frame()
3334 2011-08-17 14:33:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3336 * omx/gstomxaudioenc.c:
3337 omxaudioenc: Always require at least OMX_MIN_PCMPAYLOAD_MSEC per input buffer
3339 2011-08-17 14:28:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3341 * omx/gstbaseaudioencoder.c:
3342 * omx/gstbaseaudioencoder.h:
3343 baseaudioencoder: Add support for requesting a minimum and maximum number of samples per frame
3344 This extends the special case of a fixed number of samples per frame
3345 that was supported before already.
3347 2011-08-17 14:17:18 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3349 * omx/gstomxaudioenc.c:
3350 omxaudioenc: Handle inbuf==NULL properly in ::handle_frame()
3352 2011-08-17 13:04:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3354 * omx/gstomxaacenc.c:
3355 omxaacenc: Implement ::get_num_samples() vfunc
3357 2011-08-17 13:03:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3359 * omx/gstomxaudioenc.c:
3360 * omx/gstomxaudioenc.h:
3361 omxaudioenc: Add vfunc to get the number of samples inside a buffer
3363 2011-08-17 11:34:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3365 * omx/gstomxaudioenc.c:
3366 omxaudioenc: Release baseaudioencoder stream lock while waiting for a buffer in ::handle_frame()
3367 This prevents deadlocks if no empty input buffers are available and
3368 releasing input buffers requires the loop function to handle some
3369 output buffers first.
3371 2011-08-17 11:34:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3373 * omx/gstbaseaudioencoder.c:
3374 * omx/gstbaseaudioencoder.h:
3375 baseaudioencoder: Fix thread safety issues if both pads have different streaming threads
3377 2011-08-17 09:58:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3379 * omx/gstbaseaudioencoder.c:
3380 baseaudioencoder: Taking the OBJECT lock in reset() is not needed
3382 2011-08-16 11:03:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3384 * omx/gstomxaudioenc.c:
3385 omxaudioenc: Remove hack that only applies to the video encoder class
3387 2011-08-16 10:49:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3392 * omx/gstomxaacenc.c:
3393 * omx/gstomxaacenc.h:
3394 omxaacenc: Add initial version of OpenMAX AAC encoder element
3396 2011-08-15 15:10:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3399 * omx/gstomxaudioenc.c:
3400 * omx/gstomxaudioenc.h:
3401 omxaudioenc: Add initial version of audio encoder base class
3403 2011-08-15 14:14:11 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3405 * omx/gstbaseaudioencoder.c:
3406 baseaudioencoder: Delay sending of serialized events to finish_frame()
3408 2011-08-15 13:06:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3411 * omx/gstbaseaudiodecoder.c:
3412 * omx/gstbaseaudiodecoder.h:
3413 * omx/gstbaseaudioencoder.c:
3414 * omx/gstbaseaudioencoder.h:
3415 audio: Integrate audio base classes into the build system and fixup
3417 2011-08-15 12:56:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3419 * omx/gstbaseaudiodecoder.c:
3420 * omx/gstbaseaudiodecoder.h:
3421 * omx/gstbaseaudioencoder.c:
3422 * omx/gstbaseaudioencoder.h:
3423 * omx/gstbaseaudioutils.c:
3424 * omx/gstbaseaudioutils.h:
3425 audio: Add audio decoder/encoder base classes
3426 Taken from http://cgit.collabora.com/git/user/manauw/gst-plugins-bad.git/log/?h=baseaudio
3428 2011-08-12 12:25:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3430 * omx/gstbasevideoencoder.c:
3431 basevideoencoder: Proxy the width/height/framerate/PAR constraints of downstream caps to upstream
3432 This allows to specify constraints on the compressed downstream caps
3433 by muxers or capsfilters, which will then be forwarded to upstream
3434 and allows video converters to fulfill the constraints.
3435 Code based on Mark Nauwelaerts audio encoder base class.
3437 2011-08-12 12:13:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3439 * omx/gstbasevideoencoder.h:
3440 basevideoencoder: Remove old ::getcaps() comment
3442 2011-08-12 12:06:23 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3444 * omx/gstbasevideoencoder.c:
3445 * omx/gstbasevideoencoder.h:
3446 basevideoencoder: Remove ::get_caps() vfunc
3447 Subclasses can set the caps more efficiently and this only
3448 caused additional indirections.
3450 2011-08-10 10:24:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3452 * omx/gstomxh263enc.c:
3453 * omx/gstomxh264enc.c:
3454 * omx/gstomxmpeg4videoenc.c:
3455 * omx/gstomxvideoenc.c:
3456 omxvideoenc: Use "video/x-raw-yuv" as sink template caps instead of strict I420 caps
3458 2011-08-10 10:23:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3460 * omx/gstomxmpeg4videodec.c:
3461 omxmpeg4videodec: Don't require width/height on sink pad caps
3463 2011-08-10 10:11:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3465 * omx/gstomxh263dec.c:
3466 * omx/gstomxh264dec.c:
3467 * omx/gstomxmpeg4videodec.c:
3468 * omx/gstomxvideodec.c:
3469 * omx/gstomxwmvdec.c:
3470 omxvideodec: Use "video/x-raw-yuv" as src template caps instead of strict I420 caps
3472 2011-08-10 09:56:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3474 * omx/gstomxvideoenc.c:
3475 omxvideoenc: Set the state back to StateLoaded even if an error happened
3477 2011-08-10 09:49:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3480 omx: Don't hold any locks while calling OMX_SendCommand()
3481 It might call into one of the callbacks and lead to deadlocks, e.g.
3482 with the Qualcomm OMX implementation.
3484 2011-08-10 09:32:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3489 2011-08-10 09:23:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3492 omx: Reset pending reconfigure output ports when changing the state from Executing to any lower state
3494 2011-08-10 09:08:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3497 omx: Fix crash when setting last error after the ports were freed
3499 2011-08-10 09:03:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3502 omx: Free component structure
3504 2011-08-10 09:02:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3507 omx: Make component destruction safer
3509 2011-08-10 08:53:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3512 omx: Set pAppPrivate of buffers to NULL when deallocating buffers
3513 This prevents usage of freed memory later if the OMX component
3514 has weird behaviour.
3516 2011-08-10 08:52:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3518 * omx/gstomxvideodec.c:
3519 omxvideodec: Set the state back to StateLoaded even if an error happened
3521 2011-08-10 08:51:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3524 omx: Add some assertions to check if the buffer pAppPrivate is still correct
3526 2011-08-08 13:04:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3529 omx: Add parenthesis at correct places in the struct init macro
3531 2011-08-08 12:12:58 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3534 omx: Only prevent setting a higher state if the component is in an error state
3536 2011-08-03 16:02:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3538 * omx/gstbasevideodecoder.c:
3539 basevideodecoder: Use the cached video frame size instead of recalculating it
3541 2011-08-03 15:35:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3544 omx: Improve debugging in param/config getter/setter wrappers
3546 2011-08-03 13:10:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3548 * omx/gstomxvideodec.c:
3549 omxvideodec: Don't abort if the color format is not supported but give a useful error message
3551 2011-08-02 15:14:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3553 * omx/gstomxh263enc.c:
3554 * omx/gstomxh264enc.c:
3555 * omx/gstomxmpeg4videoenc.c:
3556 * omx/gstomxvideoenc.c:
3557 omxvideoenc: Don't fail if setting the bitrate or profile is not supported by the component
3558 Also always set/get the profile, even if there are no peer caps.
3560 2011-08-02 15:14:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3562 * omx/gstbasevideoencoder.c:
3563 basevideoencoder: Make access to the list of frames threadsafe
3565 2011-08-01 13:22:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3569 omx: Add a hacks flag for the Qualcomm 7x30 OMX_FillThisBuffer() race and make it optional
3571 2011-07-29 13:56:59 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3574 omx: Add workaround for QCOM 7x30 race condition
3576 2011-07-29 12:06:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3580 * omx/gstomxh263enc.c:
3581 * omx/gstomxh263enc.h:
3582 omxh263enc: Add H.263 encoder element
3584 2011-07-29 11:26:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3586 * omx/gstomxmpeg4videoenc.c:
3587 omxmpeg4videoenc: Add support for setting profile/level via caps
3589 2011-07-28 14:14:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3591 * omx/gstomxh264enc.c:
3592 omxh264enc: Add support for setting profile/level via caps
3594 2011-07-28 12:58:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3596 * omx/gstomxvideoenc.c:
3597 omxvideoenc: Add support for forcing the next frame to be a keyframe
3599 2011-07-28 11:54:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3601 * omx/gstomxvideoenc.c:
3602 * omx/gstomxvideoenc.h:
3603 omxvideoenc: Add support for setting bitrate/quantization related parameters
3605 2011-07-28 10:23:08 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3609 omx: Add wrapper functions for OMX_[GS]et{Config,Parameter}
3611 2011-07-28 09:54:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3615 omx: Add macro to initialize OpenMAX structures
3617 2011-07-28 09:08:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3619 * omx/gstomxvideoenc.c:
3620 omxvideoenc: Don't output 0-byte buffers
3622 2011-07-25 15:05:08 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3625 omx: Ensure that the pAppPrivate pointer in OMX buffers is set correctly
3627 2011-07-25 13:19:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3629 * omx/gstomxvideodec.c:
3630 * omx/gstomxvideoenc.c:
3631 omxvideo{enc,dec}: Only set/unset flushing state on ports if they were created already
3633 2011-07-25 12:01:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3637 * omx/gstomxwmvdec.c:
3638 * omx/gstomxwmvdec.h:
3639 omxwmvdec: Add WMV video decoder element
3641 2011-07-25 11:44:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3645 * omx/gstomxh263dec.c:
3646 * omx/gstomxh263dec.h:
3647 omxh263dec: Add H.263 decoder element
3649 2011-07-25 11:32:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3653 * omx/gstomxh264enc.c:
3654 * omx/gstomxh264enc.h:
3655 omxh264enc: Add H.264 encoder element
3657 2011-07-25 10:48:58 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3659 * omx/gstomxvideodec.c:
3660 omxvideodec: Try harder to deallocate the buffers after errors happened
3662 2011-07-25 10:47:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3664 * omx/gstomxvideoenc.c:
3665 omxvideoenc: Try harder to deallocate the buffers after errors happened
3667 2011-07-25 10:46:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3670 omx: Deallocate port buffers before freeing the component
3671 They should be deallocated by the caller before reaching the
3672 Loaded state but to be on the safe side we will make sure
3673 they're really deallocated here.
3675 2011-07-21 11:15:14 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3677 * omx/gstomxvideoenc.c:
3678 omxvideoenc: Add initial support for stride conversion
3680 2011-07-21 10:38:26 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3682 * omx/gstomxh264dec.c:
3683 * omx/gstomxmpeg4videodec.c:
3684 * omx/gstomxmpeg4videoenc.c:
3685 omx: Set default roles for the components if none were set from the config file
3687 2011-07-21 10:36:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3690 omx: Failure to set the component role is fatal
3692 2011-07-21 07:53:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3694 * omx/gstomxvideoenc.c:
3695 omxvideoenc: Add support for setting codec_data on the srcpad caps
3697 2011-07-21 07:44:34 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3699 * omx/gstomxvideoenc.c:
3700 omxvideoenc: Free/drop GstVideoFrames that resulted in an empty buffer
3702 2011-07-21 07:44:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3704 * omx/gstbasevideoencoder.c:
3705 basevideoencoder: Allow finishing of frames with no src_buffer to drop/free the GstVideoFrame
3707 2011-07-21 07:31:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3709 * omx/gstomxvideoenc.c:
3710 omxvideoenc: Remove obsolete TODO comment
3712 2011-07-20 11:09:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3716 omx: Use libgstopenmax.so for the plugin filename and openmax for the plugin name
3717 Resolves conflicts with gst-openmax.
3719 2011-07-20 08:34:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3725 * omx/gstomxmpeg4videoenc.c:
3726 * omx/gstomxmpeg4videoenc.h:
3727 * omx/gstomxvideoenc.c:
3728 * omx/gstomxvideoenc.h:
3729 omxvideoenc: Add video encoder base class and MPEG4 video encoder
3730 Unfortunately requires lots of hacks again to work properly with
3733 2011-07-20 10:39:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3735 * omx/gstbasevideoencoder.c:
3736 basevideoencoder: Only get caps from the subclass if they were not set yet by the subclass
3738 2011-07-20 09:25:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3740 * omx/gstbasevideoencoder.c:
3741 * omx/gstbasevideoencoder.h:
3742 basevideoencoder: Delay sending of serialized sink events until finish_frame()
3744 2011-07-20 09:09:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3746 * omx/gstbasevideoencoder.c:
3747 * omx/gstbasevideoencoder.h:
3748 basevideoencoder: Add ::reset vfunc and handle ::reset/::finish the same way as in the decoder
3750 2011-07-19 12:50:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3752 * omx/gstbasevideoencoder.c:
3753 basevideoencoder: Use a temporary GstVideoState until the subclass accepted the caps
3754 Also store the caps in the GstVideoState and assume a PAR of 1/1 instead
3755 of 0/1 if no PAR is specified in the caps.
3757 2011-07-19 12:29:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3760 * omx/gstomxvideodec.c:
3761 omx: Improve debug output a bit
3763 2011-07-19 10:33:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3767 * omx/gstomxvideodec.c:
3768 omx: Rework port reconfiguration again and only use the Bellagio specific hacks with Bellagio
3769 We only reconfigure ports that need to be reconfigured now instead of
3772 2011-07-19 10:33:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3777 * omx/gstomxvideodec.c:
3778 * omx/gstomxvideodec.h:
3779 omx: Add infrastructure to enable special hacks for broken OpenMAX implementations
3781 2011-07-18 13:10:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3784 omx: When acquiring a buffer from an input port always wait until all output ports are reconfigured
3786 2011-07-18 08:41:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3788 * omx/gstomxvideodec.c:
3789 omxvideodec: Add support for converting between omx and gst rowstrides
3791 2011-07-14 10:34:09 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3794 omx: Provide all buffers to output ports after enabling them
3796 2011-07-14 08:29:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3798 * omx/gstomxvideodec.c:
3799 omxvideodec: Add support for NV12 / OMX_COLOR_FormatYUV420SemiPlanar
3801 2011-07-14 07:58:41 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3803 * omx/gstomxvideodec.c:
3804 * omx/gstomxvideodec.h:
3805 omxvideodec: Only flush the component ports after we passed input to them
3807 2011-07-13 21:19:34 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3809 * omx/gstomxvideodec.c:
3810 omxvideodec: Only change states downwards if an upper state was reached
3812 2011-07-13 20:37:02 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3816 * omx/gstomxvideodec.c:
3817 * omx/gstomxvideodec.h:
3818 omx: Add support for setting the component-role
3820 2011-07-13 20:22:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3824 * omx/gstomxvideodec.c:
3825 omx: Improve error reporting by formatting the error codes better and also providing their string representation
3827 2011-07-13 14:36:14 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3830 build: Dist autogen.sh
3832 2011-07-13 14:35:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3836 build: Only require GStreamer >= 0.10.29 and GLib >= 2.16
3838 2011-07-13 14:04:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3841 build: Dist gstomx.conf
3843 2011-07-13 14:04:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3846 build: Clean _stdint.h on "make distclean"
3848 2011-07-13 14:02:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3850 * omx/gstomxvideodec.c:
3851 omxvideodec: Fix typo
3853 2011-07-13 13:59:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3858 2011-07-13 12:46:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3860 * omx/gstomxvideodec.c:
3861 omxvideodec: Set SYNCFRAME flag on the OMX buffers for non-delta units
3863 2011-07-13 12:37:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3865 * omx/gstomxvideodec.c:
3866 omxvideodec: Free all pending frames when resetting the decoder
3867 Workaround for https://bugzilla.gnome.org/show_bug.cgi?id=654529
3869 2011-07-13 09:59:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3871 * omx/gstomxvideodec.c:
3872 omxvideodec: Handle output buffers without a corresponding GstVideoFrame more gracefully
3873 This can happen on EOS in some cases and when the input is not
3876 2011-07-13 09:31:22 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3878 * omx/gstomxvideodec.c:
3879 omxvideodec: Fix deadlock when finishing old frames that are left over by the decoder
3881 2011-07-12 11:37:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3883 * omx/gstomxh264dec.c:
3884 omxh264dec: It's called H.264, not H264
3886 2011-07-12 11:36:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3888 * omx/gstomxh264dec.c:
3889 * omx/gstomxmpeg4videodec.c:
3890 * omx/gstomxvideodec.c:
3891 * omx/gstomxvideodec.h:
3892 omxvideodec: Make sink/src pad template caps configurable
3894 2011-07-12 11:13:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3897 omx: Allow to set a preferred configuration directory with the GST_OMX_CONFIG_DIR environment variable
3899 2011-07-12 10:55:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3901 * omx/gstomxh264dec.c:
3902 * omx/gstomxmpeg4videodec.c:
3903 * omx/gstomxvideodec.c:
3904 omxvideodec: Make core/component-name and in/outport index configurable
3906 2011-07-12 10:05:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3911 omx: Add initial version of configuration system
3912 This now only registers elements that are specified in the
3914 The configuration file is a keyfile in the first XDG configuration
3915 directory with the name gstomx.conf.
3917 2011-07-12 08:53:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3921 * omx/gstomxh264dec.c:
3922 * omx/gstomxh264dec.h:
3923 * omx/gstomxh264videodec.c:
3924 * omx/gstomxh264videodec.h:
3925 omxh264dec: Rename from omxh264videodec to omxh264dec
3927 2011-07-12 08:40:48 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3929 * omx/gstomxh264videodec.c:
3930 omxh264videodec: Require alignment=au and stream-format={avc,bytestream}
3932 2011-07-11 12:59:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3934 * omx/gstbasevideodecoder.c:
3935 basevideodecoder: First inform subclass about resetting before resetting/freeing all internal state
3936 The subclass might want to access the old state.
3938 2011-07-11 12:36:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3940 * omx/gstbasevideodecoder.c:
3941 basevideodecoder: Track present position on discont before resetting it
3943 2011-07-11 11:52:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3945 * omx/gstbasevideodecoder.c:
3946 basevideodecoder: Also protect the list of pending frames from concurrent access when pushing all pendings events
3948 2011-07-11 11:28:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3950 * omx/gstbasevideocodec.c:
3951 * omx/gstbasevideocodec.h:
3952 * omx/gstbasevideodecoder.c:
3953 basevideocodec: Protect access to the list of pending frames with the object lock
3954 This is required if ::finish_frame() and all buffer output happens
3955 on a different thread than the sinkpad streaming thread.
3957 2011-07-11 09:35:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3959 * omx/gstbasevideodecoder.c:
3960 basevideodecoder: Set the correct lists to NULL after freeing
3962 2011-07-11 08:54:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3964 * omx/gstbasevideodecoder.c:
3965 basevideodecoder: Work with a copy of the GstVideoState in setcaps until the caps are accepted
3966 Also fix a refcount problem with the codec_data.
3968 2011-07-12 08:34:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3972 * omx/gstomxh264videodec.c:
3973 * omx/gstomxh264videodec.h:
3974 omxh264videodec: Add h.264 video decoder
3976 2011-07-12 08:29:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3978 * omx/gstomxmpeg4videodec.c:
3979 omxmpeg4videodec: Fix debug category name
3981 2011-07-09 11:41:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3984 * omx/gstbasevideocodec.h:
3985 * omx/gstbasevideodecoder.c:
3986 * omx/gstbasevideoencoder.c:
3987 * omx/gstbasevideoutils.c:
3988 * omx/gstbasevideoutils.h:
3989 basevideo: Move the utils from the codec header to its own header
3991 2011-07-09 11:32:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3993 * omx/gstbasevideocodec.c:
3994 * omx/gstbasevideodecoder.c:
3995 basevideo: Use GSlice for allocating GstVideoFrame and don't duplicate code in the decoder base class
3997 2011-07-09 11:05:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
3999 * omx/gstomxvideodec.c:
4000 omxvideodec: Use the destroy notify to free the coder_hook
4002 2011-07-09 10:57:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4004 * omx/gstbasevideocodec.c:
4005 * omx/gstbasevideocodec.h:
4006 * omx/gstbasevideodecoder.c:
4007 basevideo: Add destroy notify for the coder_hook to prevent memory leaks
4010 2011-07-09 10:44:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4013 basevideo: Fix GType names to not conflict with the public video base classes
4014 It's still not possible to include headers of both in the same file
4015 or compile/link both into the same plugin but that shouldn't be
4018 2011-07-08 15:42:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4020 * omx/gstomxvideodec.c:
4021 omxvideodec: Fix some minor memory leaks
4023 2011-07-08 15:25:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4027 * omx/gstomxvideodec.c:
4028 omx: Rework port reconfiguration
4029 We always reconfigure all ports now if the settings of one
4030 port changes to prevent lots of race conditions, dropped
4031 frames and similar issues.
4033 2011-07-08 13:16:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4035 * omx/gstomxvideodec.c:
4036 * omx/gstomxvideodec.h:
4037 omxvideodec: Use the frames storage of the base class instead of implementing our own
4038 They could get out of sync and we could store already destroyed frames.
4040 2011-07-07 12:51:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4043 omx: Clarify GQueue/GPtrArray element types
4045 2011-07-07 12:23:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4049 * omx/gstomxvideodec.c:
4050 omx: Add more checks to acquire_buffer() and return the current state additional to the buffer
4051 Also refactor the code flow in the video decoder for this. This makes
4052 the usage of acquire_buffer() easier and more atomic.
4054 2011-07-07 12:22:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4056 * omx/gstomxvideodec.c:
4057 omxvideodec: Also flush/unflush the input port when changing the state PAUSED<->READY
4059 2011-07-07 12:21:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4062 omx: Don't broadcast port->port_cond after allocating buffers successfully
4063 Allocating buffers must happen while no thread is waiting for the
4064 cond and especially must happen from the thread that would acquire
4065 buffers from the port.
4067 2011-07-07 11:27:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4069 * omx/gstomxvideodec.c:
4070 omxvideodec: Don't leak the codec_data after sending it
4072 2011-07-07 10:27:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4075 omx: Always check if the component is in an error state before waiting for a condition variable to be signalled
4076 Otherwise we might wait forever because nothing is going to signal
4077 the condition variable anymore.
4079 2011-07-07 10:22:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4082 omx: Always hold port->port_lock before signalling port->port_cond when notifying about errors
4083 Otherwise a port might be in the critical section, has checked the error state
4084 already but waits after port->port_cond is signalled, which will lead
4087 2011-07-07 10:07:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4089 * omx/gstomxvideodec.c:
4090 omxvideodec: Remove reconfiguration test hack
4092 2011-07-06 13:27:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4095 omx: Improve debug output a bit
4097 2011-07-06 13:26:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4100 omx: Always try to deallocate buffers, even if there's a component error
4102 2011-07-06 13:26:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4105 omx: Use G_USEC_PER_SEC for clarity instead of 1000000
4107 2011-07-06 13:19:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4109 * omx/gstomxvideodec.c:
4110 omxvideodec: Error out if the GStreamer allocated buffer is smaller than the OpenMAX output buffer
4111 Usually this must never happen but currently it happens during reconfigurations
4112 because of a race condition. Still it's better than crashing.
4114 2011-07-06 10:40:13 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4118 omx: Don't use port_def.bEnabled to check if the Enable/Disable command is finished
4119 bEnabled should be set immediately after sending the command, it's only
4120 Bellagio that waits until the command is finished before setting it.
4122 2011-07-06 10:30:11 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4124 * omx/gstomxvideodec.c:
4125 omxvideodec: Remove obsolete FIXME comment
4127 2011-07-06 10:29:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4131 omx: Improve error handling and reporting
4133 2011-07-06 08:48:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4135 * omx/gstomxmpeg4videodec.c:
4136 * omx/gstomxvideodec.c:
4137 * omx/gstomxvideodec.h:
4138 omxvideodec: Make the inport and outport index configurable by the subclass
4140 2011-06-28 08:51:23 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4145 * omx/gstomxmpeg4videodec.c:
4146 * omx/gstomxmpeg4videodec.h:
4147 * omx/gstomxvideodec.c:
4148 * omx/gstomxvideodec.h:
4149 omx: Add initial version of OpenMAX framework, video decoder base class and MPEG4 video decoder
4150 This currently hardcodes a lot of stuff but works at least.
4151 Also adds a generic framework for handling OpenMAX cores, components
4154 2011-06-28 11:47:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4156 * omx/gstbasevideocodec.c:
4157 * omx/gstbasevideocodec.h:
4158 * omx/gstbasevideodecoder.c:
4159 * omx/gstbasevideodecoder.h:
4160 basevideodecoder: Don't reorder serialized src events
4161 And allow to drop EOS by the subclass if ::finish returns
4165 2011-06-27 09:41:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4167 * omx/gstbasevideocodec.c:
4168 * omx/gstbasevideocodec.h:
4169 * omx/gstbasevideodecoder.c:
4170 basevideo: Add the caps to the GstVideoState and clean up caps/codec_data properly
4172 2011-06-27 09:37:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4174 * omx/gstbasevideocodec.c:
4175 * omx/gstbasevideocodec.h:
4176 * omx/gstbasevideodecoder.c:
4177 * omx/gstbasevideodecoder.h:
4178 * omx/gstbasevideoencoder.c:
4179 * omx/gstbasevideoencoder.h:
4180 * omx/gstbasevideoutils.c:
4181 basevideo: Add video encoder/decoder base classes from gst-plugins-bad
4183 2011-06-21 11:17:35 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4185 * omx/openmax/OMX_Audio.h:
4186 * omx/openmax/OMX_Component.h:
4187 * omx/openmax/OMX_ComponentExt.h:
4188 * omx/openmax/OMX_ContentPipe.h:
4189 * omx/openmax/OMX_Core.h:
4190 * omx/openmax/OMX_CoreExt.h:
4191 * omx/openmax/OMX_IVCommon.h:
4192 * omx/openmax/OMX_Image.h:
4193 * omx/openmax/OMX_Index.h:
4194 * omx/openmax/OMX_IndexExt.h:
4195 * omx/openmax/OMX_Other.h:
4196 * omx/openmax/OMX_Types.h:
4197 * omx/openmax/OMX_Video.h:
4198 * omx/openmax/OMX_VideoExt.h:
4199 openmax: Add OpenMAX IL 1.1.2 headers