Commit graph

14393 commits

Author SHA1 Message Date
Nicolas Dufresne
12a3bdbd09 v4l2src: Ensure internal pool activation
Before we would hit an assertion "'gst_buffer_pool_is_active (bpool)' failed"
if the internal pool was not used to push buffer downstrea, hence not
given to the baseclass.

https://bugzilla.gnome.org/show_bug.cgi?id=732912
2014-07-09 15:26:12 -04:00
Tim-Philipp Müller
deeef84d2c videomixer: fix double unlock in segment seek segment code path
We only want to unlock if we push an event downstream and
jump to done_unlock label afterwards. We would also unlock
in case of a segment seek and then unlock again later, and
nothing good can come of that.

(This code looks a bit dodgy anyway though, shouldn't it
also bail out with FLOW_EOS here in case of a segment seek
scenario, just without the event?)
2014-07-04 20:26:46 +01:00
Tim-Philipp Müller
46f6687bf6 tests: qtmux: suppress glib criticals caused by testing deprecated dts methods 2014-07-04 19:46:41 +01:00
Sebastian Rasmussen
d33d8cf026 avidemux, wavparse: Print invalid fourcc in hex
Previously this was printed as characters which caused later processing
of the error message to sometimes warn about non-UTF-8 characters.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732714
2014-07-04 09:21:07 +01:00
Nicolas Dufresne
0126e75676 v4l2object: Pool might be NULL in decide allocation
If special stride is needed and downstream don't support VideoMeta,
pool might be NULL in order to let the baseclass create a generic
pool­. This would lead to assertion with on Exynos with:

gst-launch-1.0 -v filesrc location=mov ! qtdemux ! h264parse ! \
                    v4l2video8dec ! fakesink

https://bugzilla.gnome.org/show_bug.cgi?id=732707
2014-07-03 15:30:01 -04:00
Nicolas Dufresne
3f15e67923 v4l2bufferpool: Handle FD error during poll
This will ensure we fail earlier if something unrecoverable
happens.
2014-07-03 15:29:54 -04:00
Nicolas Dufresne
652ed3bceb v4l2bufferpool: Wait before polling if queue is empty
In kernel before 3.17, polling during queue underrun would unblock right
away and trigger POLLERR. As we are not handling POLLERR, we would endup
blocking in DQBUF call, which won't be unblocked correctly when going
to NULL state. A deadlock at start caused by locking error in libv4l2 was
also seen before this patch. Instead, we wait until the queue is no longer
empty before polling.

https://bugzilla.gnome.org/show_bug.cgi?id=731015
2014-07-03 15:28:45 -04:00
Wim Taymans
db1d9444d6 rtspsrc: fix for mikey api change 2014-07-02 16:01:47 +02:00
Tim-Philipp Müller
a016f19de8 v4l2: fix probing and enumeration of stepwise frame sizes
The code enumerating STEPWISE framesizes would start from
(min_w, min_h) and then add (step_w, step_h) to get the
next framesize. However, it should really allow any width
from min_w to max_w with step_w and same for heights.
Secondly, we would add and probe each individual stepped
frame size to the caps as separate structure, which would
lead to hundreds if not thousands of structs ending up in
the probed caps. Use integer ranges with steps instead.

This was particularly noticable with the Raspberry Pi Cam.

https://bugzilla.gnome.org/show_bug.cgi?id=724521
https://bugzilla.gnome.org/show_bug.cgi?id=732458
https://bugzilla.gnome.org/show_bug.cgi?id=726521
2014-07-01 20:23:58 +01:00
Daniel Drake
f9eb4dd206 v4l2object: drop workaround for misbehaving TRY_FMT
This workaround from 2011 was causing 25 S_FMT ioctls to be sent
to my UVC webcam from under gst_v4l2_object_get_caps as it probes
all the formats. In total, this adds up to about 5 seconds of
execution time, or a 10 second delay while starting up cheese.

These ioctls come from a workaround from 2011 where TRY_FMT might
make changes to hardware settings, so S_FMT was used to restore
the original config:
https://bugzilla.gnome.org/show_bug.cgi?id=649067

The driver bug is now assumed fixed. Remove the workaround to fix the
long startup delay.

https://bugzilla.gnome.org/show_bug.cgi?id=732326
2014-07-01 12:36:27 -04:00
Vincent Penquerc'h
bbb1a8de1f videomixer: reset QoS on segment event
https://bugzilla.gnome.org/show_bug.cgi?id=732540
2014-07-01 16:35:05 +01:00
Vincent Penquerc'h
5653b1a25a matroskademux: send gap events instead of segment tricks
This fixes missing frames from being time skipped.

https://bugzilla.gnome.org/show_bug.cgi?id=732372
2014-07-01 15:14:34 +01:00
Sebastian Dröge
0e13172837 rtpsession: Fix memory leaks in unit test 2014-06-30 00:00:43 +02:00
Sebastian Dröge
2f47105129 rtpbin: Don't leak caps 2014-06-29 23:55:19 +02:00
Sebastian Dröge
6be8225fde pulsesrc: Fix compiler warning when compiling with G_DISABLE_ASSERT 2014-06-29 20:02:14 +02:00
Sebastian Dröge
bbca040336 rtpssrcdemux: Fix compiler warning when compiling with G_DISABLE_ASSERT 2014-06-29 19:59:53 +02:00
Sebastian Dröge
5500dd4a20 matroskamux: Fix compiler warnings when compiling with G_DISABLE_ASSERT 2014-06-29 19:57:57 +02:00
Sebastian Dröge
b03a4d9155 deinterlace: Fix compiler warnings when compiling with G_DISABLE_ASSERT 2014-06-29 19:54:44 +02:00
Tim-Philipp Müller
e9613c8512 pulse: fix compiler warnings when compiling with -DG_DISABLE_ASSERT
Compiler complains about uninitialised variables in the impossible
'default' code path in device provider source/sink switch-case.
2014-06-29 17:06:30 +01:00
Tim-Philipp Müller
f79de9a420 v4l2: fix compiler warnings when compiling with -DG_DISABLE_ASSERT
Compiler complains about uninitialised variables in the impossible
'default' code path in device provider source/sink switch-case.
2014-06-29 17:06:11 +01:00
Tim-Philipp Müller
4edbd4c368 tests: matroskaparse: fail on errors and disable pull mode test
Actually look for error messages on the bus and fail if there
is one before the EOS message. Disable pull mode test which is
pointless as long as matroskaparse only supports push mode
(pull mode support has not been ported over to 1.0).
2014-06-28 17:40:45 +01:00
Tim-Philipp Müller
155a3fec93 matroskaparse: don't error out if there's not enough data in the adapter
gst_matroska_parse_take() would return FLOW_ERROR instead of
FLOW_EOS in case there's less data in the adapter than requested,
because buffer is NULL in that case which triggers the error
code path. This made the unit test fail (occasionally at least,
because of a bug in the unit test there's a race and it would
happen only sporadically).
2014-06-28 17:39:36 +01:00
Sebastian Dröge
c0f5644b80 videomixer: Update dist generated ORC files 2014-06-28 16:56:18 +02:00
Sebastian Dröge
db43a39bbf videomixer: Update videoconvert code from -base
And also rename the remaining symbols to prevent conflicts
during static linking.

https://bugzilla.gnome.org/show_bug.cgi?id=728443
2014-06-28 16:56:18 +02:00
Tim-Philipp Müller
8b7f0ae3fe autovideosrc: use videotestsrc as fallback element instead of fakesrc
fakesrc doesn't announce video caps, so most video pipelines will
just error out with not-negotiated if a fallback element is created.
2014-06-28 14:25:25 +01:00
Tim-Philipp Müller
7dcc3ffe5a autoaudiosrc: use audiotestsrc as fallback element instead of fakesrc
fakesrc doesn't announce audio caps, so most audio pipelines will
just error out with not-negotiated if a fallback element is created.
2014-06-28 14:25:25 +01:00
Sebastian Dröge
07a3a98391 Release 1.3.90 2014-06-28 11:21:15 +02:00
Sebastian Dröge
bd1b7b587f Update .po files 2014-06-28 11:08:33 +02:00
Olivier Crête
a9c385686a Rename GstDeviceMonitor to GstDeviceProvider 2014-06-26 14:57:36 -04:00
Ravi Kiran K N
e4f0133cb1 videobox: Add unit test
https://bugzilla.gnome.org/show_bug.cgi?id=732144
2014-06-26 18:52:17 +02:00
Thibault Saunier
45b9ef1825 videomixer: Declare as Compositor in 'klass' 2014-06-26 17:49:23 +02:00
Tim-Philipp Müller
e9f2d63011 flvdemux: fix speex caps
Decoder complains about "notification: Invalid mode encountered.
The stream is corrupted" though, even if it works, so there's
probably something wrong with the generated codec headers.
2014-06-26 13:50:19 +01:00
Tim-Philipp Müller
d98b996523 flvmux: fix speex in FLV
Speex in FLV is always mono @ 16kHz, see
http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf
section E.4.2.1: "If the SoundFormat indicates Speex, the audio is
compressed mono sampled at 16 kHz, the SoundRate shall be 0, the
SoundSize shall be 1, and the SoundType shall be 0"

Also see https://bugzilla.gnome.org/show_bug.cgi?id=683622
2014-06-26 13:43:33 +01:00
Jan Schmidt
8da6ee0312 isomp4: Add object type id and fourcc for DTS/DTS-HD
Enables playback for files with DTS audio tracks.
Also add an extra AC-3 variant fourcc from Nero
2014-06-26 19:57:41 +10:00
David Fernandez
4ed74d3ab0 videomixer2: Solve segmentation fault when src caps are configured
Change function pointers to NULL while holding the lock to avoid
race conditions

https://bugzilla.gnome.org/show_bug.cgi?id=701110
2014-06-25 16:44:38 +02:00
Wim Taymans
ca9cfd40dd jitterbuffer: improve SR packet handling
Implement 3 different cases for handling the SR:

 1) we don't have enough timing information to handle the SR packet and
    we need to wait a little for more RTP packets. In that case we keep
    the SR packet around and retry when we get an RTP packet in the
    chain function.

 2) the SR packet has a too old timestamp and should be discarded. It is
    labeled invalid and the last_sr is cleared.

 3) the SR packet is ok and there is enough timing information, proceed
    with processing the SR packet.

Before this patch, case 2) and 1) were handled in the same way,
resulting that SR packets with too old timestamps were checked over and
over again for each RTP packet.
2014-06-25 16:14:46 +02:00
Tim-Philipp Müller
f7aeb57858 tests: add udpsink test to check client add/remove 2014-06-24 10:48:39 +01:00
Tim-Philipp Müller
495dfe3c5b tests: port udpsink tests to 1.0
They all seem a bit pointless though.
2014-06-24 10:48:32 +01:00
Olivier Crête
64f28e2552 avimux: Add UYVY format 2014-06-23 19:55:29 -04:00
Miguel París Díaz
b22aed9bbc gstrtpssrcdemux: manage ssrc of RTCP RR packets
https://bugzilla.gnome.org/show_bug.cgi?id=731324
2014-06-23 16:23:00 -04:00
Sebastian Dröge
efaf996b1a wavparse: Update offset after parsing adtl chunk
Otherwise we will parse it over and over again without ever
getting past it.

https://bugzilla.gnome.org/show_bug.cgi?id=731533
2014-06-23 20:53:50 +02:00
Andoni Morales Alastruey
93653ae5f9 osxvideosink: remove legacy code for passing a window handle
"have-ns-view" and the "embed" property was kept in 0.10 for
backwards compatibility but it's no longer used in favor of
the GstVideoOverlay interface

https://bugzilla.gnome.org/show_bug.cgi?id=703753
2014-06-23 20:40:09 +02:00
Sebastian Dröge
609348c728 Back to development 2014-06-22 19:36:14 +02:00
Sebastian Dröge
daf25482ed matroskademux: Don't call GST_DEBUG_OBJECT() and other macros with non-GObject objects
It will crash with latest GLib GIT and was never supposed to work before
either.
2014-06-22 19:26:03 +02:00
Sebastian Dröge
b63560e0b0 Release 1.3.3 2014-06-22 18:08:03 +02:00
Sebastian Dröge
2226633cfc Update .po files 2014-06-22 17:36:28 +02:00
Sebastian Dröge
39ab963de1 po: Update translations 2014-06-22 14:24:24 +02:00
Tim-Philipp Müller
dd165a4b1a pulse, v4l2: update for device "klass" -> "device-class" rename 2014-06-21 01:32:03 +01:00
Tim-Philipp Müller
41c895de4d multiudpsink: optimisation: avoid unnecessary memory ref/unrefs
We know the buffer will stay valid and we will also not
modify the buffer, we just want to send out the data.
2014-06-20 12:21:05 +01:00
Tim-Philipp Müller
3512ad3be0 multiudpsink: avoid some unnecessary run-time type checks 2014-06-20 12:06:57 +01:00