Commit graph

3245 commits

Author SHA1 Message Date
Mark Nauwelaerts c9d3f32cc9 audioencoder: plug some leaks 2012-09-06 12:16:59 +02:00
Mark Nauwelaerts bd67736851 rtpbasedepay: indicate packet loss using GAP event 2012-09-05 12:02:32 +02:00
Mark Nauwelaerts cd2e795154 videooverlaycomposition: add some _get_argb and _get_ayuv functions
... that will handle automatic conversion to indicated format.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=683180
2012-09-05 10:15:51 +02:00
Wim Taymans 668ce33384 update for basesink change 2012-09-04 12:18:11 +02:00
Tim-Philipp Müller ba7d738d9e video/x-xvid -> video/mpeg,mpegversion=4 2012-09-03 18:56:26 +01:00
Jan Schmidt 041c16b47d On a still-frame begin message, drain out the decoder and send it.
Fixes still frame handling on DVDs
2012-09-02 23:19:09 -07:00
Jan Schmidt acadc94279 Revert "videodecoder: Send serialised events immediately, after we're pre-rolled."
This reverts commit ef5316fbb0.
2012-09-02 22:59:58 -07:00
Tim-Philipp Müller 7c2e7b1a4f text/plain + text/x-pango-markup -> text/x-raw 2012-09-02 02:45:41 +01:00
Tim-Philipp Müller a99a1042b9 gst_message_new_duration() -> gst_message_new_duration_changed() 2012-09-02 01:27:17 +01:00
Jan Schmidt 5dafecad31 audiodecoder: Handle GAP events in place of segment updates
Use them to trigger generation of an empty output buffer or
to send pending events downstream and trigger pre-roll
2012-08-31 12:42:12 -07:00
Jan Schmidt ef5316fbb0 videodecoder: Send serialised events immediately, after we're pre-rolled.
Only hold back events until the first buffer is generated, then just
send them directly. Otherwise, important events like 'still-frame' are
held forever, waiting for a frame that'll never arrive.
2012-08-31 12:40:36 -07:00
Mark Nauwelaerts 89228e911c videooverlaycomposition: allow more formats for rectangle pixel data
... adding AYUV, and allowing for ARGB or RGBA endian-independent.
2012-08-30 12:12:39 +02:00
Mark Nauwelaerts 9262e00007 videodecoder: parsing loop must ensure for a current frame 2012-08-28 14:31:06 +02:00
Mark Nauwelaerts dd4836a8d1 videooverlaycomposition: stricter check on input variables 2012-08-28 11:01:46 +02:00
Tim-Philipp Müller 7970a0ac71 docs: add docs for some of the video info macros 2012-08-24 17:23:08 +01:00
Wim Taymans a994ebcf1b videoencoder: allow 0 sized output frames
Allow 0 sized frames in gst_video_encoder_allocate_output_frame(). Theora
encodes repeat frames, for example, as 0 sized buffers.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681196
2012-08-24 16:56:00 +02:00
Tim-Philipp Müller 392d3225ce rtp: fix buffer leak when gst_rtp_buffer_map() fails because of broken data
Makes libs/rtp unit test valgrind clean.
2012-08-22 09:20:55 +01:00
Wim Taymans 1968127650 rtp: Fix extension data support
Allocate header, payload and padding in separate memory blocks in
gst_rtp_buffer_allocate().
don't use part of the payload data as storage for the extension data but store
it in a separate memory block that can be enlarged when needed.
Rework the one and two-byte header extension to make it reserve space for the
extra extension first.
Fix RTP unit test. Don't map the complete buffer or make assumptions on the
memory layout of the underlaying implementation. We can now always add extension
data because we have a separate memory block for it.
2012-08-22 09:56:39 +02:00
Wim Taymans 2d6fd0f72d rtp: fix extension length calculation 2012-08-22 09:56:39 +02:00
Wim Taymans f548e58385 rtp: remove unused field 2012-08-22 09:56:39 +02:00
Tim-Philipp Müller 5b715cdb90 video/x-dvd-subpicture -> subpicture/x-dvd 2012-08-20 21:36:15 +01:00
Wim Taymans 211b8b6004 video-frame: only copy the visible region
Make sure to only copy the visible region instead of assuming that the complete
stride is visible (which is not the case when padding is used).
2012-08-20 16:17:27 +02:00
Wim Taymans 6702a2f64c videometa: add more debug 2012-08-20 16:14:07 +02:00
Wim Taymans 9583d1bfc9 video-info: update padding
Update the alignement structure with the new padding values because they could
have been changed when the padding was increased to align the strides.
2012-08-20 11:12:31 +02:00
Wim Taymans 9a2344c2e5 video: expose gst_video_info_align
Expose the gst_video_info_align function that adds padding and does stride
alignment on a GstVideoInfo. Move this previously private function to
video-info.co
Move the definition of the alignment structure to video.h where it can be picked
up by both the bufferpool and the video-info.
2012-08-20 10:50:59 +02:00
Wim Taymans f56e1222da videopool: improve alignment
Check the alignment of the strides in gst_video_info_align and increase the
padding on the frame until the strides are aligned.
2012-08-20 10:25:39 +02:00
Wim Taymans ca77174f91 videopool: improve alignment
Align each plane instead of each component, we might otherwise apply the
alignment adjustement twice if a plane contains multiple components.
2012-08-20 10:06:15 +02:00
Wim Taymans 2bffebcb02 video-format: fix docs a little 2012-08-20 10:06:15 +02:00
Sebastian Dröge bdc056c12d video: Add methods to return a list of all pending GstVideoCodecFrames 2012-08-16 12:13:25 +02:00
Tim-Philipp Müller d1dc65d6ee fft: shouldn't ever call exit()
Libraries shouldn't ever just call exit().

Let's hope we'll remember to cherry-pick this commit again
if we ever update these files.

https://bugzilla.gnome.org/show_bug.cgi?id=681904
2012-08-16 00:11:00 +01:00
Edward Hervey def07410ef audiobasesink: Avoid resetting ringbuffer when not needed
If the ringbuffer was configured to the same caps as previously, we
don't need to reconfigure it.
2012-08-14 18:56:00 +02:00
Víctor Manuel Jáquez Leal f7f0c55e5f audiodecoder: getter for allocator
Sometimes the decoder would use the allocator for something else than just
allocating output buffers, for example, querying different parameters.

This patch expose a getter accessor for the negotiated memory allocator.
2012-08-14 15:47:34 +02:00
Víctor Manuel Jáquez Leal 936ec3eb8f audioencoder: getter for allocator
Sometimes the encoder would use the allocator for something else than just
allocating output buffers, for example, querying different parameters.

This patch expose a getter accessor for the negotiated memory allocator.
2012-08-14 15:47:29 +02:00
Víctor Manuel Jáquez Leal c02dcda885 videoencoder: getter for allocator
Sometimes the encoder would need to use the allocator for something else than
just allocating output buffers, for example, querying different parameters.

This patch expose a getter accessor for the negotiated memory allocator.
2012-08-14 15:47:23 +02:00
Víctor Manuel Jáquez Leal efe9e31b34 videodecoder: getters for pool and allocator
Sometimes the decoder would need to use the pool or the allocator for
something else than just allocating output buffers. For example, the querying
for different parameters, such as asking for a bigger number of buffers to
allocate in the pool.

This patch expose a two getters accessors: one for the buffer pool and the
other for the memory allocator.
2012-08-14 15:47:04 +02:00
Tim-Philipp Müller 2ff4d2efe3 audioencoder: return TRUE from _set_output_format() if all is good
Fixes not-negotiated errors in wavpackenc unit test.
2012-08-13 23:34:52 +01:00
Wim Taymans e6b606cfa3 discovere: also parse encoded formats
The video library can now also parse encoded formats so use this to fill up the
width/height and other properties.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681535
2012-08-13 11:27:47 +02:00
Wim Taymans 1e8827ed33 discoverer: remove \n from debug statement 2012-08-13 11:27:26 +02:00
Tim-Philipp Müller 26ec6d49a1 docs: expand GstDiscoverer::discovered signal docs a little 2012-08-10 17:08:31 +01:00
Evan Nemerson a6fc7732c1 appsink, appsrc: skip set_callbacks APIs for introspection
https://bugzilla.gnome.org/show_bug.cgi?id=678301
2012-08-10 16:07:04 +01:00
Tim-Philipp Müller d1299d1357 videodecoder: fix seeking again
Add missing break in FLUSH_STOP case.
2012-08-09 19:57:49 +01:00
Sebastian Dröge 62ec7f837d audioencoder: Let global tag events be handled the same way as other events 2012-08-09 17:06:31 +02:00
Sebastian Dröge e9fbba63b5 audiodecoder: Let global tag events be handled the same way as other events 2012-08-09 16:55:19 +02:00
Sebastian Dröge 2a1f8a4da3 audio: Merge upstream stream tags 2012-08-09 16:24:47 +02:00
Sebastian Dröge b141bfed60 video: Merge upstream stream tags 2012-08-09 16:24:24 +02:00
Sebastian Dröge 9ffb579b75 videodecoder: Add API to conveniently handle tags 2012-08-09 16:02:42 +02:00
Sebastian Dröge 3c915afc39 videoencoder: Add API to conveniently handle tags 2012-08-09 16:02:15 +02:00
Sebastian Dröge 7f0e65bb46 audio: Always keep a complete taglist around
Otherwise updates to the tags will cause non-updated
tags to be lost downstream.
2012-08-09 15:48:03 +02:00
Sebastian Dröge bc4d923982 audioencoder: Add negotiate vfunc that is used to negotiate with downstream
The default implementation negotiates a buffer pool and allocator
with downstream.
2012-08-09 15:27:33 +02:00
Sebastian Dröge 9309272309 audioencoder: Decouple setting of output format and downstream negotiation
This makes the audio encoder base class more similar to the video
encoder base class.
2012-08-09 15:21:01 +02:00