Commit graph

8379 commits

Author SHA1 Message Date
Sebastian Dröge
d7a0fd82c0 qtdemux: Accumulate segments for edit lists before activating the next segment
eceb2ccc73 broke segment seeks by always
accumulating segments manually when activating a segment. This is only
needed when handling edit lists, not when activating a segment because of a
seek. Do the accumulation when switching edit list segments instead.

This fixes segment seeks again, while keeping edit lists playback working.

https://bugzilla.gnome.org/show_bug.cgi?id=755471
2015-09-24 09:33:33 +02:00
Vikram Fugro
3c2044168d spectrum: send phase values in the GstMessage for Phase info
https://bugzilla.gnome.org/show_bug.cgi?id=755463
2015-09-23 15:41:08 +02:00
Jan Schmidt
e5d53ec7e4 matroska-mux: Don't output a warning on MONO multiview mode. 2015-09-22 00:46:01 +10:00
Sebastian Rasmussen
905295ea34 rtptheoradepay: Fix memory leaks
The same memory leaks were fixed in identical fashion for
vorbisdepay in 06efeff5d9 in 2009.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=755277
2015-09-20 10:13:38 +02:00
Sebastian Rasmussen
2d7bfc1314 rtp{vorbis,theora}{pay,depay}: Cosmetic cleanup
* use g_list_free_full(), don't iterate elements maually when freeing
* call gst_rtp_*_pay_clear_packet(), don't duplicate its code
* use gst_buffer_unref() to clarify that it is buffers being released,
  instead of refering directly to gst_mini_object_unref()

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=755277
2015-09-20 10:13:38 +02:00
Sebastian Dröge
869e21bd82 rtp{vorbis,theora}pay: Store headers in the packet buffers lists, not a NULL buffer
https://bugzilla.gnome.org/show_bug.cgi?id=755265
2015-09-20 10:13:38 +02:00
Eunhae Choi
dc74d744c3 avidemux: Fix taglist leak
gst_tag_list_insert() does not take ownership of the inserted taglist.

https://bugzilla.gnome.org/show_bug.cgi?id=755138
2015-09-17 12:03:08 +02:00
Jan Schmidt
c919548e2c aacparse: Skip LOAS AAC until a valid config is seen.
It's normal when dropping into the middle of a stream to
not always have the config available immediately, so skip LOAS
until a valid config is seen without either setting invalid
caps or erroring out.

https://bugzilla.gnome.org/show_bug.cgi?id=751386
2015-09-16 20:51:44 +10:00
Mark Nauwelaerts
b7b244f356 rtpjitterbuffer: reset just a bit more upon flush_stop 2015-09-13 15:42:06 +02:00
Mark Nauwelaerts
1e7a3473fd rtpjitterbuffer: remove dead struct member 2015-09-13 15:41:03 +02:00
Vineeth TM
2a7ba2955c multiudpsink: fix GError memory leak when hostname resolution fails
https://bugzilla.gnome.org/show_bug.cgi?id=754869
2015-09-11 10:18:14 +01:00
Thiago Santos
f9c7dc2797 matroskamux: drop HEADER flag from output buffers
Drop HEADER flag from output buffers if they are not indeed
headers.

Fixes resending of headers in tcp connection handling

https://bugzilla.gnome.org/show_bug.cgi?id=754768
2015-09-10 16:28:48 -03:00
Tim-Philipp Müller
99a6f8207f matroskamux: fix matroskamux ! matroskademux
Don't carry over DISCONT flags from the input buffers to the
output buffer, or the demuxer might reset its state when it
receives the first data buffer just after parsing the simple
block header, and then expect sane data to follow.
Fixes matroskamux ! demux erroring out.

https://bugzilla.gnome.org/show_bug.cgi?id=754768
https://bugzilla.gnome.org/show_bug.cgi?id=657805
2015-09-10 16:05:53 +01:00
Martin Kelly
00a938f134 rtsp: fix small README typo
https://bugzilla.gnome.org/show_bug.cgi?id=754807
2015-09-10 08:43:20 +01:00
Tim-Philipp Müller
fcdb79ef7b wavpackparse: set both pts and dts so baseparse doesn't make up wrong dts after seeks
https://bugzilla.gnome.org/show_bug.cgi?id=752106
2015-09-06 16:36:47 +01:00
Tim-Philipp Müller
0d88f27108 flacparse: set both pts and dts so baseparse doesn't make up wrong dts after a seek
flac contains the sample offset in the frame header, so after a seek
without index flacparse will know the exact position we landed on and
timestamp buffers accordingly. It only set the pts though, which means
the baseparse-set dts which was set to the seek position prevails, and
since the seek was based on an estimate, there's likely a discrepancy
between where we wanted to land and where we did land, so from here on
that dts/pts difference will be maintained, with dts possibly multiple
seconds ahead of pts, which is just wrong. The easiest way to fix this
is to just set both pts and dts based on the sample offset, but perhaps
parsed audio should just not have dts set at all.

https://bugzilla.gnome.org/show_bug.cgi?id=752106
2015-09-06 16:36:44 +01:00
George Chriss
1afb988256 flvmux: Make the element count in arrays not include end
One-line removal of tags_written++

This should fix rtmp output to crtmpserver, and hopefully
noone is expecting that the element count includes the end
element, as different bits of documentation say different
things about whether it should or not.

https://bugzilla.gnome.org/show_bug.cgi?id=661624
2015-09-05 23:45:37 +10:00
Jan Schmidt
db2967125b flvmux: Store incoming bitrate tags and send in the metadata
Apparently the Microsoft Azure RTMP server requires that the
videodatarate and audiodatarate metadata be provided, so
set those, even if it's to 0. Use the actual input bitrate
tags if available.
2015-09-05 23:45:37 +10:00
Jan Schmidt
b38e24995b rtspsrc: Don't parse key data more than needed.
When an auxilliary streams are present in the SDP media,
there's no need to re-parse the SDP attributes multiple
times.
2015-09-05 23:44:51 +10:00
Jan Schmidt
fe4ed1d1df rtspsrc: Fix SRTP + RTX, auth access, a leak, and an invalid memory access.
In parse_keymgmt(), don't mutate the input string that's been passed
as const, especially since we might need the original value again if
the same key info applies to multiple streams (RTX, for example).

When a resource is 404, and we have auth info - retry with the auth
info the same as if we had receive unauthorised, in case the resource
isn't even visible until credentials are supplied.

Fix a memory leak handling Mikey data.

When generating a random keystring, don't overrun the 30 byte
buffer by generating 32 bytes into it.
2015-09-05 23:44:51 +10:00
Sebastian Dröge
50e9cc7f04 udpsrc: Fix build with GLib < 2.44
G_IO_ERROR_CONNECTION_CLOSED was added in 2.44.
2015-09-04 15:18:05 +03:00
Sebastian Dröge
89137fc136 udpsrc: Ignore G_IO_ERROR_CONNECTION_CLOSED when receiving data
This happens on Windows if we use the same socket for sending packets,
and the remote sends ICMP port/host unreachable messages.

https://bugzilla.gnome.org/show_bug.cgi?id=754534
2015-09-04 12:01:52 +03:00
Sebastian Dröge
f0ca2f2ecb rtpvorbis/theoradepay: Fix handling of fragmented packets
This was broken in b1089fb520 by not considering the full packet length of a
fragmented packet but only the length of the first one.

https://bugzilla.gnome.org/show_bug.cgi?id=754417
2015-09-02 21:13:46 +03:00
Olivier Crête
dad751644e dtmfsrc: Reply to latency query 2015-09-01 15:49:07 -04:00
Jan Alexander Steffens (heftig)
3f8efd8af8 matroskademux: Align raw video frames to 32 bytes
Outputting unaligned video frames causes videoscale et al to
crash when attempting SIMD-accelerated conversion.

https://bugzilla.gnome.org/show_bug.cgi?id=736965
2015-08-31 14:35:59 +03:00
Stefan Sauer
6a8194e121 level: fix level calculations for mutliple channels
This was broken with 7b90bf3215.
2015-08-27 10:16:38 +02:00
Ravi Kiran K N
cac239ab89 smpte: Fix memory leak
In gst_smpte_collected(), check upfront if input formats are same
or not. This avoids allocation of in1 and in2 buffers and
subsequent memory leak when input formats do not match.

https://bugzilla.gnome.org/show_bug.cgi?id=754153
2015-08-27 11:13:43 +03:00
Vineeth TM
ba8cda54f4 rtspsrc: Trivial fix to check correct condition
When checking for describe method, because of missing parentheses, wrong
condition is being checked, which will result in wrong behavior.

https://bugzilla.gnome.org/show_bug.cgi?id=753912
2015-08-21 11:06:57 +03:00
Vineeth TM
77c9e2cd4d matroska: read: fix tag list memory leak
gst_toc_entry_merge_tags makes a new ref of the taglist, so it should
be unref'ed as soon as the tags are merged to the tocentry

https://bugzilla.gnome.org/show_bug.cgi?id=753904
2015-08-21 10:22:54 +03:00
Tim-Philipp Müller
29afa75858 multifilesrc: fix regression with starting from index set via index property
When we haven't started yet, set the start_index when we set the index property,
so that we start at the right index position after the initial seek. The index
property was never really meant to be for writing, but it used to work, so let's
support it for backwards compatibility.

https://bugzilla.gnome.org/show_bug.cgi?id=739472
2015-08-18 13:17:34 +01:00
Alex Ashley
5d99d0dfa0 qtdemux: fix offset calculation when parsing CENC aux info
Commit 7d7e54ce68 added support for
DASH common encryption, however commit
bb336840c0 that went onto master
shortly before the CENC commit caused the calculation of the CENC
aux info offset to be incorrect.

The base_offset was being added if present, but if the base_offset
is relative to the start of the moof, the offset was being added twice.
The correct approach is to calculate the offset from the start of the
moof and use that offset when parsing the CENC aux info.
2015-08-18 11:48:03 +01:00
Hyunjun Ko
38d269f80d rtp: copy metadata in the (de)payloaders which is missed before
https://bugzilla.gnome.org/show_bug.cgi?id=753706
2015-08-17 14:12:50 +02:00
Thiago Santos
5838940681 y4mencode: fix gst-launch version in documentation 2015-08-16 14:30:57 -03:00
Thiago Santos
a1aa942acf audioencoders: use template subset check for accept-caps
It is faster than doing a query that propagates downstream and
should be enough

Elements: speexenc, wavpackenc, mulawenc, alawenc
2015-08-16 14:30:57 -03:00
Thiago Santos
1b27badcfd videoencoders: use template subset check for accept-caps
It is faster than doing a query that propagates downstream and
should be enough

Elements: jpegenc, pngenc, vp8enc, vp9enc, y4menc
2015-08-16 14:30:57 -03:00
Tim-Philipp Müller
a39bebb5fe mpegaudioparse: use new baseparse API to fix tag handling
https://bugzilla.gnome.org/show_bug.cgi?id=679768
2015-08-16 17:21:24 +01:00
Olivier Crête
b1dfe209c2 audioparsers: use new base parse API to fix tag handling
https://bugzilla.gnome.org/show_bug.cgi?id=679768
2015-08-16 17:02:19 +01:00
Tim-Philipp Müller
a042a98159 flacparse: use new baseparse API and fix tag handling
https://bugzilla.gnome.org/show_bug.cgi?id=679768
2015-08-16 16:33:55 +01:00
Sebastian Dröge
e9aa4c7467 qtdemux: Use signed integer type to be able to check for negative subtraction results
CID 1315829
2015-08-16 13:04:02 +02:00
Luis de Bethencourt
1aee15050c rtpvorbisdepay: remove dead code
payload_buffer must be NULL in ignore_reserved. Check will always be false.

Introduced by b1089fb520

CID #1316476
2015-08-16 11:52:44 +01:00
Thiago Santos
1328289474 alawenc: port to AudioEncoder base class 2015-08-15 22:46:46 -03:00
Thiago Santos
65676c22ee audiodecoders: use default pad accept-caps handling
Avoids useless check of downstream caps when handling an
accept-caps query

Elements: flacdec, speexdec, wavpackdec, mulawdec, alawdec
2015-08-15 11:46:34 -03:00
Thiago Santos
65d2af6462 alawdec: make error handling a bit nicer
Print the element along with the debug to make it easier to trace
the failures
2015-08-15 11:31:04 -03:00
Thiago Santos
7ab3178cc4 alawdec: port to audiodecoder base class
mulawdec was already ported, alawdec was left behind.
2015-08-15 11:06:02 -03:00
Thiago Santos
41a4b68390 qtdemux: only look for more samples in moofs in pull-mode
For playback of some fragmented formats with qtdemux it will
try to look for the next moof after finishing one but it is only
possible for pull-mode. For playback of streaming fragmented formats
such as DASH it should just not try to look for another moof but
instead wait for more data.

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

https://bugzilla.gnome.org/show_bug.cgi?id=752603
2015-08-15 11:06:02 -03:00
Sebastian Dröge
64b06d1829 dcaparse: Don't look for a second syncword
There are streams out there that consistently contain garbage between
every frame so we never ever find a second consecutive syncword.

See https://bugzilla.gnome.org/show_bug.cgi?id=738237
2015-08-15 13:00:06 +02:00
Thiago Santos
9523fb23ed audioparsers: enable accept-template flag
Do a quick check with the pad template caps as it is enough. Users
should have figured the appropriate full caps on a previous caps query

https://bugzilla.gnome.org/show_bug.cgi?id=753623
2015-08-14 13:42:27 -03:00
George Kiagiadakis
e2f2f087ec rtspsrc: send the User-Agent header
Sometimes it is useful to know this information on the
server side. Other popular implementations (vlc, ffmpeg, ...)
also send this header on every message.

This includes a new "user-agent" property that the user
can set to use a custom User-Agent string. The default
is "GStreamer/<version>"

https://bugzilla.gnome.org/show_bug.cgi?id=750101
2015-08-14 15:59:06 +02:00
George Kiagiadakis
af03341e26 rtspsrc: wrap gst_rtsp_message_init_request in a local function
This will allow adding common request initialization, like the
user agent string, in just one place.
2015-08-14 15:59:06 +02:00
Prashant Gotarne
0671ea85af audioecho: make sure buffer gets reallocated if max_delay changes
https://bugzilla.gnome.org/show_bug.cgi?id=753490
2015-08-14 11:50:22 +01:00