platform/upstream/gstreamer.git
10 years agortpvrawdepay: Declare some more required caps fields in the sink template caps
Sebastian Dröge [Tue, 16 Sep 2014 19:47:13 +0000 (22:47 +0300)]
rtpvrawdepay: Declare some more required caps fields in the sink template caps

Now only missing are width and height, which are expressed as strings
for RTP... so we can't put them into the template caps.

10 years agogdkpixbufdec: modify wrong packetized mode logic
Vineeth T M [Tue, 16 Sep 2014 11:16:07 +0000 (16:46 +0530)]
gdkpixbufdec: modify wrong packetized mode logic

packetized mode is being set when framerate is being set
which is not correct. Changing the same by checking the
input segement format. If input segment is in TIME it is
Packetized, and if it is in BYTES it is not.

https://bugzilla.gnome.org/show_bug.cgi?id=736252

10 years agojpegdec: Remove unused variable and use correct decoder variable name
Sebastian Dröge [Tue, 16 Sep 2014 08:26:22 +0000 (11:26 +0300)]
jpegdec: Remove unused variable and use correct decoder variable name

10 years agopngdec: Remove unused variable
Sebastian Dröge [Tue, 16 Sep 2014 08:25:42 +0000 (11:25 +0300)]
pngdec: Remove unused variable

10 years agojpeggdec: modify wrong packetized mode logic
Vineeth T M [Tue, 16 Sep 2014 07:54:15 +0000 (13:24 +0530)]
jpeggdec: modify wrong packetized mode logic

packetized mode is being set when framerate is being set
which is not correct. Changing the same by checking the
input segement format. If input segment is in TIME it is
Packetized, and if it is in BYTES it is not.

https://bugzilla.gnome.org/show_bug.cgi?id=736252

10 years agopngdec: modify wrong packetized mode logic
Vineeth T M [Tue, 16 Sep 2014 07:53:16 +0000 (13:23 +0530)]
pngdec: modify wrong packetized mode logic

packetized mode is being set when framerate is being set
which is not correct. Changing the same by checking the
input segement format. If input segment is in TIME it is
Packetized, and if it is in BYTES it is not.

https://bugzilla.gnome.org/show_bug.cgi?id=736252

10 years agoximagesrc: Remove unused screen-num property
Antonio Ospite [Mon, 15 Sep 2014 12:39:41 +0000 (14:39 +0200)]
ximagesrc: Remove unused screen-num property

The screen number can be still specified as part of the display-name
property (e.g. for screen 1 of display 0 use display-name=":0.1").

https://bugzilla.gnome.org/show_bug.cgi?id=736122

10 years agoximagesrc: Draw the cursor only when it is active in the capturing region
Antonio Ospite [Thu, 4 Sep 2014 14:10:51 +0000 (16:10 +0200)]
ximagesrc: Draw the cursor only when it is active in the capturing region

Use XQueryPointer to check that the pointer is actually active inside
the capturing region.

This prevents drawing the cursor when the pointer is partially outside
of the captured region but not active inside the region; in particular
this avoids drawing the "window resize" cursor shapes to the captured
image when the mouse pointer crosses a window border.

NOTE that this is not only an optimization, this also happen to fix
a serious problem in multi-screen setups.

Because XFixes gives no information of what screen the pointer is on,
ximagesrc was always drawing the cursor on the captured screen even if
the mouse pointer was on another screen.

For example, when capturing from screen 1 (i.e. display-name=":0.1") the
cursor was drawn in the captured image even when the mouse pointer was
actually on screen 0, which is wrong and visually confusing.

https://bugzilla.gnome.org/show_bug.cgi?id=690646

10 years agoximagesrc: Fix drawing the cursor when it is outside the capturing region
Antonio Ospite [Fri, 5 Sep 2014 09:33:31 +0000 (11:33 +0200)]
ximagesrc: Fix drawing the cursor when it is outside the capturing region

When the cursor is partially or totally out of the capturing region on
the top side or on the left side, it gets drawn fully inside of the
region with its coordinates rounded up to the left or to the top border.

This is immediately noticeable when using the xid property to capture
a specific window.

To fix the issue, allow negative cx and cx coordinates when checking the
boundaries before drawing the cursor.

NOTE that the boundaries checking calculations still allows the cursor
to be drawn when it is only partially outside of the capturing region,
but this makes sense and gives a more pleasing visual behaviour.

https://bugzilla.gnome.org/show_bug.cgi?id=690646

10 years agoximagesrc: Fix the destination coordinates of the cursor
Antonio Ospite [Thu, 4 Sep 2014 22:15:30 +0000 (00:15 +0200)]
ximagesrc: Fix the destination coordinates of the cursor

XFixes provides the cursor coordinates relative to the root window, this
is not taken into account when using the xid property to capture
a specific window, the result is that the cursor gets drawn at the wrong
position.

In order to fix this consider the window location when calculating the
cursor position in the destination image.

https://bugzilla.gnome.org/show_bug.cgi?id=690646

10 years agov4l2allocator: O_CLOEXEC needs _GNU_SOURCE
Peter Korsgaard [Mon, 15 Sep 2014 12:51:24 +0000 (14:51 +0200)]
v4l2allocator: O_CLOEXEC needs _GNU_SOURCE

Similar to 94f3d6fc / bz 709423

On some systems (E.G. uClibc and older Glibc versions), O_CLOEXEC is only
defined when _GNU_SOURCE is specified, so do so.

https://bugzilla.gnome.org/show_bug.cgi?id=736670

10 years agocapssetter: update to 1.0 transform_caps sematics
Wim Taymans [Mon, 15 Sep 2014 16:11:37 +0000 (18:11 +0200)]
capssetter: update to 1.0 transform_caps sematics

In 1.0, we pass the complete caps to transform_caps to allow for better
optimizations. Make this function actually work on non-simple caps
instead of just ignoring the configured filter caps.

10 years agowavenc: use WAVE_FORMAT_EXTENSIBLE for more than 2 channels
Peter G. Baum [Mon, 8 Sep 2014 12:06:00 +0000 (14:06 +0200)]
wavenc: use WAVE_FORMAT_EXTENSIBLE for more than 2 channels

https://bugzilla.gnome.org/show_bug.cgi?id=733444

10 years agowavparse: Fix parsing of adtl chunks
Sebastian Dröge [Fri, 12 Sep 2014 12:06:50 +0000 (15:06 +0300)]
wavparse: Fix parsing of adtl chunks

We have to skip 12 bytes of data for the chunk, and the data size
passed to the sub-chunk parsing functions should have 4 bytes less
than the data size.

Also when parsing the sub-chunks, check if we actually have enough
data to read instead of just crashing.

https://bugzilla.gnome.org/show_bug.cgi?id=736266

10 years agoudp: include string.h for memcmp and memset
Sanjay NM [Fri, 12 Sep 2014 05:25:23 +0000 (10:55 +0530)]
udp: include string.h for memcmp and memset

https://bugzilla.gnome.org//show_bug.cgi?id=736528

10 years agomatroskamux: don't bitwise OR the same flag twice
Anuj Jaiswal [Fri, 12 Sep 2014 08:06:18 +0000 (13:36 +0530)]
matroskamux: don't bitwise OR the same flag twice

https://bugzilla.gnome.org//show_bug.cgi?id=736543

10 years agomatroskademux: handle real audio 28_8
Tim-Philipp Müller [Fri, 12 Sep 2014 09:35:36 +0000 (10:35 +0100)]
matroskademux: handle real audio 28_8

Fixes duplicate check for 14_4.

https://bugzilla.gnome.org//show_bug.cgi?id=736543

10 years agomultifilesink: don't OR the same flag twice
Anuj Jaiswal [Thu, 11 Sep 2014 09:16:09 +0000 (14:46 +0530)]
multifilesink: don't OR the same flag twice

https://bugzilla.gnome.org/show_bug.cgi?id=736462

10 years agosouphttpsrc: If the server reports "Accept-Ranges: none" don't try range requests
Sebastian Dröge [Thu, 11 Sep 2014 09:52:11 +0000 (12:52 +0300)]
souphttpsrc: If the server reports "Accept-Ranges: none" don't try range requests

10 years agov4l2sink: Unref pool after usage
Ognyan Tonchev [Wed, 10 Sep 2014 07:50:45 +0000 (09:50 +0200)]
v4l2sink: Unref pool after usage

https://bugzilla.gnome.org/show_bug.cgi?id=736384

10 years agov4l2transform: Don't rank it for now
Nicolas Dufresne [Tue, 9 Sep 2014 23:03:50 +0000 (19:03 -0400)]
v4l2transform: Don't rank it for now

This will prevent the converter to be picked automatically in case
someone implement dynamic converter selection support. I'd like this
to be ranked only for known device, as it's hard to be sure a device is
a converter suited for general purpose. Re-negotiation is also needed
before we can rank it.

https://bugzilla.gnome.org/show_bug.cgi?id=733607

10 years agov4l2: Detect bad drivers timestamps
Nicolas Dufresne [Fri, 5 Sep 2014 12:29:20 +0000 (08:29 -0400)]
v4l2: Detect bad drivers timestamps

Even though the UVC driver do a great deal of effort to prevent bad
timestamp to be sent to userspace, there still exist UVC hardware that
are so buggy that the timestamp endup nearly random. This code detect
and ignore timestamp from these drivers, making these camera usable.
This has been tested on both invalid and valid cameras, making sure it
does not trigger for valid cameras.

https://bugzilla.gnome.org/show_bug.cgi?id=732910

10 years agov4l2allocator: Workaround driver that don't support REQBUFS(0)
Nicolas Dufresne [Fri, 29 Aug 2014 21:09:30 +0000 (17:09 -0400)]
v4l2allocator: Workaround driver that don't support REQBUFS(0)

There is still around 18 drivers not yet ported to videobuf2. These driver
don't support freeing buffetrs through REQBUFS(0) hence for these the
memory type probing fails. In order to gain back our previous behaviour in
presence of these, we implement a workaround that assuming MMAP is
supported. Note that an allocator is only created for device with
STREAMING support in the device capabilities. In such case one of MMAP,
USERPTR and DMABUF is required. Though DMABUF came afterward, so is
not an option and in practice none of these drivers will only do USERPTR.

https://bugzilla.gnome.org/show_bug.cgi?id=735660

Also-by: Hans de Goede <hdegoede@redhat.com>
10 years agov4l2: Merge min_buffers_for* variable into one
Nicolas Dufresne [Thu, 4 Sep 2014 19:11:40 +0000 (15:11 -0400)]
v4l2: Merge min_buffers_for* variable into one

Reuse the same min_buffers variable for both capture and output, this
reduce the length of lines and make the code more readable.

https://bugzilla.gnome.org/show_bug.cgi?id=736072

10 years agov4l2: set min_latency for output device according to required minimum number of buffers
Aurélien Zanelli [Thu, 4 Sep 2014 16:35:46 +0000 (18:35 +0200)]
v4l2: set min_latency for output device according to required minimum number of buffers

Since we can get the minimum number of buffers needed by an output
device to work, use it to set min_latency which will determine how many
buffers are queued.

https://bugzilla.gnome.org/show_bug.cgi?id=736072

10 years agotests: udpsrc: add check to make sure multiple memory chunks are used
Tim-Philipp Müller [Tue, 9 Sep 2014 15:10:56 +0000 (16:10 +0100)]
tests: udpsrc: add check to make sure multiple memory chunks are used

10 years agotests: udpsrc: wait for buffers with GCond instead of sleeping
Tim-Philipp Müller [Tue, 9 Sep 2014 14:55:18 +0000 (15:55 +0100)]
tests: udpsrc: wait for buffers with GCond instead of sleeping

Avoids half-second sleep for no reason.

10 years agotests: udpsrc: split out socket setup
Tim-Philipp Müller [Tue, 9 Sep 2014 14:31:32 +0000 (15:31 +0100)]
tests: udpsrc: split out socket setup

10 years agoudpsrc: more efficient memory handling
Tim-Philipp Müller [Tue, 9 Sep 2014 12:46:56 +0000 (13:46 +0100)]
udpsrc: more efficient memory handling

Drop use of g_socket_get_available_bytes() which is
not useful on all systems (where it returns the size
of the entire buffer not that of the next pending
packet), and is yet another syscall and apparently
very inefficient on Windows in the UDP case.

Instead, when reading UDP packets, use the more featureful
g_socket_receive_message() call that allows to read into
scattered memory, and allocate one memory chunk which is
likely to be large enough for a packet, while also providing
a larger allocated memory chunk just in case the packet
is larger than expected. If the received data fits into the
first chunk, we'll just add that to the buffer we return
and re-use the fallback buffer for next time, otherwise we
add both chunks to the buffer.

This reduces memory waste more reliably on systems where
get_available_bytes() doesn't work properly.

In a multimedia streaming scenario, incoming UDP packets
are almost never fragmented and thus almost always smaller
than the MTU size, which is also why we don't try to do
something smarter with more fallback memory chunks of
different sizes. The fallback scenario is just for when
someone built a broken sender pipeline (not using a
payloader or somesuch)

https://bugzilla.gnome.org/show_bug.cgi?id=610364

10 years agoudpsrc: rework memory allocation bits and ensure we always have two chunks of memorie...
Tim-Philipp Müller [Tue, 9 Sep 2014 11:15:43 +0000 (12:15 +0100)]
udpsrc: rework memory allocation bits and ensure we always have two chunks of memories to read into

First chunk is the likely/expected buffer size, second is as
fallback in case the packet is larger in the end.

Next step: actually use these.

10 years agoudpsrc: track max packet size and save allocator negotiated by GstBaseSrc
Tim-Philipp Müller [Tue, 9 Sep 2014 08:42:15 +0000 (09:42 +0100)]
udpsrc: track max packet size and save allocator negotiated by GstBaseSrc

10 years agoaudioecho: fix example command line
Tim-Philipp Müller [Mon, 8 Sep 2014 15:15:05 +0000 (16:15 +0100)]
audioecho: fix example command line

10 years agoavidemux: fix crash with certain videos
Tim-Philipp Müller [Sun, 7 Sep 2014 11:46:08 +0000 (12:46 +0100)]
avidemux: fix crash with certain videos

This is a regression from 1.2 caused by the port
to the pad flow combiner.

https://bugzilla.gnome.org/show_bug.cgi?id=736192

10 years agomatroska-demux: Don't handle parse errors at the end of file as an error
Sebastian Dröge [Thu, 4 Sep 2014 13:21:20 +0000 (16:21 +0300)]
matroska-demux: Don't handle parse errors at the end of file as an error

But only if they happen after the Matroska segment.

https://bugzilla.gnome.org/show_bug.cgi?id=735833

10 years agosouphttpsrc: Include redirection target in error messages
Sebastian Dröge [Thu, 4 Sep 2014 09:14:11 +0000 (12:14 +0300)]
souphttpsrc: Include redirection target in error messages

Just giving the original URI can give the false impression that e.g.
that one failed host name resolution, while actually the redirection target
did.

10 years agovideomixer: Fix synchronization if dynamically changing the FPS
Andrei Sarakeev [Tue, 2 Sep 2014 07:13:44 +0000 (11:13 +0400)]
videomixer: Fix synchronization if dynamically changing the FPS

https://bugzilla.gnome.org/show_bug.cgi?id=735859

10 years agosmpte: Check if input caps are the same and create output caps from video info
Ravi Kiran K N [Tue, 2 Sep 2014 08:22:43 +0000 (13:52 +0530)]
smpte: Check if input caps are the same and create output caps from video info

This makes sure that also properties like the pixel-aspect-ratio are the same
between both streams and that the output caps contain all fields necessary for
complete video caps.

https://bugzilla.gnome.org/show_bug.cgi?id=735804

10 years agoimagefreeze: replace with gst_buffer_copy
Vineeth T M [Tue, 2 Sep 2014 11:52:07 +0000 (17:22 +0530)]
imagefreeze: replace with gst_buffer_copy

gst_buffer_ref and gst_buffer_writable is being used to create a writable copy of source buffer.

replacing the same with gst_buffer_copy as the functionality is same.

https://bugzilla.gnome.org/show_bug.cgi?id=735880

10 years agoqtdemux: mark jpeg and png as parsed so avdec_mjpeg can be used too
Tim-Philipp Müller [Wed, 3 Sep 2014 22:06:53 +0000 (23:06 +0100)]
qtdemux: mark jpeg and png as parsed so avdec_mjpeg can be used too

https://bugzilla.gnome.org/show_bug.cgi?id=735971

10 years agogdkpixbufdec: free query after use
Vineeth T M [Wed, 3 Sep 2014 06:16:13 +0000 (11:46 +0530)]
gdkpixbufdec: free query after use

In gst_gdk_pixbuf_dec_setup_pool(), query is being allocated using
gst_query_new_allocation(), but the same is not unreferenced
hence calling gst_query_unref() after usage of query.

https://bugzilla.gnome.org/show_bug.cgi?id=735950

10 years agoqtdemux: Silence some warnings for normal file contents
Jan Schmidt [Wed, 3 Sep 2014 13:46:34 +0000 (23:46 +1000)]
qtdemux: Silence some warnings for normal file contents

10 years agoaacparse: Fix parsing issue when the buffer does not have a complete ADTS/LOAS frame
Nicolas Huet [Mon, 1 Sep 2014 07:56:02 +0000 (09:56 +0200)]
aacparse: Fix parsing issue when the buffer does not have a complete ADTS/LOAS frame

https://bugzilla.gnome.org/show_bug.cgi?id=735520

10 years agovp9dec: Get input width/height from the codec instead of the input caps
Sebastian Dröge [Tue, 2 Sep 2014 06:09:49 +0000 (09:09 +0300)]
vp9dec: Get input width/height from the codec instead of the input caps

They are reported properly by libvpx if the correct struct members are used.
This also fixes handling of resolution changes without input caps changes.

https://bugzilla.gnome.org/show_bug.cgi?id=719359

10 years agovp8dec: Fix for handling resolution changes when decoding VP8
Tom Greenwood [Tue, 22 Oct 2013 17:49:22 +0000 (18:49 +0100)]
vp8dec: Fix for handling resolution changes when decoding VP8

If the resolution changes in the bitstream without the input caps changing we
would previously output corrupted video or crash.

https://bugzilla.gnome.org/show_bug.cgi?id=719359

10 years agovp9dec: Fix segfault when a new caps is received
Thiago Santos [Tue, 2 Sep 2014 03:55:17 +0000 (00:55 -0300)]
vp9dec: Fix segfault when a new caps is received

Remember to unref the output caps when a new caps event is received
as it should generate a new one based on the new caps.

https://bugzilla.gnome.org/show_bug.cgi?id=734266

10 years agotests: vp8dec: add test for caps renegotiation
Thiago Santos [Tue, 2 Sep 2014 03:54:35 +0000 (00:54 -0300)]
tests: vp8dec: add test for caps renegotiation

Check that vp8dec can properly accept a new caps when upstream
changes it

https://bugzilla.gnome.org/show_bug.cgi?id=734266

10 years agovp8dec: Reset output and input states when changing format
Jose Antonio Santos Cadenas [Tue, 5 Aug 2014 08:34:39 +0000 (10:34 +0200)]
vp8dec: Reset output and input states when changing format

https://bugzilla.gnome.org/show_bug.cgi?id=734266

10 years agoimagefreeze: Don't call gst_caps_unref() on template caps when already unreferenced
Vineeth T M [Mon, 1 Sep 2014 11:09:23 +0000 (16:39 +0530)]
imagefreeze: Don't call gst_caps_unref() on template caps when already unreferenced

Adding an extra condition while calling gst_caps_unref (templ)
and replacing gst_caps_make_writable (gst_caps_ref (caps)) with
gst_caps_copy (caps) in line 177, since the functionality is same.

https://bugzilla.gnome.org/show_bug.cgi?id=735795

10 years agov4l2: get_nearest_size: Fix "Unsupported field type" errors
Hans de Goede [Fri, 29 Aug 2014 10:01:27 +0000 (12:01 +0200)]
v4l2: get_nearest_size: Fix "Unsupported field type" errors

Most V4L2 ioctls like try_fmt will adjust input fields to match what the
hardware can do rather then returning -EINVAL. As is docmented here:
http://linuxtv.org/downloads/v4l-dvb-apis/vidioc-g-fmt.html

EINVAL is only returned if the buffer type field is invalid or not supported.

So upon requesting V4L2_FIELD_NONE devices which can only do interlaced
mode will change the field value to e.g. V4L2_FIELD_BOTTOM as only returning
half the lines is the closest they can do to progressive modes.

In essence this means that we've failed to get a (usable) progessive mode
and should fall back to interlaced mode.

This commit adds a check for having gotten a usable field value after the first
try_fmt, to force fallback to interlaced mode even if the try_fmt succeeded,
thereby fixing get_nearest_size failing on these devices.

https://bugzilla.gnome.org/show_bug.cgi?id=735660

10 years agov4l2: get_nearest_size: Always reinit all struct fields on retry
Hans de Goede [Fri, 29 Aug 2014 08:57:20 +0000 (10:57 +0200)]
v4l2: get_nearest_size: Always reinit all struct fields on retry

They may have been modified by the ioctl even if it failed. This also makes
the S_FMT fallback path try progressive first, making it consistent with the
preferred TRY_FMT path.

https://bugzilla.gnome.org/show_bug.cgi?id=735660

10 years agowavparse: Store size of data tag in a 64 bit integer locally too
Sebastian Dröge [Fri, 29 Aug 2014 08:55:26 +0000 (11:55 +0300)]
wavparse: Store size of data tag in a 64 bit integer locally too

Otherwise we will clip the DS64 value of RF64 files to 32 bits again.

10 years agowavparse: Use 64 bit scaling functions now that fact is a 64 bit integer
Sebastian Dröge [Fri, 29 Aug 2014 08:53:23 +0000 (11:53 +0300)]
wavparse: Use 64 bit scaling functions now that fact is a 64 bit integer

10 years agowavparse: support rf64 format
Peter G. Baum [Wed, 27 Aug 2014 16:55:18 +0000 (18:55 +0200)]
wavparse: support rf64 format

https://bugzilla.gnome.org/show_bug.cgi?id=735627

10 years agomultipartdemux: Ensure caps before pad added.
Jason Litzinger [Thu, 28 Aug 2014 19:48:50 +0000 (13:48 -0600)]
multipartdemux: Ensure caps before pad added.

This stores the stream-start, sets caps, and then adds the pad,
which ensures that the caps are set for the "pad-added" callback.

https://bugzilla.gnome.org/show_bug.cgi?id=735626

10 years agoflvmux: Fallback to PTS if DTS is missing
Nicolas Dufresne [Thu, 28 Aug 2014 19:03:50 +0000 (15:03 -0400)]
flvmux: Fallback to PTS if DTS is missing

Fixing a regression introduce when fixing:
https://bugzilla.gnome.org/show_bug.cgi?id=731352

10 years agoimagefreeze: Remove impossible error condition
Vineeth T M [Thu, 28 Aug 2014 10:43:29 +0000 (16:13 +0530)]
imagefreeze: Remove impossible error condition

We return EOS after the first buffer, and GstPad will make sure now that we
won't get any other buffer afterwards until a flush happens. No need to check
for it ourselves.

https://bugzilla.gnome.org/show_bug.cgi?id=735581

10 years agogdkpixbufdec: EOS and NOT_LINKED are no errors in general
Vineeth T M [Thu, 28 Aug 2014 08:23:23 +0000 (13:53 +0530)]
gdkpixbufdec: EOS and NOT_LINKED are no errors in general

Don't post an error message for them but let upstream handle
anything accordingly.

https://bugzilla.gnome.org/show_bug.cgi?id=735564

10 years agoflvmux: Correctly offset timestamp
Nicolas Dufresne [Thu, 28 Aug 2014 01:07:26 +0000 (21:07 -0400)]
flvmux: Correctly offset timestamp

The previous method would break AV sync in the case audio or video
didn't start at the same point in running time.

https://bugzilla.gnome.org/show_bug.cgi?id=731352

10 years agoflvmux: Save dts from buffer
Nicolas Dufresne [Thu, 28 Aug 2014 00:56:12 +0000 (20:56 -0400)]
flvmux: Save dts from buffer

We no longer set dts in muxed buffer. This would lead to encoding tags
with timestamp 0 instead of the timestamp of previous buffer.

https://bugzilla.gnome.org/show_bug.cgi?id=731352

10 years agoflvmux: Ensure Timestamp starts at 0
Nicolas Dufresne [Tue, 29 Jul 2014 00:58:59 +0000 (20:58 -0400)]
flvmux: Ensure Timestamp starts at 0

FLV documentation stipulates that timestamp must start at zero.
In order to respect this rule, keep the first timestamp around
and offset the timestamp from this value. This allow for longer
recording time in presence of timestamp that does not start
at 0 already.

https://bugzilla.gnome.org/show_bug.cgi?id=731352

10 years agoflv: Tag timestamp are DTS not PTS
Nicolas Dufresne [Sat, 7 Jun 2014 03:17:52 +0000 (23:17 -0400)]
flv: Tag timestamp are DTS not PTS

The tags in FLV are DTS. In audio cases, and for many video format this makes
no difference, but for AVC with B-Frames, PTS need to be computed from
composition timestamp CTS, with PTS = DTS + CTS.

https://bugzilla.gnome.org/show_bug.cgi?id=731352

10 years agojitterbuffer: Allow rtp caps without clock-rate
Youness Alaoui [Fri, 8 Aug 2014 01:58:14 +0000 (21:58 -0400)]
jitterbuffer: Allow rtp caps without clock-rate

The jitterbuffer shouldn't force clock-rate on its sink pad, this will cause a negotiation issue since rtpssrcdemux doesn't have the clock-rate and doesn't add it to the caps. The documentation states that the clock-rate can either be specified through the caps or through the request-pt-map signal, so we must remove clock-rate from the pad templates and we must accept the GST_EVENT_CAPS if the caps don't have the clock-rate.

https://bugzilla.gnome.org/show_bug.cgi?id=734322

10 years agoqtdemux: avoid crashing on dash streams
Thiago Santos [Mon, 18 Aug 2014 17:05:52 +0000 (14:05 -0300)]
qtdemux: avoid crashing on dash streams

DASH/fragmented moov might have no samples as those are carried
in moof fragments. Avoid crashing or failing the stream because
of that.

10 years agoexamples: use 'post-messages' property instead of deprecated 'message' property
Ravi Kiran K N [Mon, 18 Aug 2014 05:03:48 +0000 (10:33 +0530)]
examples: use 'post-messages' property instead of deprecated 'message' property

https://bugzilla.gnome.org/show_bug.cgi?id=734979

10 years agoudp: fix udpsrc documentation
Víctor Manuel Jáquez Leal [Mon, 18 Aug 2014 09:45:54 +0000 (11:45 +0200)]
udp: fix udpsrc documentation

udpsrc gtk-doc documentation refers to sockfd and closefd properties which has
been removed. This patch replaces those references to socket and close-socket
respectively.

https://bugzilla.gnome.org/show_bug.cgi?id=734987

10 years agoqtmux: Make the default timescale 1/1800 second
Jan Schmidt [Fri, 15 Aug 2014 00:09:56 +0000 (10:09 +1000)]
qtmux: Make the default timescale 1/1800 second

The old default timescale of 1 millisecond produces irrational
numbers for a lot of framerate/audio-packet-duration multiples.
1/1800 is a nicer number, as it tends to produce better fractions
and therefore slightly higher accuracy overall

10 years agomatroska: Use gst_video_guess_framerate() function
Jan Schmidt [Thu, 14 Aug 2014 15:17:27 +0000 (01:17 +1000)]
matroska: Use gst_video_guess_framerate() function

Remove local framerate guessing function in favour of
the new gst_video_guess_framerate() function.

10 years agoqtdemux: Improve framerate calculation/guessing
Jan Schmidt [Thu, 14 Aug 2014 15:12:20 +0000 (01:12 +1000)]
qtdemux: Improve framerate calculation/guessing

Change the way the output framerate is calculated
to ignore the first sample (which is sometimes truncated
in my testing) and use the new gst_video_guess_framerate()
function to recognise common standard framerates better.

Remove the code that was sorting the first 20 sample
durations and then ignoring the result.

10 years agovideomixer: Use the best width/height/etc if downstream can handle that
Sebastian Dröge [Thu, 14 Aug 2014 13:36:44 +0000 (16:36 +0300)]
videomixer: Use the best width/height/etc if downstream can handle that

Before it was always using whatever downstream preferred, while
the code and documentation claimed something different.

https://bugzilla.gnome.org/show_bug.cgi?id=727180

10 years agovideomixer: Avoid double free of VideoConvert
Ravi Kiran K N [Thu, 14 Aug 2014 05:59:00 +0000 (11:29 +0530)]
videomixer: Avoid double free of VideoConvert

https://bugzilla.gnome.org/show_bug.cgi?id=734764

10 years agoflvdemux: fix indentation
Tim-Philipp Müller [Wed, 13 Aug 2014 10:58:35 +0000 (11:58 +0100)]
flvdemux: fix indentation

10 years agoflvdemux: un-break duration querying
Tim-Philipp Müller [Wed, 13 Aug 2014 10:54:26 +0000 (11:54 +0100)]
flvdemux: un-break duration querying

Commit 2b9493b5 broke this in two ways: a) we should only
pass duration queries in TIME format upstream (or at least
not those in DEFAULT or BYTE format), and b) we mustn't
overwrite the default value of 'res' from TRUE to FALSE
and not set it again later. This led to bogus durations
being reported for FLV playback from file, because TIME
queries would fail (as 'res' had been set to FALSE) and
parsers then do a BYTE query as fallback and try to
guesstimate something in return, which of course goes
horribly wrong since the BYTE size returned is for the
muxed file.

10 years agovideobalance: Allow any raw caps in passthrough mode, not just the ones we handle
Sebastian Dröge [Wed, 13 Aug 2014 10:23:10 +0000 (13:23 +0300)]
videobalance: Allow any raw caps in passthrough mode, not just the ones we handle

10 years agovideobalance: Allow ANY capsfeatures, but only in passthrough mode
Sebastian Dröge [Wed, 13 Aug 2014 10:04:21 +0000 (13:04 +0300)]
videobalance: Allow ANY capsfeatures, but only in passthrough mode

When changing the properties to not be in passthrough mode anymore,
we will only accept caps we can process ourselves, potentially causing
a not-negotiated error.

https://bugzilla.gnome.org/show_bug.cgi?id=720345

10 years agodocs: update for git
Tim-Philipp Müller [Tue, 12 Aug 2014 10:34:30 +0000 (11:34 +0100)]
docs: update for git

10 years agoconfigure: build ximagesrc again when checks succeed
Tim-Philipp Müller [Tue, 12 Aug 2014 10:33:56 +0000 (11:33 +0100)]
configure: build ximagesrc again when checks succeed

Third time lucky, hopefully.

10 years agoconfigure: fix x11 checks to be non-fatal again
Tim-Philipp Müller [Mon, 11 Aug 2014 08:26:17 +0000 (09:26 +0100)]
configure: fix x11 checks to be non-fatal again

Must pass an action-if-not-found argument to
PKG_CHECK_MODULES or it will error out when
it can't find the module requested. Also fix
AC_CHECK_LIB usage, extra libs argument was
in the wrong place.

10 years agoqtdemux: forward DISCONT from upstream to the output streams
George Kiagiadakis [Thu, 7 Aug 2014 14:12:38 +0000 (17:12 +0300)]
qtdemux: forward DISCONT from upstream to the output streams

This makes sense in DASH reverse playback, where the upstream dashdemux
will download DASH segments in reverse order, but push their buffers
forward to qtdemux and mark each segment start as DISCONT. This needs
to be forwarded downstream to the parser/decoder, otherwise it won't work.

https://bugzilla.gnome.org/show_bug.cgi?id=734443

10 years agoconfigure: use pkg-config to detect x11 and simplify checks
Tim-Philipp Müller [Sun, 10 Aug 2014 17:55:07 +0000 (18:55 +0100)]
configure: use pkg-config to detect x11 and simplify checks

AC_PATH_XTRA macro unnecessarily pulls in libSM and libICE.

https://bugzilla.gnome.org/show_bug.cgi?id=731047

10 years agotests: rtp-payloading: adjust test data to avoid NAL chopping
Mark Nauwelaerts [Sun, 10 Aug 2014 10:30:07 +0000 (12:30 +0200)]
tests: rtp-payloading: adjust test data to avoid NAL chopping

... and correspondingly unexpected buffer sizes.

10 years agospeexenc: Improve annotation of internal function
Sebastian Rasmussen [Sat, 9 Aug 2014 12:22:42 +0000 (14:22 +0200)]
speexenc: Improve annotation of internal function

https://bugzilla.gnome.org/show_bug.cgi?id=734542

10 years agoshapewipe: Unref caps and element after usage
Sebastian Rasmussen [Fri, 8 Aug 2014 10:54:30 +0000 (12:54 +0200)]
shapewipe: Unref caps and element after usage

https://bugzilla.gnome.org/show_bug.cgi?id=734478

10 years agoqtdemux: improve debug logging of fourccs
Tim-Philipp Müller [Sat, 9 Aug 2014 19:47:30 +0000 (20:47 +0100)]
qtdemux: improve debug logging of fourccs

If we can't show ASCII, at least show them
in big endian order.

10 years agoqtdemux: add support for 'wma ' mapping as found in some ismv files
Tim-Philipp Müller [Sat, 9 Aug 2014 19:46:04 +0000 (20:46 +0100)]
qtdemux: add support for 'wma ' mapping as found in some ismv files

e.g. To_The_Limit_720_2962.ismv

10 years agoqtdemux: add support for 'vc-1' mapping as found in some ismv files
Tim-Philipp Müller [Sat, 9 Aug 2014 17:31:20 +0000 (18:31 +0100)]
qtdemux: add support for 'vc-1' mapping as found in some ismv files

e.g. To_The_Limit_720_2962.ismv

10 years agortph263ppay: Unref pad template caps after use
Sebastian Rasmussen [Thu, 7 Aug 2014 14:34:36 +0000 (16:34 +0200)]
rtph263ppay: Unref pad template caps after use

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734435

10 years agovideomixer: Unref allowed caps after usage
Sebastian Rasmussen [Fri, 8 Aug 2014 10:36:01 +0000 (12:36 +0200)]
videomixer: Unref allowed caps after usage

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734474

10 years agoimagefreeze: Unref pad template caps after usage
Sebastian Rasmussen [Fri, 8 Aug 2014 10:40:49 +0000 (12:40 +0200)]
imagefreeze: Unref pad template caps after usage

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734475

10 years agonavseek: Unref peer pad after usage
Sebastian Rasmussen [Fri, 8 Aug 2014 10:44:09 +0000 (12:44 +0200)]
navseek: Unref peer pad after usage

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734476

10 years agortpmux: Unref pad template caps after usage
Sebastian Rasmussen [Fri, 8 Aug 2014 10:29:52 +0000 (12:29 +0200)]
rtpmux: Unref pad template caps after usage

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734473

10 years agortph264pay: append packetization mode parameter to SDP
Srimanta Panda [Tue, 5 Aug 2014 09:47:39 +0000 (11:47 +0200)]
rtph264pay: append packetization mode parameter to SDP

Append packetization-mode parameter to SDP description.
Packetization mode signals the properties of an RTP payload type.

https://bugzilla.gnome.org/show_bug.cgi?id=733556

10 years agoisomp4/qtmux: Write correct file duration when gaps exist.
Jan Schmidt [Thu, 7 Aug 2014 17:58:14 +0000 (03:58 +1000)]
isomp4/qtmux: Write correct file duration when gaps exist.

When writing out a trak with an edit list, make sure the
overall file duration is also updated to reflect the
lengthening of the stream.

Add some more debug to qtdemux to warn about streams that
are longer than the file and get truncated.

10 years agortspsrc: Push the correct segment in TCP mode when seeking
Sebastian Dröge [Mon, 4 Aug 2014 13:39:17 +0000 (15:39 +0200)]
rtspsrc: Push the correct segment in TCP mode when seeking

10 years agortph264pay: unbreak au aligned byte-stream payloading
Mark Nauwelaerts [Sun, 3 Aug 2014 10:33:32 +0000 (12:33 +0200)]
rtph264pay: unbreak au aligned byte-stream payloading

10 years agortph264pay: append profile-level-id to SDP
Srimanta Panda [Tue, 22 Jul 2014 11:24:09 +0000 (13:24 +0200)]
rtph264pay: append profile-level-id to SDP

Append profile-level-id to SDP if available.

https://bugzilla.gnome.org/show_bug.cgi?id=733539

10 years agoMakefile: Add usage of build-checks step
Edward Hervey [Thu, 31 Jul 2014 16:47:49 +0000 (18:47 +0200)]
Makefile: Add usage of build-checks step

Allows building checks without running them

10 years agoximagesrc: Fix warning about missing return value
Nicolas Dufresne [Thu, 31 Jul 2014 13:53:53 +0000 (09:53 -0400)]
ximagesrc: Fix warning about missing return value

10 years agoximagesrc: Add missing return value to Buffer dispose function
Nicolas Dufresne [Thu, 24 Jul 2014 19:28:09 +0000 (15:28 -0400)]
ximagesrc: Add missing return value to Buffer dispose function

Depending ont he build, the method could return FALSE, hence never
free the buffers, or already TRUE and lead to a crash:

Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=733695

10 years agointerleave: set output caps layout to interleaved
Philippe Normand [Mon, 28 Jul 2014 14:49:16 +0000 (16:49 +0200)]
interleave: set output caps layout to interleaved

Set output caps layout independently from input caps layout which can
be either non-interleaved or interleaved.

https://bugzilla.gnome.org/show_bug.cgi?id=733866

10 years agov4l2bufferpool: clear gcond
Thiago Santos [Sat, 26 Jul 2014 15:06:39 +0000 (12:06 -0300)]
v4l2bufferpool: clear gcond