Commit graph

4530 commits

Author SHA1 Message Date
Wim Taymans
dc221c0219 rtspsrc: increase udp buffer size
Set a bigger UDP buffer size by default to reduce packet loss with
high bitrate streams.
2011-01-03 15:40:11 +01:00
David Schleef
6ab508dfa5 multifilesink: send stream headers in key-frame mode 2011-01-02 19:22:47 -08:00
Erich Schubert
5b79a3d2f8 id3demux: fix parsing of ID3v2.4 genre frames with multiple genres
We'd only extract the first genre (multiple times) instead of all
genres.

https://bugzilla.gnome.org/show_bug.cgi?id=638535
2011-01-02 19:26:45 +00:00
Wim Taymans
5ed3701a2d mp4adepay: improve timestamps on outgoing packets
Improve parsing of the samplerate.
Parse the framelen so that we can calculate timestamps.
When interpollate the incomming timestamp on outgoing buffers when there are
multiple subframes.

fixes #625825
2010-12-31 13:57:05 +01:00
Tim-Philipp Müller
cfa7225898 cairo, videofilter: use gst/math-compat.h header for rint 2010-12-31 02:16:54 +00:00
David Schleef
cdaf72b614 videobalance: Check for HAVE_RINT instead
Also change M_PI to G_PI for giggles.
2010-12-30 14:34:43 -08:00
David Schleef
7b8981766b Change M_PI to G_PI 2010-12-30 14:20:52 -08:00
David Schleef
d4167c4fee videobalance: use G_OS_WIN32 for windows check 2010-12-30 12:14:23 -08:00
Wim Taymans
9c2393490f mp4adepay: fix timestamps on buffers 2010-12-30 16:24:46 +01:00
Wim Taymans
756869421c mpvpay: fix flushing and discont
Fix flushing and disconts.
Clean up in state changes.
2010-12-30 16:24:46 +01:00
Tim-Philipp Müller
3a66829087 matroska-demux: increase allowed max. block size for push mode from 10M to 15M
It was an arbitrary limit from the start, meant as a basic sanity check,
so may just as well increase it a little. Would be good to provide
progress reporting while completing the block in any case..

https://bugzilla.gnome.org/show_bug.cgi?id=637060
2010-12-29 23:38:18 +00:00
Tim-Philipp Müller
c8fc90fd37 matroska-demux: assume matroska if no doctype is specified
https://bugzilla.gnome.org/show_bug.cgi?id=638019
2010-12-29 23:09:04 +00:00
Tim-Philipp Müller
96830324a5 rtspsrc: serialise/deserialise floats without changing locale
Use g_ascii_dtostr() and g_ascii_strtod() to serialise/deserialise
floating point numbers, instead of ugly hacks that switch locale
before and after calling libc functions (which is not a good idea
in a multi-threaded application).
2010-12-29 15:54:46 +00:00
Tim-Philipp Müller
fafd0b7bc3 rtpjpegdepay: fix framerate parsing for locales that use a comma as floating point
atof() converts strings according to the current locale, but the
framerate string will likely always use a dot as floating point
separator, so use g_ascii_strtod() instead (but also canonicalise
the string before, so we can handle both formats as input).
2010-12-29 14:59:30 +00:00
Wim Taymans
b5647685c4 rtpsource: use the right variable
Use the right variable for specifying that we sent a receiver report.
2010-12-27 13:13:46 +01:00
Rob Clark
02cb1dd7b5 matroska-demux: add stream-format and alignment properties for h264 2010-12-23 16:12:51 -06:00
Wim Taymans
ef0bc7558d gstpay: fix klass, add RTP as a use case 2010-12-23 18:39:52 +01:00
Wim Taymans
5fe6046c20 gstdepay: cleanup the cache 2010-12-23 18:39:52 +01:00
Wim Taymans
7c9b91d2d8 gstpay/depay: add generic gstreamer payloader
Add the beginnings of a generic GStreamer buffers payloader.
2010-12-23 18:39:52 +01:00
Wim Taymans
e13340ccb5 mp4gpay: reset state on flush-stop 2010-12-23 17:06:58 +01:00
Wim Taymans
1dd71cc63f mp4gdepay: flush state on flush-stop 2010-12-23 16:26:07 +01:00
Wim Taymans
2a49d34c3e rtspsrc: on-npt-stop is a manager signal 2010-12-23 16:25:15 +01:00
Wim Taymans
12bc7258b9 rtspsrc: improve RTP session handling
Store the RTP session in the stream so that we can more efficiently
perform actions on the stream based on RTP signals.
2010-12-23 15:24:29 +01:00
Wim Taymans
7caad21a57 rtpsource: include last send RB block
Only report RB values for non-internal sources.
Report not only the RB blocks we last received from but also the last RB
block we sent to a source.
2010-12-23 13:58:30 +01:00
Wim Taymans
8fa5ddab9a rtpsession: remember last sent RB values. 2010-12-23 13:58:30 +01:00
Wim Taymans
6035ee08c0 rtpsource: include all stats and document
Include all possible stats of a source in the stats structure because we might
be interested in what happened in the past.
Document the stats property and the fields.
2010-12-23 13:58:30 +01:00
Wim Taymans
10a5a795ea rtpsession: also emit RTCP activity on SR
Also emit RTCP activity signals when we receive an SR packet without RB blocks,
such as from a sender that is not receiving anything.
2010-12-23 13:58:30 +01:00
Wim Taymans
1230258e6f docs: add some more gstrtpbin docs 2010-12-23 13:58:29 +01:00
Sebastian Dröge
1d74f568a3 matroskademux: Don't use gst_pad_alloc_buffer()
Using this in a demuxer will cause deadlocks if there's
a pad with a pending pad-block downstream, no matter if
there is a queue between the pad or not. Queues pass
bufferalloc downstream from the same thread and only
act as a thread boundary for events and buffers.
2010-12-22 20:01:16 +01:00
Tim-Philipp Müller
331bcfbdfc matroskamux: fix subtitle pad template, we only handle kate for now 2010-12-22 14:14:08 +00:00
Tim-Philipp Müller
7759ad0db2 docs: update rtspsrc docs, rtpbin is not in -bad any more 2010-12-22 13:04:42 +00:00
Wim Taymans
2b53cbe923 rtpsession: unlock before emitting signals 2010-12-22 11:46:21 +01:00
Wim Taymans
6db12cb003 rtpac3pay: add AC3 payloader 2010-12-21 22:34:49 +01:00
Wim Taymans
97993d3119 ac3depay: fix debug category description 2010-12-21 22:17:19 +01:00
Wim Taymans
e2f4fe8d3d mpapay: add debug category 2010-12-21 22:16:42 +01:00
Wim Taymans
f4155f3cf3 rtp: add RTP hint to the klass 2010-12-21 17:23:03 +01:00
Wim Taymans
f357e09ac1 rtp: fix rank of payloaders and depayloaders
Set the payloaders and depayloaders to a reasonable rank.
2010-12-21 17:22:58 +01:00
Wim Taymans
d5c8771b2b vrawdepay: reset depayloader state
Reset the depayloader state on flush-stop.
2010-12-21 15:24:18 +01:00
Wim Taymans
eb99eb5515 mp4pay: use vmethod for intercepting events 2010-12-21 15:23:08 +01:00
Wim Taymans
e47f4487b4 theorapay: clear packet on flush-stop 2010-12-21 13:55:40 +01:00
Wim Taymans
2c6e198157 vorbispay: clear packet on flush-stop 2010-12-21 13:49:41 +01:00
Wim Taymans
1eb0f65f39 mp4gdepay: reset depayloader state 2010-12-21 12:31:44 +01:00
Wim Taymans
e8b8753c90 h264pay: flush adapter on flush-stop 2010-12-21 12:29:58 +01:00
Wim Taymans
6a5e6eac55 mpapay: flush last packets on EOS 2010-12-20 18:50:25 +01:00
Wim Taymans
933a170898 mpapay: reset payloader on state change 2010-12-20 16:51:47 +01:00
Wim Taymans
984849f8fe mpapay: reset payloader on flush
Reset the payloader on a flush event.
Handle DISCONT better.
2010-12-20 16:06:26 +01:00
Wim Taymans
eb6d552353 jitterbuffer: get better buffering level
When the jitterbuffer contains -1 timestamps, make sure we still calculate the
buffer fill level by skipping the -1 buffers.
Try to be more resilient to weird input timestamps.
2010-12-20 15:56:50 +01:00
Wim Taymans
6cb0efede4 jitterbuffer: provide a clock.
since we are using the clock for sync, we need to also provide a clock for good
measure. The reason is that even if downstream elements provide a clock, we
don't want to have that clock selected because it might not be running yet.
2010-12-20 11:13:09 +01:00
Wim Taymans
210f1c44c7 rtpbin: copy buffering stats
when we create an aggregate buffering message, copy the buffering stats form the
last message. At least we get correct buffering mode then.
2010-12-20 11:13:09 +01:00
Sebastian Dröge
9d4f349454 radioactv: Prevent use of uninitialized values
Fixes bug #618652.
2010-12-19 10:58:16 +01:00
Sebastian Dröge
cdc03948ce capsdebug: Don't leak pad templates created from static pad templates 2010-12-19 10:22:29 +01:00
Mark Nauwelaerts
4c368242c0 rtph264depay: determine output h264 layout using caps negotiation
... thereby (partially) deprecating properties currently controlling whether
or not byte-stream output or NAL/AU alignment (though properties still determine
fallback if nothing specified in caps).

Fixes #606662.
2010-12-17 15:38:27 +01:00
Wim Taymans
b87ec0262b j2kpay: handle EOC correctly
Don't include the next 2 bytes when we are at the end of the data and there are
no more bytes left.
2010-12-16 18:57:27 +01:00
Sebastian Dröge
76ad0ee09b deinterlace: Change classification to Filter/Effect/Video/Deinterlace 2010-12-16 10:04:19 +01:00
Edward Hervey
34222431aa rtpj2kpay: Initialize all fields
Makes sad compliers happy
2010-12-15 18:21:34 +01:00
Wim Taymans
744472d2ad j2kpay: cleanup header construction
Use a simpler way of constructing the header that doesn't depend on
the endianness.
2010-12-15 16:25:10 +01:00
Wim Taymans
184c4219a7 j2kdepay: add support for buffer lists 2010-12-15 13:12:09 +01:00
Wim Taymans
0c3333da04 session: fix average RTCP packet size some more.
Fix stupid error in averaging macro.
Include udp headers in packet length estimation.
2010-12-14 18:12:43 +01:00
Wim Taymans
7ebd374766 rtpbin: correctly calculate RTCP packet size 2010-12-14 17:15:23 +01:00
Wim Taymans
957eac9579 j2kpay: stop scanning when we reached the end
Stop scanning for markers when we reached the end of the data.
2010-12-14 15:28:40 +01:00
Wim Taymans
ffc7cd9803 jitterbuffer: avoid leaking sink events
Avoid leaking the newsegment event when it has the wrong format.
2010-12-13 12:57:58 +01:00
Wim Taymans
acc37e52a7 mp4vpay: we can also accept xvid caps 2010-12-12 15:14:40 +01:00
Jan Schmidt
9941d3f0a2 deinterlace: Avoid infinite loop draining frames
When the pipeline is flushed just as we're draining history,
don't loop infinitely, just discard the history and abort.
2010-12-12 10:15:13 +11:00
Sebastian Dröge
e7ac799278 qtdemux: Check if there's actually a seek table before parsing it 2010-12-11 17:49:03 +01:00
Kishore Arepalli
5d9c8996da qtdemux: Implement CONVERT and FORMATS query
Fixes bug #636784.
2010-12-11 17:46:17 +01:00
Tim-Philipp Müller
d73440cb97 matroska-demux: put unrecognised RIFF format IDs into the unknown caps
Extra info can't hurt. Field names aren't necessarily consistent with
what's used elsewhere though (e.g. avidemux), but then neither are the
caps.

https://bugzilla.gnome.org/show_bug.cgi?id=623178
2010-12-11 14:53:28 +00:00
Mark Nauwelaerts
287894a89a rtspsrc: mark DISCONT when resuming PLAY
In particular, when streaming interleaved, this arranges for setting a new
timestamp on outgoing buffer so downstream can appropriate reset
to a change in (rtp)time.
2010-12-10 12:11:15 +01:00
Mark Nauwelaerts
c25625c31c rtspsrc: degrade gracefully upon failing seek and tweak QUERY_SEEKING response 2010-12-10 12:09:49 +01:00
Mark Nauwelaerts
52b5929a2b rtspsrc: add and use auto buffering mode
... which selects BUFFER for a non-live stream, and otherwise SLAVE.

Fixes #633088.
2010-12-10 12:09:32 +01:00
Wim Taymans
6729a3b79c j2kdepay: make the depayloader more resilient
Use 3 adapters, one to accumulate paketization units, another on to accumulate
tiles and a last one to accumulate the final frame.
Don't just blindly flush the adapter on DISCONT but only discard the current
packetization unit.
When we dropped jpeg2000 packets between SOP markers, adjust the SOT header with
the new lenght.
2010-12-09 18:18:24 +01:00
Mark Nauwelaerts
df2982ce7d qtdemux: fix flow return aggregation 2010-12-09 13:57:49 +01:00
Mark Nauwelaerts
5239e19e9c qtdemux: fix handling near end-of-file corner cases
Also, relax some error handling to not bail out completely when something
feels amiss, but consider this EOF and continue with was obtained so far.
2010-12-08 11:37:30 +01:00
Mark Nauwelaerts
d2948bb259 qtdemux: fragmented support; fix offset handling and relax error raising
In particular, accept unknown stream in track fragment, and only error out
if that raises problems later on with respect to offset tracking.

Fixes #620283.
2010-12-07 17:20:00 +01:00
Mark Nauwelaerts
6f8ce30c20 flvdemux: use aac codec-data to adjust samplerate if needed
Based on patch by Fabien Lebaillif-Delamare <fabien@arq-media.com>

Fixes #636621.
2010-12-07 13:12:02 +01:00
Alessandro Decina
c882b3f340 qtdemux: fix compiler warnings on OSX. 2010-12-06 19:59:49 +01:00
David Hoyt
6e7474459a imagefreeze: pass along eos if received before buffer arrives
Fixes #636172.
2010-12-06 15:23:00 +01:00
Andoni Morales Alastruey
fd6bc949c8 matroskamux: try to write timestamps in all the outgoing buffers
Fixes #632654.
2010-12-06 13:01:17 +01:00
Mark Nauwelaerts
1d4496254d progressreport: optionally determine progress using buffer metadata
Based on patch by Leo Singer <lsinger at caltech.edu>

Fixes #629418.
2010-12-06 12:18:31 +01:00
Guillaume Emont
92720fa048 navseek: add basic support to change playback rate
The following keys will now be interpreted by navseek:
 'f' means fast forward: the stream gets played at rate 2.0
 'r' means rewind: the stream gets played at rate -2.0
 'n' means normal: the stream gets played at rate 1.0

Fixes #631516.
2010-12-03 15:52:08 +01:00
Mark Nauwelaerts
bdb4019678 qtdemux: add support for e(a)c-3 audio 2010-12-03 15:52:08 +01:00
Mark Nauwelaerts
44bf274b60 qtdemux: avoid sending EOS event twice 2010-12-03 15:52:08 +01:00
Mark Nauwelaerts
d4ceb8c7a6 qtdemux: remove dead code trying to update stream duration
On the one hand, it insufficiently checks whether it only updates a dummy
segment.  On the other hand, only doing this at the time the last sampled is
prepared (and sent downstream) is too little too late.
2010-12-03 15:52:08 +01:00
Mark Nauwelaerts
39a3fd40bf qtdemux: fragmented support; handle ismv sample flags 2010-12-03 15:52:08 +01:00
Mark Nauwelaerts
b4fb2ac99c qtdemux: fragmented support; handle ismv stbl atoms
... or lack of some thereof, such as mandatory stsz.  Shuffle some code
in _stbl_init to detect this early enough.
2010-12-03 15:52:08 +01:00
Mark Nauwelaerts
283e2b1bcd qtdemux: fragmented support; compensate for ismv offset handling
... or lack thereof, which according to specs would put media data in
unlikely position.
2010-12-03 15:52:07 +01:00
Mark Nauwelaerts
dfa54ed8cb qtdemux: fragmented support for push mode 2010-12-03 15:52:05 +01:00
Mark Nauwelaerts
d66a3db6b8 qtdemux: fragmented support; proper and incremental moof parsing
That is, parse each moof in one pass (considering all contained streams'
metadata), and do so incrementally as needed for playback rather than
an initial complete scan of all moof (though all moov sample metadata
is fully parsed at startup).
2010-12-03 15:50:33 +01:00
Mark Nauwelaerts
73bbd8e7d3 qtdemux: refactor stream freeing 2010-12-03 15:50:33 +01:00
Mark Nauwelaerts
eb5c958143 qtdemux: delegate linear search for sample to binary search when possible
Also arrange for parsing a sample prior to taking a reference to it,
which requires less memory layout assumptions for correctness.
2010-12-03 15:50:33 +01:00
Mark Nauwelaerts
b7c27029e5 qtdemux: fragmented support; handle moov samples and proper stream duration 2010-12-03 15:50:32 +01:00
Mark Nauwelaerts
4790603d31 qtdemux: fragmented support; consider mvex and handle flags and offset fields 2010-12-03 15:50:32 +01:00
Mark Nauwelaerts
4bcad634f8 qtdemux: fragmented support; forego check for short streams
... as some bogus files may indicate streams of 0 duration in moov,
while indicating the complete movie duration in mvhd (the latter should
be in mehd).
2010-12-03 15:50:32 +01:00
Mark Nauwelaerts
30065f8f01 qtdemux: fragmented support; code cleanups and optimizations in atom parsing
Avoid extra allocation in _parse_trun, add more checks for parsing errors,
add or adjust some debug statement, fix comments, sprinkle some branch
prediction.
2010-12-03 15:50:32 +01:00
Thiago Santos
4f62f49a17 qtdemux: parse_moof should return TRUE on success 2010-12-03 15:50:32 +01:00
Thiago Santos
7dabc7764e qtdemux: Fix iteration bug
Avoid infinite loop when iterating traf
2010-12-03 15:50:32 +01:00
Thiago Santos
f48817522d qtdemux: Refactor trun parsing
The allocation of the samples can be placed out of the loop.
Makes the code clearer.

Also avoid relying on traf information as it is placed on the
end of the file and might not be acessible on push mode.
2010-12-03 15:50:31 +01:00
Thiago Santos
400f22bfe3 qtdemux: Remove parsing of unused atom
sdtp atom is parsed but not used, so we don't have to
parse it.
2010-12-03 15:50:31 +01:00
Mark Nauwelaerts
19b87dbdbe qtdemux: tweak wam support
... with some comment and portability macros.
2010-12-03 15:50:31 +01:00
Marc-André Lureau
293e6a61b4 qtdemux: support wma & vc-1
https://bugzilla.gnome.org/show_bug.cgi?id=596321
2010-12-03 15:50:31 +01:00
Andoni Morales Alastruey
6f05c5c050 qtdemux: parse fmp4 samples information
The fragmented mp4 format stores the tracks and samples information in the
'moof' boxes, which are appended before each fragment (fragment->'moof'+'mdat').
The 'mfra' box stores the offset of each 'moof' box and their presentation
time. The location of this box can be retrieved from the 'mfro' box, which is
located at the end of the file.
The 'mfra' box is parsed to get the offset of each 'moof' box and their
presentation time.
Each 'moof' box can contain information for one or more tracks inside
'tfhd' boxes. For each track in a 'moof', we have a 'trun' box, which
contains information of each sample (offset and duration) used to build
the samples table.

Based on patch by Marc-André Lureau <mlureau@flumotion.com>

https://bugzilla.gnome.org/show_bug.cgi?id=596321
2010-12-03 15:50:31 +01:00
Marc-André Lureau
e7a1c32a4f qtdemux: add fragmented mp4 fourccs
Adds fourcc's for tfra, tfhd, trun, sdtp, trex, mehd and
their dumps

https://bugzilla.gnome.org/show_bug.cgi?id=596321
2010-12-03 15:50:31 +01:00
Marc-André Lureau
c9b866a994 qtdemux: parse the track id from the track header
Signed-off-by: Andoni Morales Alastruey <amorales@flumotion.com>

https://bugzilla.gnome.org/show_bug.cgi?id=596321
2010-12-03 15:50:31 +01:00
Marc-André Lureau
2fa531ee3c qtdemux: allow pulling atoms with unknown size
Signed-off-by: Andoni Morales Alastruey <amorales@flumotion.com>

https://bugzilla.gnome.org/show_bug.cgi?id=596321
2010-12-03 15:50:30 +01:00
Marc-André Lureau
994313da50 qtdemux: make qtdemux_dump_mvhd parse version 1 correctly
Versions 0 and 1 of mvhd have different sizes of its values
(32bits/64bits). This patch makes it dump them correctly.

Also use the right node in the parameter and not the root node.

https://bugzilla.gnome.org/show_bug.cgi?id=596321
2010-12-03 15:50:30 +01:00
Mark Nauwelaerts
b9048fd953 matroskademux: minor cleanups in setting streamheader on caps 2010-12-03 15:50:30 +01:00
Mark Nauwelaerts
7be2ee8710 matroskademux: normalize empty Cues to no Cues
... to trigger indexless seeking.
2010-12-03 15:50:30 +01:00
Mark Nauwelaerts
e09e80eb2f avidemux: add workaround for buggy list size
Fixes truncated extra-data in hdrl/strl/strf due to buggy containing
list size not accounting for padding in contained chunks.
2010-12-03 15:50:30 +01:00
Mark Nauwelaerts
46c91476eb rtpssrcdemux: do not hold custom PAD_LOCK when pushing downstream 2010-12-03 15:50:21 +01:00
Mark Nauwelaerts
0f2373cbd1 rtspsrc: reset session manager base time when flushing
... as rtpbin uses running time to handle rtpjitterbuffer's buffer mode pauses.
2010-12-03 15:50:17 +01:00
Mark Nauwelaerts
148af2235e rtspsrc: include range request for all streams with non-aggregate control 2010-12-03 15:50:17 +01:00
Mark Nauwelaerts
dedf145316 rtspsrc: fix debug statement 2010-12-03 15:50:17 +01:00
Edward Hervey
13ef2ccc97 avidemux: Parse more variants of numerical IDIT tag 2010-12-03 15:38:00 +01:00
Edward Hervey
8eb0de13df flvdemux: Refactor tag pushing logic
The logic of when to push was wrong also (resulting in some tags never
being pushed).
2010-12-03 14:53:48 +01:00
Edward Hervey
4fde700113 flvdemux: Use pbutils for codec descriptions 2010-12-03 14:53:47 +01:00
Edward Hervey
86933b40e9 avidemux: Also extract IDIT tags present too early
https://bugzilla.gnome.org/show_bug.cgi?id=636143
2010-12-03 12:13:34 +01:00
Edward Hervey
0cff917a51 avidemux: Also emit DateTime tag
https://bugzilla.gnome.org/show_bug.cgi?id=636143
2010-12-03 12:13:34 +01:00
Tim-Philipp Müller
bd87d8d1dd wavparse: detect DTS advertised as PCM correctly in some more cases
The DTS typefinder may return a lower probability for frames that start
at non-zero offsets and where there's no second frame sync in the first
buffer. It's fairly unlikely that we'll acidentally identify PCM data
as DTS, so we don't do additional checks for now.

https://bugzilla.gnome.org/show_bug.cgi?id=636234
2010-12-03 10:18:43 +00:00
Thiago Santos
6511730ba1 qtdemux: Parse and use creation time tag from mvhd
Expose creation time from mvhd as a datetime tag

Fixes #634928
2010-12-02 17:12:29 -03:00
Andoni Morales Alastruey
be2d04e040 icydemux: Add 'StreamUrl' metadata as GST_TAG_HOMEPAGE tag 2010-12-02 19:18:03 +01:00
Tom Janiszewski
05cc505289 flvmux: Fix for nellymoser codecid setting
Fixes bug #632897.
2010-12-02 19:18:03 +01:00
Sebastian Dröge
d9a1f3d628 matroskamux: Add support for E-AC3 2010-12-02 19:18:02 +01:00
Sebastian Dröge
01c4117037 matroskamux: Add support for DTS 2010-12-02 19:18:02 +01:00
Wim Taymans
005e27fa79 j2kpay: use SOP markers to split bitstream
When parsing the bitstream, look for SOP markers because we are allowed to split
packets on those marker boundaries.
Rework the parsing code a little so that we can pack multiple Packetization
units in one RTP packet.
2010-12-02 19:16:48 +01:00
Wim Taymans
29363d6068 rtpj2kpay: use buffer lists
Use buffer lists for doing zerocopy payloading.
Add property to disable buffer lists.
2010-12-02 19:16:47 +01:00
Wim Taymans
7e47921637 h264pay: small cleanups
Allocate adapter only once.
Make some guint8 * const.
2010-12-02 19:16:47 +01:00
Tambet Ingo
9d52c1a1d7 rtph264pay: implement full bytestream scan mode.
Implement the full bytestream scan mode.

Fixes #634910
2010-12-02 19:16:47 +01:00
Wim Taymans
7ed250c793 rtspsrc: select multicast transports in a smarter way
When we see a multicast address in the SDP connection, only try to negotiate a
multicast transport with the server.

Fixes #634093
2010-12-02 19:16:47 +01:00
David Schleef
b27d93a84a deinterlace: analyse RFF fields in correct order
Code was repeating the second field, not the first.
Fixes: #636179.
2010-11-30 17:28:00 -08:00
Mark Nauwelaerts
b6b0de0c49 rtspsrc: handle stale digest authentication session data
In particular, handle Unauthorized server response when trying to convey
keep-alive.

Fixes #635532.
2010-11-29 17:34:28 +00:00
Thijs Vermeir
e7b1655069 rtph264depay: fix segfault on empty payload
https://bugzilla.gnome.org/show_bug.cgi?id=635843
2010-11-26 23:33:40 +00:00
Tim-Philipp Müller
baacc9952a deinterlace: fix reference leak 2010-11-14 00:18:16 +00:00
Jan Schmidt
89a24bd36f deinterlace: Flush QoS and history before applying segment
When handling newsegment, flush out the buffer history in the
existing segment, not the new one. Fixes playback in some DVD
cases.

Partially fixes #633294
2010-11-12 13:21:09 +00:00
Tim-Philipp Müller
5adbc1e4c0 deinterlace: improve event logging 2010-11-12 12:20:16 +00:00
Robert Swain
9be159b32c deinterlace: Implement field history flushing
In a number of cases it is necessary to flush the field history by
performing 'degraded' deinterlacing - that is, using the user-chosen
method for as many fields as possible, then using vfir for as long as
there are >= 2 fields remaining in the history, then using linear for
the last field.

This should avoid losing fields being kept for history for example at
EOS.

This may address part of #633294
2010-11-12 10:40:51 +00:00
Robert Swain
5a56274cba deinterlace: Refactor chain function
This is needed to be able to output a frame from outside the chain
function, i.e. in the following commit that adds flushing of the field
history.
2010-11-12 10:40:48 +00:00
Jonathan Matthew
5b68b64617 icydemux: fix use-after-free of taglist
Broken by commit 4c2f5333 (bug #630205).

https://bugzilla.gnome.org/show_bug.cgi?id=633970
2010-11-04 09:34:11 +00:00
Wim Taymans
706731b331 rtph264depay: only set delta unit on all-non-key units
Only set the delta flag when all of the units in the packet are delta units.
Based on patch from Olivier Crête <olivier.crete@collabora.co.uk>

Fixes #632945
2010-11-01 15:09:05 +01:00
Thiago Santos
e400c8482a goom: Return not-negotiated when bps is unknown
If caps weren't negotiated, goom should return not-negotiated
from its chain functions instead of using bps unitialized, which
leads to a division by 0

https://bugzilla.gnome.org/show_bug.cgi?id=633212
2010-10-28 10:34:29 -03:00
Jan Schmidt
3ab2eeecb8 videoflip: Forward src pad events upstream.
Fix passing navigation and other events upstream by actually sending them.

Fixes: #633205
2010-10-27 11:59:07 +01:00
Tim-Philipp Müller
ac70239020 qtdemux: fix deadlock in error code path
GST_ELEMENT_ERROR must not be called with the object lock held,
since it will call gst_object_get_parent() internally, which
takes the object lock as well.
2010-10-24 18:57:59 +01:00
Philip Jägenstedt
7fcd7d8cf2 matroskademux: Remove useless clearing of send_xiph_headers for Dirac
This looks like a mistake when copy-pasting the Theora code.

https://bugzilla.gnome.org/show_bug.cgi?id=632682
2010-10-23 16:10:14 +01:00
Philip Jägenstedt
6cf398cdf3 matroskademux: don't crash if vorbis/theora codec data is missing
Error out properly in this case instead of crashing.

https://bugzilla.gnome.org/show_bug.cgi?id=632682
2010-10-23 14:05:46 +01:00
Mark Nauwelaerts
ca7870de49 rtspsrc: fix duration reporting
Init segment prior to storing duration info in it.

Fixes #632548.
2010-10-19 16:47:20 +02:00
David Schleef
e9d4710cc8 Update generated orc code 2010-10-15 14:02:57 -07:00
Olivier Crête
077a61932a rtpbin: Use the right constant to define the "use-pipeline-clock" property
The wrong #define was being used, now use the correct one.
2010-10-14 17:41:30 -04:00
Mark Nauwelaerts
4085f12058 ac3: demuxers provide framed output 2010-10-14 17:29:26 +02:00
Tim-Philipp Müller
7a8ebc4a79 matroskamux: reduce newsegment event spam and set discont flag where needed
Only send newsegment events with new positions downstream when actually
needed, instead of sending multiple newsegment events with new seek
positions in a row. Also set the discont flag on buffers after a
discontinuity.
2010-10-14 14:00:59 +01:00
Tim-Philipp Müller
84e47e579b matroskamux: set correct buffer offsets after seeks
Re-use the existing 'pos' field maintained by ebml writer to set
buffer offsets. This also makes sure that we set the right offsets
on buffers after a seek (e.g. when writing an index at the end).
2010-10-14 12:48:33 +01:00
Tim-Philipp Müller
6ff3dfe946 matroskamux: don't forward tag events downstream
Don't forward stream-specific tag events downstream (esp. not
before any newsegment event).x
2010-10-14 12:48:00 +01:00
Mark Nauwelaerts
c7a8d672a7 qtdemux: handle another mp4v variation
... including the glbl atom containing codec-data.
2010-10-13 17:26:33 +02:00