Commit graph

15078 commits

Author SHA1 Message Date
Sebastian Dröge
9eb22a533b 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
2014-09-02 09:09:49 +03:00
Tom Greenwood
5430b6c351 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
2014-09-02 08:42:24 +03:00
Thiago Santos
8bee49c85e 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
2014-09-02 01:01:43 -03:00
Thiago Santos
0430ea87a3 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
2014-09-02 01:01:43 -03:00
Jose Antonio Santos Cadenas
f22b91dad5 vp8dec: Reset output and input states when changing format
https://bugzilla.gnome.org/show_bug.cgi?id=734266
2014-09-01 23:56:51 -03:00
Vineeth T M
3a1e010221 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
2014-09-01 14:34:43 +03:00
Hans de Goede
116649371e 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
2014-08-29 16:15:11 -04:00
Hans de Goede
8ad0509a1c 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
2014-08-29 16:14:56 -04:00
Sebastian Dröge
f5df8af59e 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.
2014-08-29 11:55:26 +03:00
Sebastian Dröge
d924f8a955 wavparse: Use 64 bit scaling functions now that fact is a 64 bit integer 2014-08-29 11:53:23 +03:00
Peter G. Baum
5c838af300 wavparse: support rf64 format
https://bugzilla.gnome.org/show_bug.cgi?id=735627
2014-08-29 11:49:42 +03:00
Jason Litzinger
bcbdcbf638 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
2014-08-29 11:38:19 +03:00
Nicolas Dufresne
356defdfea flvmux: Fallback to PTS if DTS is missing
Fixing a regression introduce when fixing:
https://bugzilla.gnome.org/show_bug.cgi?id=731352
2014-08-28 15:05:56 -04:00
Vineeth T M
d46631c5c7 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
2014-08-28 14:55:00 +03:00
Vineeth T M
0509e86b43 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
2014-08-28 11:46:51 +03:00
Nicolas Dufresne
a7a3cb343a 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
2014-08-27 21:09:57 -04:00
Nicolas Dufresne
aa5bd99127 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
2014-08-27 21:08:21 -04:00
Nicolas Dufresne
c1e7bec616 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
2014-08-26 16:46:03 -04:00
Nicolas Dufresne
ff2bce7b26 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
2014-08-26 16:45:59 -04:00
Youness Alaoui
a98341397d 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
2014-08-21 18:32:58 -04:00
Thiago Santos
fa103ca5ad 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.
2014-08-18 14:05:52 -03:00
Ravi Kiran K N
67255c6b49 examples: use 'post-messages' property instead of deprecated 'message' property
https://bugzilla.gnome.org/show_bug.cgi?id=734979
2014-08-18 11:06:09 +01:00
Víctor Manuel Jáquez Leal
419332e287 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
2014-08-18 11:01:31 +01:00
Jan Schmidt
6e7930a10c 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
2014-08-15 13:03:52 +10:00
Jan Schmidt
f1c3a40547 matroska: Use gst_video_guess_framerate() function
Remove local framerate guessing function in favour of
the new gst_video_guess_framerate() function.
2014-08-15 01:17:27 +10:00
Jan Schmidt
ca068865c3 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.
2014-08-15 01:12:20 +10:00
Sebastian Dröge
ce1d4d9f21 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
2014-08-14 16:36:44 +03:00
Ravi Kiran K N
61fe02a018 videomixer: Avoid double free of VideoConvert
https://bugzilla.gnome.org/show_bug.cgi?id=734764
2014-08-14 15:31:48 +03:00
Tim-Philipp Müller
6ee2665b7c flvdemux: fix indentation 2014-08-13 11:59:39 +01:00
Tim-Philipp Müller
9afeb9652b 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.
2014-08-13 11:59:39 +01:00
Sebastian Dröge
0911307d7d videobalance: Allow any raw caps in passthrough mode, not just the ones we handle 2014-08-13 13:25:36 +03:00
Sebastian Dröge
a9eda81978 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
2014-08-13 13:24:38 +03:00
Tim-Philipp Müller
9a15b976d7 docs: update for git 2014-08-12 11:34:30 +01:00
Tim-Philipp Müller
e6e9ee08a1 configure: build ximagesrc again when checks succeed
Third time lucky, hopefully.
2014-08-12 11:33:56 +01:00
Tim-Philipp Müller
eefa8c366e 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.
2014-08-11 09:31:23 +01:00
George Kiagiadakis
9dd48c503c 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
2014-08-11 10:28:14 +02:00
Tim-Philipp Müller
09b1ba9491 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
2014-08-10 18:55:07 +01:00
Mark Nauwelaerts
6ea83d97c5 tests: rtp-payloading: adjust test data to avoid NAL chopping
... and correspondingly unexpected buffer sizes.
2014-08-10 12:32:38 +02:00
Sebastian Rasmussen
485da06b14 speexenc: Improve annotation of internal function
https://bugzilla.gnome.org/show_bug.cgi?id=734542
2014-08-10 11:17:23 +01:00
Sebastian Rasmussen
70a43758bb shapewipe: Unref caps and element after usage
https://bugzilla.gnome.org/show_bug.cgi?id=734478
2014-08-10 11:09:09 +01:00
Tim-Philipp Müller
e8321af983 qtdemux: improve debug logging of fourccs
If we can't show ASCII, at least show them
in big endian order.
2014-08-09 20:50:01 +01:00
Tim-Philipp Müller
f41d03cd4d qtdemux: add support for 'wma ' mapping as found in some ismv files
e.g. To_The_Limit_720_2962.ismv
2014-08-09 20:49:53 +01:00
Tim-Philipp Müller
6183f83190 qtdemux: add support for 'vc-1' mapping as found in some ismv files
e.g. To_The_Limit_720_2962.ismv
2014-08-09 20:49:49 +01:00
Sebastian Rasmussen
276269d956 rtph263ppay: Unref pad template caps after use
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734435
2014-08-08 16:02:24 -03:00
Sebastian Rasmussen
1fa61632fe videomixer: Unref allowed caps after usage
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734474
2014-08-08 15:59:36 -03:00
Sebastian Rasmussen
c85ae43a6e imagefreeze: Unref pad template caps after usage
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734475
2014-08-08 15:54:39 -03:00
Sebastian Rasmussen
edf8728016 navseek: Unref peer pad after usage
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734476
2014-08-08 15:50:55 -03:00
Sebastian Rasmussen
1a35bf9647 rtpmux: Unref pad template caps after usage
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734473
2014-08-08 15:38:32 -03:00
Srimanta Panda
421b00cd17 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
2014-08-08 13:41:36 +01:00
Jan Schmidt
d9e1aa4959 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.
2014-08-08 04:01:19 +10:00