Commit graph

3646 commits

Author SHA1 Message Date
Sebastian Dröge
b4365551d0 tagdemux: Add support for group-id in the stream-start event 2013-07-22 15:24:50 +02:00
Wim Taymans
5732ced692 video-info: respect stride alignment
Increase the left padding so that we don't cause stride alignments later when we
apply the padding.

https://bugzilla.gnome.org/show_bug.cgi?id=694299
2013-07-19 10:47:27 +02:00
Wim Taymans
fad4589579 Revert "video: respect stride alignment when calculating planes offsets"
This reverts commit 28e1dadbfa.

Incrementing the offset to make the plane aligned causes the image to be
incompatible with what Xv expects. Rather that forcing a memcpy in the
xvimagesink we would like to do adjust the left padding instead.
2013-07-19 10:43:38 +02:00
Arnaud Vrac
28e1dadbfa video: respect stride alignment when calculating planes offsets
https://bugzilla.gnome.org/show_bug.cgi?id=694299
2013-07-18 16:23:33 +02:00
Edward Hervey
0bb5065b62 id3: Use debug category and show FIXMEs
Allows spotting faster un-parsed tags
2013-07-18 07:45:47 +02:00
Sebastian Dröge
97fc9b5f86 videometa: Add docs to the region of interest meta functions 2013-07-17 11:43:14 +02:00
Olivier Crête
b550764da8 tagdemux: Put the modified time back in the time part of the segment
https://bugzilla.gnome.org/show_bug.cgi?id=704301
2013-07-16 14:02:40 -04:00
Wim Taymans
b0eb99baaa meta: fix ROI meta getter 2013-07-16 16:54:10 +02:00
Sebastian Dröge
92b685eb74 video: Add support for NV24 color format
This is semi-planar 4:4:4 YUV.

https://bugzilla.gnome.org/show_bug.cgi?id=703259
2013-07-16 11:47:59 +02:00
Sebastian Dröge
95605a79c9 videometa: Add to the docs and make function names more consistent with others 2013-07-16 10:09:27 +02:00
Miguel Casas-Sanchez
38837bd468 videometa: Add Region Of Interest meta
https://bugzilla.gnome.org/show_bug.cgi?id=704070
2013-07-16 10:04:00 +02:00
Olivier Crête
1ed1792560 riff-media: Add 'png ' fourcc
On top of mpng, MPNG, PNG, there is also png it seems

https://bugzilla.gnome.org/show_bug.cgi?id=704291
2013-07-15 17:09:16 -04:00
Benjamin Gaignard
84a0934883 allocators: dmabuf: allow testing allocator type
In decide_allocation function some element may when to test the proposed allocator.
For example like this:
if (gst_query_get_n_allocation_params (query) > 0) {
	GstAllocator * allocator;
	GstAllocationParams params;
	gst_query_parse_nth_allocation_param (query, 0, &allocator, &params);
	if (g_strcmp0(allocator->mem_type, GST_ALLOCATOR_DMABUF) == 0)
		GST_DEBUG("got dmabuf allocator");
	else
		GST_DEBUG("got an other allocator");
}

https://bugzilla.gnome.org/show_bug.cgi?id=703659
2013-07-15 15:43:07 +02:00
Sebastian Dröge
c6f8220920 rtspconnection: Create a new write GSource after removing it
After removal, a GSource is destroyed and can never be attached
again to a main context. We need to create a new one instead.

https://bugzilla.gnome.org/show_bug.cgi?id=704198
2013-07-14 18:11:59 +02:00
Wim Taymans
6da245962d videometa: fix header formatting 2013-07-12 09:37:51 +02:00
Reynaldo H. Verdejo Pinochet
0a914f8fe2 riff: Provide correct media type for XSub
Xsub (fourcc DXSB) is a subpicture stream used for embeded
subtitles on divx files. This provides a correct media type
for them instead of just video/x-avi-unknown.
2013-07-11 12:42:48 -04:00
Sreerenj Balachandran
c9e65dbccc colorbalance: Fix the typo in base_init(). 2013-07-05 10:00:21 +02:00
Marcin Lewandowski
cd00206059 tag: ignore malformed ID3v2 TDAT frames
Just skip them, don't cause criticals.

https://bugzilla.gnome.org/show_bug.cgi?id=703283
2013-07-05 00:47:08 +01:00
Vincent Penquerc'h
065f1603b0 pbutils: allow describing unfixed caps if they share the same media type
Caps description and missing plugin code does not really need caps to
be fixed, and indeed they may not be if giving encodebin unfixed caps
that correspond to an unknown encoder or muxer.

So we relax the check, and allow unfixed caps if all the structures
refer to the same media type.
2013-07-01 10:51:40 +01:00
Sebastian Dröge
a00f4f239a videodecoder: Send all pending events with type < CAPS before sending caps 2013-07-01 11:16:34 +02:00
Mathieu Duponchelle
798ee17675 videoencoder: Send all pending events with type < CAPS before sending caps.
https://bugzilla.gnome.org/show_bug.cgi?id=703196
2013-07-01 11:15:21 +02:00
Sebastian Dröge
85eac2c31c video(enc|dec)oder: Don't return not-negotiated if flushing
If the pad is flushing after a failed negotiation, return
GST_FLOW_FLUSHING instead from finish_frame().

https://bugzilla.gnome.org/show_bug.cgi?id=701763
2013-06-30 18:17:47 +02:00
Sebastian Dröge
50fd867a43 audioencoder: Don't return not-negotiated if flushing
If the pad is flushing after a failed negotiation, return
GST_FLOW_FLUSHING instead from finish_frame().

https://bugzilla.gnome.org/show_bug.cgi?id=701763
2013-06-30 18:17:42 +02:00
Edward Hervey
a9e4750674 pbutils: descriptions: Allow smart codec tag handling
We already have internally the information on what type of stream (audio,
video, container, subtitle, ...) a certain caps is.
Instead of forcing callers to specify which CODEC_TAG category a certain
caps is, use that information to make a smart choice.

Does not break previous behaviour of gst_pb_utils_add_codec_description_to_tag_list
(if tag is specified it will be used, if caps is invalid it will be rejected,
...).

https://bugzilla.gnome.org/show_bug.cgi?id=702215
2013-06-28 07:09:53 +02:00
Edward Hervey
b81ca93de2 xmptag: Add a debug category
Instead of using the default category
2013-06-28 07:09:34 +02:00
Ognyan Tonchev
25fdde908a rtpbasepayload: Do not leak the event when segment is delayed
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=703119
2013-06-26 15:45:30 +02:00
Wim Taymans
32a1deb404 rtsp: make read uncancelable when reading a message
When we start to read a message, we need to continue reading until the end of
the message or else we lose track and cause parse errors. Use a variable
may_cancel to avoid cancelation after we read the first byte until we have
the complete message.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=703088
2013-06-26 15:06:00 +02:00
Mathieu Duponchelle
97e68b36c7 audiodecoder: Don't return not-negotiated if flushing
If the pad is flushing after a failed negotiation, return GST_FLOW_FLUSHING.

https://bugzilla.gnome.org/show_bug.cgi?id=701763
2013-06-25 12:51:55 -04:00
Sebastian Dröge
d28d2b37be pbutils: Add VP9 description 2013-06-21 19:05:12 +02:00
Edward Hervey
65624afd8f videodecoder: Fix drop frame handling at startup
In the unlikely case that the decoder drops a frame before the first
input frame is outputted, use the input segment (since it wasn't
carried over to the output segment yet)

https://bugzilla.gnome.org/show_bug.cgi?id=702502
2013-06-21 15:33:30 +02:00
Wim Taymans
bcc5ac5298 rtsp: dispatch when initial buffer has data
When we have data in the inital buffer, dispath the read function to read it
even if the socket has no data to read.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=702652
2013-06-21 11:50:33 +02:00
Wim Taymans
ad6c16fdfc rtsp: manage writer child source better
Only add the write child source when we have something to write or else
we will dispatch forever without doing anything.
2013-06-20 17:28:46 +02:00
Jonas Holmberg
82e5ec553b audioencoder: unref before memset
Unref allocator and input_caps in encoder context before memsetting the
context.
2013-06-19 13:56:28 +02:00
Edward Hervey
420dacb2d5 xmptag: More efficient GSList usage
Instead of constantly appending (which gets more and more expensive), just
prepend to the list (O(1)) and reverse the list before usage.

https://bugzilla.gnome.org/show_bug.cgi?id=702545
2013-06-19 12:01:44 +02:00
Branko Subasic
4dd5c5b808 rtpbuffer: add gst_rtp_buffer_get_payload_bytes
The function gst_rtp_buffer_get_payload can not be used in Python
because it lacks necessary length parameter. This patch adds a new
function, gst_rtp_buffer_get_payload_bytes, to use from Python
bindings. The new function has the advisory "Rename to:" annotation
so it can replace the gst_rtp_buffer_get_payload whan creating
bindings.

The function gst_rtp_buffer_get_extension_bytes is also added. It wraps
gst_rtp_buffer_get_extension_data which doesn't work in Python due to
incomplete annotation and because it returns the length as number of
32-bit words.

https://bugzilla.gnome.org/show_bug.cgi?id=698562
2013-06-18 11:23:40 +02:00
Ognyan Tonchev
f240d34c7e audiobasesrc: add 2 missing gst_buffer_unmap () calls
There are 2 missing calls to gst_buffer_unmap () in the error handling in
create ().

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=702467
2013-06-17 16:34:26 +02:00
Sebastian Dröge
567be29db2 rtspconnection: Make sure to set a sensible default port for the GSocketConnection
Otherwise it will connect to port 0 if no port is given in the URI.

https://bugzilla.gnome.org/show_bug.cgi?id=701798
2013-06-10 15:31:38 +02:00
Sebastian Dröge
ff5d3313d4 Release 1.1.1 2013-06-05 18:31:27 +02:00
Sebastian Dröge
bd62595a75 videodecoder: Change GST_WARNING to a GST_DEBUG
It's completely normal for some decoders to queue 50-60 frames without
it causing any problems, e.g. RPi.
2013-06-04 17:49:55 +02:00
Sebastian Dröge
c06377b385 audioencoder: Remove private copy of gst_audio_info_is_equal()
And improve the public one a bit based on it.
2013-06-01 09:06:22 +02:00
Brendan Long
63961242df rtspconnection: remove functions added in GLib 2.34
g_pollable_stream_read and g_pollable_stream_write were added in GLib 2.34,
but Ubuntu 12.04 and Debian Wheezy still use GLib 2.32.

Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=701316
2013-05-31 14:12:10 +02:00
Sebastian Dröge
5065e76b1c audio: Add gst_audio_info_is_equal() 2013-05-30 23:56:52 +02:00
Wim Taymans
0b933ff87b rtsp: add method to get the TLS connection 2013-05-30 17:31:13 +02:00
Wim Taymans
c0f13c2513 rtsp: let the sockets be reffed by the connection
Don't add an extra ref to the sockets but use that of the connection.
Keep the connection around as an IOStream.
2013-05-30 13:14:46 +02:00
Wim Taymans
2fc85d3980 rtsp: Cleanup the error path
Make sure the watch is removed when we close the read socket because of
an error.
2013-05-30 10:50:42 +02:00
Wim Taymans
ad5632586a rtsp: cleanup the watch reset function 2013-05-30 10:45:42 +02:00
Wim Taymans
07babdd68a rtsp: check if the streams are still active
Don't try to read/write from an inactive stream. When we, for example,
transfer the second connection in tunneling mode, we are not interested anymore
on read/write activity on the old connection.
2013-05-30 10:30:09 +02:00
Wim Taymans
d09028b4c3 rtsp: use child sources instead of using the sockets
Use the source of the pollable input/output streams instead of
accessing the sockets directly.
2013-05-30 07:36:52 +02:00
Wim Taymans
4ada677095 rtsp: fix input/output streams for tunneling 2013-05-30 07:35:18 +02:00
Wim Taymans
4f660c388c rtsp: don't use sockets for blocking
Use the blocking and non-blocking API of the input/output streams instead
of polling the sockets directly. This also allows us to simplify some
code.
2013-05-30 07:35:18 +02:00
Wim Taymans
909e119a23 rtsp: add TLS support
Add flag to select TLS in the transport.
Enable TLS on the socketclient when we use a TLS uri.
2013-05-30 07:35:14 +02:00
Wim Taymans
057bbae6c5 rtspconnection: use the input/output stream of clientconnection
Don't use the raw sockets for RTSP communication but use the IOStream.
This is needed if we are going to use TLS later.
2013-05-30 07:20:51 +02:00
Wim Taymans
2d41ee370c rtsp: set sockets non-blocking 2013-05-30 07:20:51 +02:00
Wim Taymans
a42a7be5df rtsp: use GSocketClient for making connections
Use the GSocketClient API for making connections with the server. This removes a
bit of code and gives us the ability to do TLS later.
2013-05-30 07:20:51 +02:00
Wim Taymans
15f3c995aa Revert "rtspconnection: Use a GSocketAddressNumerator to resolve the addresses"
This reverts commit 15a0bb0a10.

We should be using GSocketClient
2013-05-30 07:20:51 +02:00
Sebastian Dröge
15a0bb0a10 rtspconnection: Use a GSocketAddressNumerator to resolve the addresses
Instead of just trying the first possible resolution we're trying all
resolutions until one works.
2013-05-27 14:53:48 +02:00
Wim Taymans
97784b1563 video-format: fix NV16 unpack
We can just use the NV12 functions, the only difference is the
vertical subsampling.
2013-05-27 11:53:27 +02:00
Wim Taymans
73190bcf79 video-chroma: add interlaced flag 2013-05-27 11:25:09 +02:00
Wim Taymans
0c60f0daa4 video-chroma: add chroma resampler
Add functions to up/downsample chroma in horizontal and vertical
directions. These functions work in-placeand are meant to be used on the
input/output of the pack/unpack functions.
2013-05-27 11:05:07 +02:00
Wim Taymans
2924365020 video: don't perform subsampling while packing
Don't perform subsampling when packing but let this be done by a
separate subsampling step.
2013-05-27 11:05:06 +02:00
Wim Taymans
b5de0552a5 video: move chroma functions to separate file 2013-05-27 11:05:06 +02:00
Wim Taymans
38317e3f09 videometa: fix docs 2013-05-27 11:05:06 +02:00
Sebastian Dröge
c5e9df4b51 videoencoder: Don't require an output state to be set before allocating output buffers 2013-05-25 16:08:06 +02:00
Sebastian Dröge
b8c6413a8e audio: Always provide a buffer in gst_audio_(enc|dec)oder_allocate_output_buffer()
We have no way of tell the caller of the exact error (e.g. if we're flushing),
so will have to wait until the caller uses API that returns a GstFlowReturn,
for example when pushing this buffer.

https://bugzilla.gnome.org/show_bug.cgi?id=700006
2013-05-24 16:54:46 +02:00
Sebastian Dröge
0c2c909497 video: Always provide a buffer in gst_video_(enc|dec)oder_allocate_output_buffer()
We have no way of tell the caller of the exact error (e.g. if we're flushing),
so will have to wait until the caller uses API that returns a GstFlowReturn,
for example when pushing this buffer.

https://bugzilla.gnome.org/show_bug.cgi?id=700006
2013-05-24 16:54:46 +02:00
Alexander Schrab
a049b102da alsasrc: Make using driver timestamps possible
https://bugzilla.gnome.org/show_bug.cgi?id=699744
2013-05-20 11:25:17 +02:00
Benjamin Gaignard
e90e2bb822 dmabuf: Make sure that memory is unmapped before releasing it
Be sure that memory is unmapped before releasing it.

https://bugzilla.gnome.org/show_bug.cgi?id=700411
2013-05-17 09:50:23 +02:00
Tim-Philipp Müller
612e20d4f6 video: make mask arguments to gst_video_format_from_masks() unsigned
These should really be unsigned.
2013-05-16 11:35:58 +01:00
Benjamin Gaignard
5da2bd3216 video: fix gst_video_format_from_masks() for little endian masks with alpha
Need to byte-order swap the alpha mask as well in this case.

https://bugzilla.gnome.org/show_bug.cgi?id=700413
2013-05-16 10:36:20 +01:00
Michael Olbrich
ced858fa65 dmabuf: set the initial memory size to the full size
https://bugzilla.gnome.org/show_bug.cgi?id=700427
2013-05-16 11:17:57 +02:00
Tim-Philipp Müller
77405b97ed video: update disted orc backup files to fix build without liborc
https://bugzilla.gnome.org/show_bug.cgi?id=700400
2013-05-15 18:20:50 +01:00
Arnaud Vrac
af24e23880 video: add NV16 format
This format is usually used by hardware video decoders for 4:2:2 sampling

https://bugzilla.gnome.org/show_bug.cgi?id=700377
2013-05-15 13:46:46 +02:00
Sebastian Dröge
be154ee9d6 audio-info: Always pass NULL as position parameter to gst_audio_info_set_format()
https://bugzilla.gnome.org/show_bug.cgi?id=700259
2013-05-15 09:26:56 +02:00
Nicolas Dufresne
94b7ae7767 rtpbasepayload: Delay segment event after caps
https://bugzilla.gnome.org/show_bug.cgi?id=700222
2013-05-14 09:50:22 +02:00
Sebastian Dröge
b401f447d2 audio-info: For more than 64 channels don't allow a channel layout
More than 64 channels have all channels unpositioned.

https://bugzilla.gnome.org/show_bug.cgi?id=700259
2013-05-14 09:34:21 +02:00
Mathieu Duponchelle
6f233f67ef videodecoder: don't set the list to NULL after taking its address 2013-05-10 09:22:07 +02:00
Sebastian Dröge
2cc6a62b31 videoencoder: Make sure to push any pre-caps events before the caps are set 2013-05-09 16:05:59 +02:00
Sebastian Dröge
82f1572205 videodecoder: Make sure to not push any post-caps events before we have caps
and that we push pre-caps events before we push caps, even if we don't
have a GstVideoFrame yet.
2013-05-09 16:05:59 +02:00
Sebastian Dröge
ba8e7062a4 Revert "videodecoder: If a frame is to be dropped, don't update timestamps"
This reverts commit c9c5cd8eef.
2013-05-09 10:37:06 +02:00
Sebastian Dröge
c9c5cd8eef videodecoder: If a frame is to be dropped, don't update timestamps 2013-05-09 08:54:45 +02:00
Sebastian Dröge
351405d8a0 audio: Make sure to push pre-caps events before the caps event 2013-05-08 15:56:34 +02:00
Sebastian Dröge
3e4aec6e7b video: Make sure to push pre-caps events before the caps event
https://bugzilla.gnome.org/show_bug.cgi?id=699894
2013-05-08 15:50:34 +02:00
Julien Moutte
6f9006c9b9 riff: Manually calculate bitrate of ADPCM streams
Some ADPCM encoding tools like Oxelon generate WAV files with
wrong format header declaring an invalid bitrate.

As wavparse uses the average bitrate to calculate timestamps
and duration the decoder can be confused by receiving timestamps
completely out of sync with the decoded samples.

ADPCM is a CBR audio codec so we can calculate the average bitrate
instead of trusting the format header.

https://bugzilla.gnome.org/show_bug.cgi?id=636245
2013-05-07 15:01:05 +02:00
Tim-Philipp Müller
1a83c7a36a riff: wma can have more than 6 channels
Some versions anyway.
2013-05-03 16:24:55 +01:00
Michael Olbrich
25dd73521d dmabuf: don't touch the GstMemory size
mem.size is the content size and should not be touch.
Save the mmap size instead.

https://bugzilla.gnome.org/show_bug.cgi?id=699566
2013-05-03 13:13:13 +02:00
Michael Olbrich
a4ba85b151 dmabuf: fix memory initialization
Without this the shared memory is broken

https://bugzilla.gnome.org/show_bug.cgi?id=699565
2013-05-03 13:11:14 +02:00
Michael Olbrich
72e32060b8 dmabuf: fix formating 2013-05-03 13:10:06 +02:00
Michael Olbrich
347898d516 dmabuf: handle mmap failure
Otherwise gstreamer may segfault trying to access MAP_FAILED.

https://bugzilla.gnome.org/show_bug.cgi?id=699470
2013-05-03 11:05:55 +02:00
Wim Taymans
b708c85535 sdp: use setter for the bandwidth 2013-04-26 10:10:41 +02:00
Sebastian Rasmussen
f7e879aa18 sdp: Store a copy of the bandwidth string
Otherwise we will free a string later that does not belong to us.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=698888
2013-04-26 08:41:12 +02:00
Sebastian Dröge
c72aefb620 dmabuf: Use the fallback GstMemory copy function instead of our own
dup() on a dmabuf only gives a new handle, not a copy, thus doesn't
do what copy() is supposed to do.
2013-04-25 17:04:50 +02:00
Sebastian Dröge
f7db63f1b8 videoencoder: Try harder to push writable buffers downstream
For this release the corresponding GstVideoCodecFrame before
pushing the buffer. The buffer will now be writable unless
the subclass still holds another reference to the buffer or
the frame.
2013-04-25 16:23:14 +02:00
Sebastian Dröge
0be8d14965 videodecoder: Try harder to push writable buffers downstream
For this release the corresponding GstVideoCodecFrame before
pushing the buffer. The buffer will now be writable unless
the subclass still holds another reference to the buffer or
the frame.
2013-04-25 16:13:10 +02:00
Wim Taymans
2de35e630c sdp: don't leak the temp buffer 2013-04-24 14:12:20 +02:00
Wim Taymans
8a5efb0014 sdp: NULL terminate the time array 2013-04-24 14:11:49 +02:00
Wim Taymans
85debdcf05 sdp: add more functions to modify the sdp message
Add functions to insert, replace and remove various sdp message fields
and structures.

See: https://bugzilla.gnome.org/show_bug.cgi?id=698558
2013-04-24 13:47:47 +02:00
Tim-Philipp Müller
f5c0d61be7 Update disted orc backup files
Generated with 0.4.17 now.
2013-04-22 13:58:33 +01:00
Sebastian Dröge
9d309a3e06 videoencoder: Simply setcaps function 2013-04-18 09:58:37 +02:00
Sebastian Dröge
d537a21075 audioencoder: Ignore caps events if the input caps did not change 2013-04-18 09:58:36 +02:00
Sebastian Dröge
d1a08af605 audiodecoder: Ignore caps events if the input caps did not change 2013-04-18 09:58:36 +02:00