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
Stefan Kost
d8167e3071
various (gst): add a missing G_PARAM_STATIC_STRINGS flags
2010-10-13 18:00:28 +03:00
Stefan Kost
2975307f86
various: wrap property registration and add a single fixme for long desc.
2010-10-13 17:39:21 +03:00
Wim Taymans
9f8b56b974
h264depay: always mark the codec_data as keyframe
...
We need to mark the codec_data as a keyframe or else downstream decoders might
decide to skip it, waiting for a keyframe.
Fixes #631996
2010-10-13 11:48:49 +02:00
Zaheer Abbas Merali
6f0030f701
matroskamux: make buffer offsets a byte count rather than a buffer count
2010-10-13 07:17:24 +01:00
Tim-Philipp Müller
d65eb2b91a
ext, gst: canonicalise property names where this wasn't the case
...
ie. "foo_bar" -> "foo-bar"
2010-10-12 16:04:21 +01:00
Thijs Vermeir
bcde8c1b29
rtpmpvpay: fix timestamping of rtp buffers
...
Incomming buffer is only pushed on the adapter at the end of the
handle_buffer function. But duration/timestamp of this buffer is already
taken into account for the current data in the adapter. This leads to
wrong rtp timestamps and extra latency.
2010-10-12 15:17:02 +02:00
Wim Taymans
ee7207aa3e
rtspsrc: mark as a source
...
Mark the rtspsrc element as a source.
Requires 0.10.31.1 now
2010-10-11 15:12:51 +02:00
Sebastian Dröge
bcb4f50323
autodetect: Set GST_ELEMENT_IS_SOURCE flag on sources
2010-10-11 14:24:52 +02:00
Zaheer Abbas Merali
f012ab67cc
matroskamux: set offsets on outgoing buffers
2010-10-10 14:44:43 +01:00
Robert Swain
6a6f90e745
deinterlace: Fix required fields logic
...
Both history_count and fields_required count from 1. As per the while loop
condition that follows this code, to perform the deinterlacing method, we need
history_count >= fields_required fields in the history. Therefore if we have
history_count < fields_required (not fields_required + 1), we need more fields.
2010-10-06 15:05:36 +02:00
Andoni Morales Alastruey
0bffae750b
flvmux: resend onMetada tag when tags changes in streamable mode
2010-10-06 09:14:24 +02:00
Arun Raghavan
4a244e0d55
qtdemux: AAC codec_data can be > 2 bytes long
...
This fixes the assumption that DecoderSpecificInfo must be 2 bytes long
for AAC files. The specification allows HE-AAC to be explicitly
signalled in a backward compatible way. This is done by means of an
additional information after the regular AAC header. It is expected that
decoders that can play AAC but not HE-AAC will parse the header normally
and ignore extended bits, much as they do for the HE-AAC specific payload
in the actual stream.
https://bugzilla.gnome.org/show_bug.cgi?id=612313
2010-10-05 19:45:31 +01:00
Mark Nauwelaerts
bb9a8a9b7d
matroskademux: only unref buffer when no longer needed for cluster scanning
...
Fixes #629047 .
2010-10-05 16:03:10 +02:00
Mark Nauwelaerts
e0d11f0644
matroskademux: avoid infinite cluster scanning
2010-10-05 16:03:08 +02:00
Wim Taymans
49d5d8f69e
goom: take duration into account when doing QoS
...
Take the duration of the frames into account so that we don't drop frames that
are only partially past the QoS deadline.
2010-10-05 12:23:15 +02:00
Wim Taymans
cd5f31f751
goom: use adapter for timestamping
...
Use the adapter timestamp code to get more accurate timestamps.
Fix latency calculation, we add our own latency in the worst case.
2010-10-05 12:23:15 +02:00
Andoni Morales Alastruey
4c2f5333bb
icydemux: forward tag events
...
https://bugzilla.gnome.org/show_bug.cgi?id=630205
2010-10-04 20:10:02 +02:00
Wim Taymans
a060a65786
goom2k1: report our latency correctly
...
Fixes #631303
2010-10-04 19:01:03 +02:00
Wim Taymans
8c910a25fe
goom2k1: add defines for default width/height/fps
...
Add some defines for the default width/height/fps instead of using different
values in different places.
2010-10-04 18:56:15 +02:00
Wim Taymans
418eae3ee3
goom: add latency compensation code.
...
Implement a latency query and report how much latency we will add to the
stream.
Alse make some defaults for the default width/height/framerate
Fixes #631303
2010-10-04 18:52:14 +02:00
Sebastian Dröge
a4c27169b6
rtp: Fix unitialized compiler warnings on OS X build bot
...
These warnings are wrong though, the variables are only used in
the cases where they *are* initialized by the bit reader.
2010-10-04 09:39:59 +02:00
Sebastian Dröge
c1877deee0
rtpg722pay: Fix uninitialized variable compiler warning
...
The clock rate is always 8000 Hz according to the RFC and
the sampling rate must always be 16000 Hz.
2010-10-03 23:49:08 +02:00
Vladimir Eremeev
8bf7381385
rtpjitterbuffer: improve article reference in comment block
...
https://bugzilla.gnome.org/show_bug.cgi?id=631082
2010-10-01 18:07:03 +01:00
Arun Raghavan
c65305d70e
qtdemux: Use pbutils for H.264 profile/level extraction
...
The functions used to extract this data have been moved to gstpbutils to
facilitate reuse.
https://bugzilla.gnome.org/show_bug.cgi?id=617318
2010-10-01 17:07:36 +01:00
Arun Raghavan
9e786de9c8
matroskademux: Use pbutils for H.264 profile/level extraction
...
The functions used to extract this data have been moved to gstpbutils to
facilitate reuse.
https://bugzilla.gnome.org/show_bug.cgi?id=617318
2010-10-01 16:58:46 +01:00
Arun Raghavan
1a37a62454
qtdemux: Export MPEG-4 video profile and level in stream caps
...
This uses gstpbutils to extract the profile and level from the video
object sequence and adds this to stream caps. This can be used as
metadata and for fine-grained decoder selection.
https://bugzilla.gnome.org/show_bug.cgi?id=616521
2010-10-01 14:41:44 +01:00
Tim-Philipp Müller
64753bdbe8
qtdemux: fix aac channel override based on codec data for 7.1 case
2010-10-01 11:42:15 +01:00
Arun Raghavan
845a3d6c3d
qtdemux: Export AAC profile and level in caps
...
This exports the AAC profile and level in caps for use as metadata and
(eventually) for more fine-grained selection of decoders at
caps-negotiation time. (Doesn't work for HE-AAC yet though.)
https://bugzilla.gnome.org/show_bug.cgi?id=612313
2010-10-01 11:41:53 +01:00
Wim Taymans
78e4a260b4
rtp: add G722 pay and depayloader
2010-09-30 18:34:36 +02:00
Thijs Vermeir
2c2c90a723
rtpjitterbuffer: update link to documentation
2010-09-30 12:08:49 +02:00
Tim-Philipp Müller
a461b94629
wavenc: miniscule code clean-up
...
GST_CLOCK_TIME_NONE is not something that should be used in connection with
GST_FORMAT_BYTES.
2010-09-29 18:53:26 +01:00
Mark Nauwelaerts
8d69663026
avidemux: reverse playback; prevent overlap of subsequent fragments
2010-09-29 11:00:08 +02:00
René Stadler
0cfe24d132
rtspsrc: fix missing null-terminator in protocols array
...
Fixes random crash regression from commit ae84ae.
2010-09-28 16:21:48 +03:00
Wim Taymans
ef29a59903
rtspsrc: don't add /UDP in the transport, it's the default
...
don't add the default UDP lower-transport, some servers don't seem to like it.
Fixes #630500
2010-09-24 16:26:20 +02:00
Pascal Buhler
7a8c2a4b8a
rtpmanager: packet lost should not be a warning. It happens all the time...
2010-09-24 16:00:03 +02:00
Pascal Buhler
ca6a512b5e
rtpbin: Make cleaning up sources in rtp_session_on_timeout MT safe
...
Using _foreach_remove on the hashtable, while releasing the lock protecting
that table inside the callback is not a good idea. The hashtable might
then change (a source removed or added) while signals like on_timeout
are being sent.
This solution makes a copy of the table, performs the _foreach without
actually removing any sources, but marks them for removal on a second
iteration with the real list, but this time not letting go of the lock.
Fixes #630452
2010-09-24 15:38:00 +02:00
Edward Hervey
87a9d7f679
id3demux: Sanitize id3 frame names
...
This is similar to what is done in qtdemux. Avoids providing invalid
structure/tags names
2010-09-24 15:27:24 +02:00
Edward Hervey
c6c941f315
apedemux: Skip empty tags
...
Avoid creating bogus string tags. Also added logging of the string
values of the tag name and value.
2010-09-24 15:27:24 +02:00
Pascal Buhler
bd8d80a8e4
rtpbin: Handle rysnc of iterator when looking for free pad name
...
If a new pad was added while iterating then a pad could be
returned that was already in use.
Fixes #630451
2010-09-24 14:10:26 +02:00
Wim Taymans
8337c89c74
rtpsession: fix compilation
2010-09-24 14:10:26 +02:00
Trond Andersen
800b4bdb26
rtpbin: Unlock before adding pad in new_payload_found
...
Holding internal locks while potentially calling out is a source
of deadlocks, and in this case the application might subscribe to the
pad-added signal.
Fixes #630449
2010-09-24 14:00:11 +02:00
Havard Graff
062568a9f5
rtpsession: relax third-party collision detection
...
If the source has been inactive for some time, we assume that it has
simply changed its transport source address. Hence, there is no true
third-party collision - only a simulated one.
Fixes #630447
2010-09-24 13:56:56 +02:00
Wim Taymans
ce007b244e
rtpsource: whitespace fixes
2010-09-24 13:50:02 +02:00
Wim Taymans
c5203a479b
rtpsource: simplify the rate estimation some more
2010-09-24 13:48:50 +02:00
Havard Graff
0fa589a3dd
rtpmanager: provide additional statistics
2010-09-24 13:26:10 +02:00
Tim-Philipp Müller
730cfd609a
equalizer: fix class definitions
...
Class structures must be based on the parent class struct, not on
the parent instance struct.
2010-09-23 21:22:45 +01:00
Tim-Philipp Müller
4451718eff
videomixer2: pre-register pad class properly with g_type_class_ref
...
Fix code to match the comment. Also, there's no need to register the
background enum type again, this is already done via install_property.
2010-09-23 21:22:45 +01:00
Havard Graff
3e894a1f29
level: avoid division by zero on silence
...
Fixes bug #630458 .
2010-09-23 21:19:01 +02:00
Wim Taymans
9e7b890a22
flvdemux: parse and use cts
...
For H264, there is an extra header containing the CTS, which is a timestamp
offset that should be applied to the PTS. Parse this value and use it to adjust
the pts.
Fixes #630088
2010-09-23 16:46:31 +02:00
Wim Taymans
77f02c2d7e
flvdemux: improve pts debugging
2010-09-23 16:45:41 +02:00
Edward Hervey
6ce6ad41d5
qtdemux: Don't post tags if there are none
...
And make all code go through _post_global_tags.
2010-09-22 12:56:39 +02:00
Wim Taymans
f5c65a919f
rtph264depay: refactor and simplify AU merging
...
Move the processing of the NALU to a separate method.
Simplify the merging of NALU into AU and use common code when possible.
2010-09-22 12:41:23 +02:00
Sebastian Dröge
72b7685bef
shapewipe: Force format to AYUV in the example pipeline for the same reason
2010-09-21 19:15:22 +02:00
Sebastian Dröge
a1890f8d44
shapewipe: Improve debugging and immediately return empty caps from the getcaps functions
2010-09-21 19:15:22 +02:00
Thiago Santos
52f5e95aee
qtdemux: Parse uuid atoms in push mode
...
Parses uuid atoms in push mode when they are found, they might
contain xmp tags.
Also does a minor refactoring to put the global tags posting
into a single function instead of repeating it in 3 different
places.
Fixes #629839
2010-09-20 23:39:38 -03:00
Thiago Santos
9227352e31
qtdemux: Delay tags posting a little
...
Delay tags posting until we've parsed all the headers so
that the native and xmp tags get merged before posting
https://bugzilla.gnome.org/show_bug.cgi?id=629839
2010-09-20 22:37:26 -03:00
Thiago Santos
8d6cabf9c3
qtdemux: Parse xmp packet in uuid atom
...
xmp packet is placed into a top-level uuid atom for
isom/mp4 variants.
This patch makes qtdemux parse all top-level atoms
in pull-mode before starting to push data, making
it able to find those tags.
https://bugzilla.gnome.org/show_bug.cgi?id=629839
2010-09-20 22:37:26 -03:00
Wim Taymans
2c8b725591
rtpstats: printf format fixes
2010-09-17 11:07:52 +02:00
Wim Taymans
9cc24e1b94
rtppay: some printf format fixes
2010-09-17 11:07:02 +02:00
Alessandro Decina
3605bd454a
qtdemux: fix logic when pushing EOS.
...
Don't check for return values when pushing EOS. Still post an error if EOS is
reached and no streams have been found.
2010-09-15 18:27:24 +02:00
Alessandro Decina
42cde1ba3c
qtdemux: don't send EOS twice on the same pad.
2010-09-14 17:43:33 +02:00
Wim Taymans
604c6555a4
rtpjpegpay: cleanups for DRI markers
...
Protect against invalid DRI markers.
do some cleanups
2010-09-13 17:31:35 +02:00
American Dynamics
0f3151c73b
gstrtpjpegpay: Added Define Restart Interval (DRI) Marker
...
Added ability to detect and respond to a JPEG-defined DRI marker
2010-09-13 16:47:23 +02:00
Olivier Crête
8e73da10b3
gstrtpsession: Split getting the caps into its own function
2010-09-13 16:25:42 +02:00
Wim Taymans
8e1c9b5b33
rtpbin: small cleanup.
2010-09-13 16:25:42 +02:00
Wim Taymans
d541f5e24d
rtpsession: Small cleanups
...
Make the property description prettier.
Actually multiple the bandwidth with the fraction.
2010-09-13 15:51:20 +02:00
Olivier Crête
1f17b334ff
rtpsession: Calculate RTCP bandwidth as a fraction of the RTP bandwidth
...
Calculate the RTCP bandwidth to be a fraction of the RTP bandwidth if it is
specified as a value between 0 and 1.
2010-09-13 15:51:20 +02:00
Wim Taymans
8381d9788d
session: improve bandwidth recalculation
...
Also recalculate bandwidth when one of the source bandwidths changed.
Use the newly calculated bandwidth.
2010-09-13 15:51:20 +02:00
Olivier Crête
6f53a2b240
rtpsession: Add the option to auto-discover the RTP bandwidth
2010-09-13 15:51:19 +02:00
Thijs Vermeir
f38e37470a
rtpbin: set use-pipeline-clock on correct GObject
2010-09-13 14:39:51 +02:00
Olivier Crête
94e87ef8ee
rtpsession: Initialise the average scaled by 16
2010-09-13 13:10:19 +02:00
Wim Taymans
e6db74764b
rtpsession: add running_time argument docs
2010-09-13 12:41:56 +02:00
Olivier Crête
00fd89c074
rtpstats: Rectify description of current_time in RTPArrivalStats
...
It is the current time, it is unrelated to when the packet was actually received.
2010-09-13 12:37:01 +02:00
Wim Taymans
cb6de429a0
rtpsession: compute the average correctly scaled
2010-09-13 12:31:40 +02:00
Olivier Crête
64e4ffa25b
rtpsession: Count sent RTCP packets after they have been finished
...
If they are counted before calling gst_rtcp_buffer_end(), then the
size is way too big.
2010-09-13 12:13:23 +02:00
Olivier Crête
306ee454c6
gstrtpsession: Don't unref pads in finalize
...
The gstrtpsession object is not holding any reference to them directly
2010-09-13 12:10:11 +02:00
Wim Taymans
8f2d254e24
rtspsrc: don't clear sdp when set as uri
...
when we set the SDP with an uri, don't clear it when we go to READY.
2010-09-10 18:06:48 +02:00
Wim Taymans
7698d8bc4a
rtspsrc: use sdp uri parse method
...
Use the sdp parse method that does proper uri escaping.
2010-09-10 18:02:04 +02:00
Mark Nauwelaerts
d8a27ebe3e
rtpmparobustdepay: fix some mis-implementation
...
Also add some debug.
2010-09-10 13:26:43 +02:00
Mark Nauwelaerts
81773f9cce
rtpmparobustdepay: properly insert dummy buffers
2010-09-10 13:26:31 +02:00
Wim Taymans
ae84ae1b36
rtspsrc: add rtsp-sdp protocol support
...
Allow setting an SDP with the rtsp-sdp:// url.
Based on patch from Marco Ballesio.
See #628214
2010-09-10 12:14:21 +02:00
Alessandro Decina
51c9ad0233
alphacolor: make passthrough work.
2010-09-10 11:35:58 +02:00
Stefan Kost
d569cd8195
mp4adepay: small logging cleanup and addition to debug config parsing
2010-09-09 21:49:43 +03:00
Wim Taymans
de4a7fc4c4
rtpjpegpay: improve debugging
2010-09-09 18:48:53 +02:00
Mark Nauwelaerts
075afb6693
rtpmparobustdepay: use valid bitrate for dummy frame
2010-09-09 16:33:29 +02:00
Mark Nauwelaerts
91a60245b7
matroskademux: QoS handling logic only applies to forward playback
...
Fixes #628894 .
2010-09-08 17:51:34 +02:00
Sebastian Dröge
640cb863d4
rtpjpegpay: Fix uninitialized variable compiler warning
...
Fixes bug #629018 .
2010-09-08 07:13:42 +02:00
Wim Taymans
bd43ac854a
qtdemux: use older g_array_free
...
g_array_unref() is only since 2.22
2010-09-07 17:06:02 +02:00
Wim Taymans
2ed53fd77f
rtpjpegpay: do some more sanitity checks
...
Protect some more against invalid input.
2010-09-07 16:40:08 +02:00
American Dynamics
a482677a14
jpegpay: handle corrupted jpeg better
...
Protect against corrupted jpeg input.
2010-09-07 15:20:12 +02:00
Wim Taymans
474c013051
rvawdepay: cleanup unused fields
2010-09-07 13:56:54 +02:00
Wim Taymans
6be0c7b762
vrawdepay: handle invalid payload better
...
Make sure we don't read more data than available in the input buffer.
Clip the input data into the output buffer.
2010-09-07 13:56:53 +02:00
Stefan Kost
988f228da7
rtpmp4adepay: grab the sampling arte and put into caps
...
This is needed to be able to mux the received audio into mp4 (in the case of
aac). Fixes #625825 .
2010-09-06 21:54:25 +03:00
Tim-Philipp Müller
22560c473d
rtp: mark constant tables as const
2010-09-06 14:40:02 +01:00
Mark Nauwelaerts
2953801a5f
rtpamrpay: properly support perfect-rtptime
2010-09-06 14:47:05 +02:00
Mark Nauwelaerts
275e352a2e
rtpamrpay: proper duration for multiple frame payload
2010-09-06 14:47:02 +02:00
Mark Nauwelaerts
f5bbc56745
rtpamr(de)pay: support AMR-WB SID frame
2010-09-06 14:46:59 +02:00
Mark Nauwelaerts
d1974e386a
rtpg729pay: properly support perfect-rtptime
2010-09-06 14:46:56 +02:00
Mark Nauwelaerts
713719f705
qtdemux: improve framerate determining
...
Collect a limited number of starting sample durations and use the median of
those to determine caps framerate.
2010-09-06 14:45:43 +02:00
Mark Nauwelaerts
13b553bce7
matroskademux: attempt more resync upon (cluster) parse error
...
That is, if parse error occurs in state requiring to move to next cluster,
and doing so to the expected next position of cluster fails, then scan for a
next cluster from present position and resume from there.
Fixes #620790 .
2010-09-06 14:45:40 +02:00
Mark Nauwelaerts
4d9c1e99f2
matroskademux: not so fatal error handling
...
If some bits out of place in block(group) parsing, forego and move to next.
Also skip large blocks in pull mode, but need to give up in push mode.
Fixes #626463 .
Improves #620790 .
2010-09-06 14:45:37 +02:00
Mark Nauwelaerts
680eb51b68
matroskademux: additional parse recovery
...
In particular, upon parse failure in one cluster, we may forego remaining
content and try resuming from next cluster onwards.
Fixes #620790 .
2010-09-06 14:45:30 +02:00
American Dynamics
5999e8e716
rtspsrc: Add property to configure udpsrc buffer size
...
Add a new udp-buffer-size property to configure the buffer-size on the udpsrc
elements.
Fixes #628058
2010-09-06 12:22:11 +02:00
Wim Taymans
93228ccd52
rtpbin: add ntp-sync property
...
Add an ntp-sync property that will sync the received streams to the server
NTP time. This requires synchronized NTP times between the sender and receivers,
like with ntpd.
Based on patch from Thijs Vermeir.
Fixes #627796
2010-09-06 11:01:57 +02:00
Wim Taymans
f03fd91400
jitterbuffer: rename a variable to avoid confusion
2010-09-06 11:01:57 +02:00
Wim Taymans
e3479630ae
rtpbin: rename some variables for less confusion
2010-09-06 11:01:57 +02:00
Wim Taymans
0f59664c6a
rtpjitterbuffer: move comment where it belongs
2010-09-06 11:01:57 +02:00
Wim Taymans
4fd81747f3
session: minor cleanups
...
Make clock snapshots more accurate by only sampling the same clock once.
2010-09-06 11:01:57 +02:00
Thijs Vermeir
51020549f0
rtpbin: add use-pipeline-clock property
...
With this property RTCP SR NTP times can be based
on the system clock (maybe synced with ntpd) or the
current pipeline clock.
https://bugzilla.gnome.org/show_bug.cgi?id=627796
2010-09-06 11:01:57 +02:00
Wim Taymans
3bae70ceea
rtspext: stop configuration on first failure
...
Stop the configuration of a stream as soon as some of the extensions return
FALSE.
Fixes #581294
2010-09-06 11:01:57 +02:00
Wim Taymans
6660817af1
multifdsink: use refcount to count host/port duplicates
...
Instead of adding multiple client structures for the same host/port pair, use a
refcount.
Add a send-duplicates feature that allows you to disable sending multiple copies
of the same packet to the same host when it was added multiple times. The
send-duplicates property is by default set to TRUE for backwards compatibility
although it is very likely that this is not desired behaviour.
2010-09-06 10:45:28 +02:00
Wim Taymans
e4f8144bbf
rtspsrc: implement custom event handler
...
Extend the _push_event() function so that it can also send events to the udp
sources when asked.
Implement a custum send_event function that correctly dispatches the downstream
events in TCP mode. This fixes sending EOS to rtspsrc and have it push the EOS
downstream.
2010-09-06 10:45:23 +02:00
Wim Taymans
fadade4d4a
jpegdepay: handle DISCONT and reset state
...
Put a DISCONT event on the next output buffer when the input buffer had a
DISCONT.
Make sure we clear our adapter and reset our state before going to PAUSED.
Free the qtables.
Fixes #626869
2010-09-06 10:23:07 +02:00
Wim Taymans
3ec0d6b245
g729pay: extend from right parent
2010-09-06 10:23:07 +02:00
Stefan Kost
3b91ea7c81
qtdemux: use GST_BOILERPLATE macro
2010-09-06 09:57:58 +03:00
Stefan Kost
1c47115b8e
videmixer: add a example showing how to use the child properties
...
Show how to position and set the alpho of the videos on gst-launch.
2010-09-06 09:57:57 +03:00
Stefan Kost
77fe8c151a
spectrum only aggregate magnitude/phase if user asks for it
2010-09-06 09:53:00 +03:00
Stefan Kost
0dca0becb2
spectrum: improve performance with local vars
...
Use 'input' instead of 'spectrum->input' which was intende already (variable
exists, but not used everywhere). Also use a local version of
'spectrum->input_pos'.
2010-09-06 09:53:00 +03:00
Stefan Kost
8beead14d0
spectrum: code cleanup
...
More comments and logging. Extract one complex condition to a variable. Reorder
some code for readability.
2010-09-06 09:53:00 +03:00
Stefan Kost
50a139de85
spectrum: improve property setter
...
consistently only update if the property actualy changed the value. Do it
without reading the gvalue twice. No need to reset the spectrum analyzer for
threshold changes.
2010-09-06 09:53:00 +03:00
Stefan Kost
61f22f4379
spectrum: add helper to only flush ringbuffer data without resetting the fft
...
Reduces some duplicated code as well.
2010-09-06 09:53:00 +03:00
Stefan Kost
34bdec3d58
spectrum: more comments
2010-09-06 09:53:00 +03:00
David Schleef
738e092d4e
deinterlace: Document methods with bad quality
2010-09-05 22:23:58 -07:00
David Schleef
9071cc8748
deinterlace: initialize all deinterlace class members
...
This fixes UYVY deinterlacing.
2010-09-05 22:23:58 -07:00
David Schleef
85aed94676
videomixer: orc_init() doesn't need to be called
...
There's no need to call orc_init() unless you're using the Orc
API directly. All code created by orcc is guaranteed to work
without calling orc_init().
2010-09-05 18:45:21 -07:00
David Schleef
6143a60bdb
deinterlace: Fix greedyl Orc implementation
...
To agree with the previous C/asm code.
2010-09-05 18:42:59 -07:00
Thiago Santos
de8fda9cc2
videomixer2: Fail when caps are incompatible
...
Do not forget to return false when caps are incompatible.
2010-09-05 22:34:36 -03:00
Thiago Santos
8435529073
videomixer: Only init orc if it is available
...
Put some ifdef around orc_init to prevent build errors
2010-09-05 20:56:52 -03:00
David Schleef
6584c75afe
deinterlace: Update disted Orc files
2010-09-04 12:46:31 -07:00
David Schleef
f35d546c71
deinterlace: remove assembly code in favor of orc
2010-09-04 12:39:11 -07:00
David Schleef
02196850dd
deinterlace: implement greedy in Orc
2010-09-04 12:39:11 -07:00
David Schleef
294d5c48da
update disted Orc files
2010-09-04 11:43:21 -07:00
Thibault Saunier
08fd719898
alphacolor: Fix classification
...
This is no effect but a converter. Fixes bug #628608 .
2010-09-04 14:55:43 +02:00
Sebastian Dröge
e79742205c
videomixer2: Add documentation and add to the docs
2010-09-04 14:55:43 +02:00
Sebastian Dröge
bcfd60a8d2
videomixer2: Add videomixer2 element
...
This is based on collectpads2 and is synchronizing
all streams based on the running time.
New features compared to old videomixer:
* Synchronizing frames on the running time
* Improved and simplified negotiation
* Full QoS support
* Variable framerate support
Fixes bug #626048 , #624905 .
2010-09-04 14:52:11 +02:00
Pavel Kostyuchenko
6940559c46
matroskademux: Relax parsing of date tags
...
Before we required a complete date in matroskademux but in
id3demux for example only the year or year and month was possible too.
Fixes bug #628454 .
2010-09-04 14:52:11 +02:00
Sebastian Dröge
55a52262d3
wavparse: Don't use GST_FLOW_IS_FATAL()
2010-09-04 14:52:10 +02:00
Sebastian Dröge
d224251df4
rtspsrc: Don't use GST_FLOW_IS_FATAL() and GST_FLOW_IS_SUCCESS()
2010-09-04 14:52:10 +02:00
Sebastian Dröge
7fe34f3889
qtdemux: Don't use GST_FLOW_IS_FATAL()
2010-09-04 14:52:10 +02:00
Sebastian Dröge
e8743b3789
matroskademux: Don't use GST_FLOW_IS_FATAL()
2010-09-04 14:52:09 +02:00
Sebastian Dröge
1243b76df7
rndbuffersize: Don't use GST_FLOW_IS_FATAL()
2010-09-04 14:52:09 +02:00
Sebastian Dröge
78eca34a6d
flvdemux: Don't use GST_FLOW_IS_FATAL()
2010-09-04 14:52:09 +02:00
Sebastian Dröge
1ce0b2dfc7
avidemux: Don't use GST_FLOW_IS_FATAL()
...
And document why wrong-state doesn't need an error message.
2010-09-04 14:52:09 +02:00
Sebastian Dröge
77c7f5fdcd
videomixer: Update disted ORC files
2010-09-04 14:52:09 +02:00
Sebastian Dröge
6da14d0c41
videomixer: Optimize ARGB blending and implement BGRA blending with orc
...
This now means, that we have absolutely no handwritten assembly anymore
in videomixer and it's also faster now when using SSE.
2010-09-04 14:52:09 +02:00
David Schleef
7cfa519547
videomixer: Add orc implementation for blending
...
videomixer: Add orc implementation for blending
2010-09-04 14:52:08 +02:00
David Schleef
1ace738c3a
videomixer: Fix example pipelines
...
videomixer: Fix example pipelines
2010-09-04 14:52:08 +02:00
Sebastian Dröge
86403e85c5
imagefreeze: Fix another subtle race condition related to starting the srcpad task
...
Due to a seek the srcpad task could be started in rare circumstances although
it shouldn't be started anymore because no upstream buffer is available.
2010-09-04 14:52:08 +02:00
Sebastian Dröge
e51fe6c181
imagefreeze: Protect the flushing-seek variable by the srcpad's stream lock
...
This fixes a subtle race condition, that caused bufferalloc to fail
with wrong-state due to a seek but caused it to be not retried as
it should.
2010-09-04 14:52:08 +02:00
Sebastian Dröge
d8ef9bb691
imagefreeze: Always generate a perfectly timestamped stream
...
Before there could be rounding errors when calculating the duration,
resulting in timestamp + duration being smaller than the next buffer's
timestamp.
2010-09-04 14:52:07 +02:00
Sebastian Dröge
95f5b494fa
wavparse: Post an error message if EOS happens before valid input is found
...
Fixes bug #627341 .
2010-09-04 14:52:06 +02:00
Sebastian Dröge
44a5cb4313
avidemux: Send close newsegment event from the streaming thread
2010-09-04 14:52:06 +02:00
Sebastian Dröge
62dd7c4efd
imagefreeze: Retry bufferalloc if it was aborted with WRONG_STATE because of a flushing seek
2010-09-04 14:52:05 +02:00
Sebastian Dröge
dffab828c6
imagefreeze: Return GST_FLOW_UNEXPECTED when getting a second buffer
...
This prevents upstream from pushing many useless buffers and makes
it go into EOS state.
2010-09-04 14:52:05 +02:00
Sebastian Dröge
134b1f0eee
imagefreeze: Passthrough buffer allocations
2010-09-04 14:52:05 +02:00
Tim-Philipp Müller
b26897dd84
Release 0.10.25
2010-09-02 23:44:19 +01:00
David Schleef
4eee45debb
deinterlace: use separate buffer metadata for fields
...
Call gst_buffer_make_metadata_writable() on buffers that are
duplicated into fields. Fixes #627689 .
2010-08-23 02:51:24 -07:00
Sebastian Dröge
9e981f6c2d
0.10.24.4 pre-release
2010-08-21 21:41:36 +02:00
Sebastian Dröge
90f273b165
imagefreeze: Send close segments when seeking only for non-flushing seeks and if we already sent a newsegment event
...
Fixes bug #626619 .
2010-08-12 11:29:53 +02:00
Mark Nauwelaerts
8ea04c66b8
qtdemux: prevent reading past avc1 atom when parsing
...
... when one of the subatoms has a large/invalid size.
Fixes #626609 .
2010-08-11 12:58:17 +02:00
Sebastian Dröge
19c8226c6d
videomixer: Fix pipeline in the documentation
...
Make sure that we have the same color format on all streams, i.e. AYUV
Fixes bug #625452 .
2010-08-06 19:24:56 +02:00
Sebastian Dröge
fc00857c82
videomixer: Move debug categories into the source files and add debug category for the blend functions
2010-08-04 19:43:08 +02:00
Wim Taymans
af70b300cc
rtpmp4gpay: implement perfect timestamps
...
Use bitreader for parsing the config string
Reset state variables when going to READY
Parse frame length and use it to keep track of the rtptimestamps
2010-08-04 10:40:24 +02:00
Wim Taymans
29b32853d5
rtph263pdepay: allow more clock-rates as input
...
Although the spec says that the clock-rate should always be 90000, some rtsp
servers send different clock-rates so we must accept then in order to handle
those streams too.
2010-08-04 10:40:24 +02:00
Wim Taymans
d37c5e9021
L16depay: default to 1 channel
...
When we can't find any channel or encoding-params on the caps for dynamic
payload types, set the default number of channels to 1, as the spec says we
should.
See #623209
2010-08-04 10:40:24 +02:00
Wim Taymans
9dcfed0a5b
rtspsrc: don't reuse udp sockets
...
Don't reuse sockets but make the udpsrc element fail the state change when the
socket is already in use. If we don't prevent reuse, we might end up using the same
port for different streams in some cases.
Fixes #622017
2010-08-04 10:40:23 +02:00
Wim Taymans
e739998adf
udpsrc: add property to enable port reuse
2010-08-04 10:39:45 +02:00
Wim Taymans
ed80c1834c
L16depay: use encoding-params for the channels
...
When parsing the number of channels, use the encoding-params property from the
RTP caps because that is where we can find the channels according to the spec.
Fall back to the channels property in the caps when needed.
Fixes #623209
2010-08-04 10:39:44 +02:00
Wim Taymans
e39d7f7359
rtspsrc: improve error and warning message
...
Improve error and warning message.
Fixes #622577
2010-08-04 10:39:44 +02:00
Mark Nauwelaerts
f1fe0e7157
rtpg729pay: avoid basertppayload perfect-rtptime mode
...
G729 packets may only occur intermittently (e.g. cn packets), and as such
do not allow for perfect-rtptime calculating rtp times based on frame or byte
count. In particular, do not use rtp audio base payloader as base class, but
rather base payloader directly.
2010-08-02 13:05:05 +02:00
Mark Nauwelaerts
6405df0c50
rtph264pay: fix element leak
2010-08-02 13:04:41 +02:00
Mark Nauwelaerts
fadff26eec
rtpmp4vdepay: fix buffer leak
2010-08-02 13:04:39 +02:00
Mark Nauwelaerts
99dd8fb921
avidemux: push mode; use proper movi offset for movi based index
...
Fixes #623357 .
2010-07-29 17:19:22 +02:00
Thiago Santos
bef350bf34
qtdemux: Correctly parse mvhd atoms
...
Parse mvhd data according to its version to avoid failing
on valid files.
2010-07-29 10:00:15 -03:00
Thiago Santos
a15430a862
qtdemux: Fix the max/avg in btrt atom reading
...
According to ISO media base format, the max bitrate is the
first one, and the avg comes next.
2010-07-28 12:22:23 -03:00
Mark Nauwelaerts
8419df627b
matroskademux: proper handling of streaming upstream without duration
...
Fixes #625371 .
2010-07-28 14:45:25 +02:00
Tim-Philipp Müller
a0de5e8a4f
matroskademux: initialize some variables to fix compiler warnings on OSX build bot
2010-07-26 18:33:09 +02:00
Arnaud Vrac
c6f47c34fb
rtspsrc: add port-range property to rtspsrc
...
To support setups with firewall/ipsec, it is useful for an rtsp client to be
able to set the range of ports that can be used for rtp/rtcp reception.
Allows this by adding a "port-range" property to the rtspsrc element.
Fixes #625153
2010-07-26 17:47:35 +02:00
Andoni Morales Alastruey
e6d7e69844
qtdemux: set the pixel-aspect-ratio field also for par=1/1
...
https://bugzilla.gnome.org/show_bug.cgi?id=625302
2010-07-26 16:08:37 +02:00
Wim Taymans
8696d10a5b
rtspsrc: fix memory leak in server request reply
...
The RTSP server rtspsrc is communicating with, sends a GET_PARAMETER request
periodically as a ping. The code in gst_rtspsrc_handle_request forms an OK
response and sends, but doesn't call gst_rtsp_message_unset to free the memory
after sending the response. This results in a constant slow memory leak.
Fixes #624770
2010-07-26 15:33:44 +02:00
Zaheer Abbas Merali
c00cd43e8b
cpureport: remove bogus docs
2010-07-24 22:39:54 +01:00
Zaheer Abbas Merali
961ab6d4b2
debugutils: new element cpureport
...
cpureport posts bus messages after every buffer received of cpu used, system
clock time, buffer time
2010-07-24 22:37:11 +01:00
Mark Nauwelaerts
c626e90fda
matroskademux: pull mode non-cue seeking
...
That is, in files that have no index (Cue), perform seek by scanning for
nearest cluster with timecode before requested position. Scanning is done
as a combination of interpolation and sequential scan.
Fixes #617368 .
2010-07-22 12:18:14 +02:00
Mark Nauwelaerts
4b76e95abe
matroskamux: streamable files need no _finish
...
Fixes #624455 .
2010-07-22 12:18:11 +02:00
Mark Nauwelaerts
f62c6ce5c8
avidemux: push mode; handle 0-size data chunks
...
Fixes #618535 .
2010-07-22 11:46:51 +02:00
Sebastian Dröge
38124ef5e5
videomixer: Only reset QoS information and send a NEWSEGMENT event downstream for NEWSEGMENT events on the master pad
2010-07-21 10:23:30 +02:00
David Schleef
eb81574469
capsdebug: Add new element
2010-07-20 14:02:52 -07:00
Tim-Philipp Müller
819fb47b78
matroskamux: demote WARNING message to LOG level
...
It's not a warning.
2010-07-20 16:12:21 +01:00
Mark Nauwelaerts
fd959ca77f
matroskademux: add missing argument in debug message
2010-07-16 18:05:21 +02:00
Mark Nauwelaerts
39268f10d3
matroskademux: remove bogus UNLOCK
2010-07-16 14:00:40 +02:00
Mark Nauwelaerts
65fdbe68ec
qtdemux: also calculate PAR using track width and height for QT files
...
(... as opposed to only for ISO style files).
Fixes #624173 .
2010-07-16 14:00:18 +02:00
Mark Nauwelaerts
16b57b49c9
matroskademux: handle bogus files storing ADTS AAC data
2010-07-16 13:59:22 +02:00
Mark Nauwelaerts
18f37ffc9a
matroskademux: do not error out on a block with unknown tracknumber
2010-07-16 13:58:39 +02:00
Mark Nauwelaerts
bbded080e0
qtdemux: do not align reverse playback reference stream twice
...
Timestamp rounding issues could lead to going backwards 2 keyframe periods
(rather than only 1). While this is not necessarily a problem, it might
potentially place additional (buffering) load on downstream and could be
avoided (because We Can).
Fixes #623629 .
2010-07-16 13:58:34 +02:00
Mark Nauwelaerts
2a22e9d487
qtdemux: convert some more mov format timestamp to gst time
2010-07-16 13:58:21 +02:00
Mark Nauwelaerts
7955c01f19
avidemux: additional verification heuristics for VBR audio stream
...
Check for and override some header field(s) for reasonable values, according
to later expected use in calculations.
2010-07-16 13:58:12 +02:00
Alessandro Decina
d5a4da9a69
videobalance: Fix wrong lock order that could lead to a deadlock. Fixes #624331 .
2010-07-16 12:45:35 +02:00
Arun Raghavan
8aed3176ce
qtdemux: Fix order of bitrates in 'btrt' atom
...
There seems to be a bug in libmp4v2 that generates a MPEG4BitRateBox as
(bufferSizeDB, avgBitrate, maxBitrate) instead of (bufferSizeDB,
maxBitrate, avgBitrate), according to the spec. I used the mp4file
output while writing this code, so the order is wrong. This patches
fixes that.
https://bugzilla.gnome.org/show_bug.cgi?id=623654
2010-07-06 10:33:16 +01:00
Edward Hervey
fcf1995020
qtdemux: strip out bogus tags from XMP atom
...
https://bugzilla.gnome.org/show_bug.cgi?id=623366
2010-07-02 14:39:36 +02:00
Andrzej K. Haczewski
0b5172eb06
flvmux: Write duration at the correct position
2010-07-02 14:25:22 +02:00
Thijs Vermeir
244a35a226
rtpptdemux: fix memleak on custom downstream events
...
by not sending custom downstream event twice and fix memleak when
not handling the event
https://bugzilla.gnome.org/show_bug.cgi?id=623196
2010-06-30 12:39:09 +02:00
Tim-Philipp Müller
c66c3d354c
wavparse: fix unportable printf format specifiers in commented out code
...
To avoid false positives when grepping for unportable specifiers.
2010-06-29 20:14:53 +01:00
Tim-Philipp Müller
cf8dddd5c7
goom: don't allocate 260kB struct on the stack
...
PluginInfo is quite a sizeable struct, let's not allocate it on the
stack, especially not if we're copying it over into another dynamically
allocated copy anyway.
Fixes #570761 .
2010-06-28 14:59:25 +01:00
Tim-Philipp Müller
240dec038c
gst: update orc files
2010-06-26 18:41:49 +01:00
Sebastian Dröge
8172c478aa
matroskamux: Fix leaking of the streamheader buffers
...
gst_value_set_buffer() increases the refcount and doesn't
take ownership of the buffer.
2010-06-25 19:40:06 +02:00
Tim-Philipp Müller
19216e7218
matroska, videobox, videofilter: fix compiler warnings when debugging is disabled in gstreamer
...
Fixes unused variable warnings when GStreamer's debugging system has been disabled.
2010-06-24 16:34:03 +01:00
Michael Grzeschik
b26785d9f9
reset the have_index flag at transition PAUSED_TO_READY
...
If we restart the Stream in the case of doing a transition from
PAUSED_TO_READY and back with READY_TO_PAUSED aso. the duration of the video
will get calculated even if we have a avi header with that information.
Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
2010-06-23 21:40:50 +02:00
Sebastian Dröge
7e0ea232d0
videobox: Fix negotiation for I420/YV12
...
We don't support conversion into *all* YUV
formats for them, only into I420/YV12/AYUV.
Fixes bug #622501 .
2010-06-23 20:30:11 +02:00
Mark Nauwelaerts
0a2d9a2269
wavparse: proper closing segment construction
...
Fixes #618982 .
2010-06-22 15:37:46 +02:00
Wim Taymans
5534c7d91d
rtspsrc: fix locking after moving things around
2010-06-18 20:04:08 +02:00
Wim Taymans
651c82a01f
rtspsrc: make some errors as warnings
...
Avoid spamming the testsuite with these error debug lines.
2010-06-18 16:56:19 +02:00
Keith Nicholson
0773eed960
udpsrc: fix multicast support on windows builds
...
On windows builds, sets source address for bind to INADDR_ANY, while
maintaining the original multicast group address for subsequent join.
Fixes #595978
2010-06-18 16:49:08 +02:00
Wim Taymans
e25cdc31d3
udp: make url parsing compatible with VLC syntax
...
Skip everything before the @ sign in the url location. VLC uses that as the
remote address to connect to (but we ignore it for now). This makes our udp urls
compatible with the ones used by VLC.
Fixes #597695
2010-06-18 16:16:28 +02:00
Wim Taymans
966ced2208
rtspsrc: factor out the connections
...
Keep a global connection for aggregate control but also keep stream connections
for non-aggregate control.
Add some helper methods to connect/close/flush the connections.
2010-06-18 15:13:06 +02:00
Wim Taymans
ddc214d322
rtspsrc: add non-aggregate control
...
Add non-aggregate control.
Separate retrieving thr SDP from parsing and setting up the streaming from the
SDP.
2010-06-18 15:13:06 +02:00
Zaheer Abbas Merali
8269a028a0
flvmux: add documentation for streamable property
2010-06-17 17:24:22 +01:00
Sebastian Dröge
968ce701a7
matroskademux: Fix an uninitialized variable compiler warning
2010-06-17 10:44:33 +02:00
Sebastian Dröge
f44e5e630b
ebml-read: Zero-sized ints/uints/floats have a value of 0 according to the EBML spec
2010-06-16 21:02:13 +02:00
Sebastian Dröge
e4a5f0911e
matroskademux: Fix possible NULL pointer dereference and assertion that could be caused by invalid files
2010-06-16 20:02:58 +02:00
Sebastian Dröge
20b9022289
matroskademux: Clean up/fix some minor error handling bugs
2010-06-16 19:50:34 +02:00
Sebastian Dröge
711e0cc90b
audioiirfilter: Fix possible NULL pointer dereference
2010-06-16 19:24:54 +02:00
Sebastian Dröge
1f545da974
warptv: Don't use floats as loop counters
2010-06-16 19:20:02 +02:00
Mark Nauwelaerts
a69e419c8e
avidemux: improve audio vbr detection
...
Subsequent entry time calculations use blockalign value to determine
number of frames per chunk, and blockalign == 1 is then most unlikely to result
in reasonable values (which also aligns with "spec").
2010-06-16 15:53:47 +02:00
Mark Nauwelaerts
6a9c70486f
rtph264depay: tweak DELTA_UNIT labeling
...
Consider SPS, PPS and IDR as keyframe, all others as DELTA_UNIT.
See #620154 .
2010-06-16 15:53:45 +02:00
Sebastian Dröge
e49d8a286b
avidemux: Assign variables before printing them
2010-06-15 20:04:35 +02:00
Sebastian Dröge
715eb33d24
wavparse: Initialize uninitialized variable
2010-06-15 20:00:28 +02:00
Edward Hervey
342543325b
matroska: Fix unitialized variable
2010-06-15 17:20:20 +02:00
Wim Taymans
e6ec5cce2e
rtspsrc: respect aggregate control attributes
...
when the SDP specifies an aggregate control url, use that for playback
control.
Fixes #619531
2010-06-14 19:24:14 +02:00
Sebastian Dröge
ff755250c3
goom: Call orc_init() before trying to get target flags
2010-06-14 15:38:02 +02:00
Sebastian Dröge
a11b271bf4
deinterlace: Call orc_init() before trying to get target flags
2010-06-14 15:38:02 +02:00
Zaheer Abbas Merali
e49c31fd25
matroskamux: revert change that set a reserved flag on the Block.
...
So matroska's Block structure has no keyframe flag, only the SimpleBlock has it.
To detect keyframes in Blocks, it is just the BlockGroup container that needs
to have a ReferenceBlock attached if it is a delta frame in video.
2010-06-14 14:28:53 +01:00
Mark Nauwelaerts
dde3825405
rtph264depay: also consider AU and SEI NALUs as DELTA_UNIT
...
Fixes #620154 .
2010-06-14 11:49:42 +02:00
Stefan Kost
a1da36d5a6
build: include stdio.h for sscanf
2010-06-12 21:26:16 +03:00
Tim-Philipp Müller
97a2111c58
rtpmparobustdepay: don't try to unref NULL buffers
...
Fixes generic/states unit test.
2010-06-11 21:18:52 +01:00
Tim-Philipp Müller
754f3a315b
wavparse: use typefind functions to check if PCM data contains dts stream
...
Use new dts audio typefinder from -base to check if the PCM data
contains a dts stream. This way we recognise more varieties more
reliably and also detect the dts stream if there isn't a frame
sync right at the start of the data.
Fixes #413942 .
2010-06-11 20:50:23 +01:00
Tim-Philipp Müller
12ec2c3d6d
wavparse: set buffer offsets before using the buffer for the first time
...
gst_type_find_helper_for_buffer() will need the correct offset
set on the buffer (ie. 0) and not the byte offset we started
pulling the data from.
2010-06-11 20:47:22 +01:00
Mark Nauwelaerts
815e06ba55
rtp: add mpa-robust depayloader
...
Fixes #589997 .
2010-06-11 11:45:48 +02:00
Mark Nauwelaerts
de5cb168ee
avimux: fix avi header bytewriting
...
... by using proper offsets for tag list writing.
Also use _reset rather than _free and consistently use bytewriter position.
See #619293 .
2010-06-11 10:57:41 +02:00
Sebastian Dröge
e84136ba03
videomixer: Port most blending related functions to orc
...
Only remaining MMX implementation is the ARGB/BGRA/AYUV blending
for which we first need the orc compositing opcodes.
2010-06-10 22:46:00 +02:00
Sebastian Dröge
e87802efdd
videomixer: Replace some tabs by spaces
2010-06-10 22:46:00 +02:00
Zaheer Abbas Merali
823a514161
matroskamux: some non-delta buffers were not marked as keyframes
2010-06-10 01:32:15 +02:00
Zaheer Abbas Merali
45f711044f
matroskamux: change 2 second limit per cluster
...
Start cluster at every keyframe or when we would overflow the previous
cluster's relative timestamp field. This would avoid as much as possible
starting clusters at non-keyframes.
2010-06-10 01:32:15 +02:00
Sebastian Dröge
b7d435911f
auto{audio,video}sink: Don't lose the GST_ELEMENT_IS_SINK flag after removing the child
2010-06-09 20:23:16 +02:00
Zaheer Abbas Merali
f22c7d0f7c
matroskamux: change indexed property to streamable
...
The property streamable has reverse semantics to indexed.
2010-06-09 15:42:19 +02:00
Thiago Santos
c27dc49bf7
flvmux: Rename unreleased property 'indexed' to 'streamable'
...
Rename 'indexed' to 'streamable' for a better name while it
hasn't been released
2010-06-09 09:13:09 -03:00
David Schleef
bd893e4dfb
level: remove unused liboil include
2010-06-08 17:25:35 -07:00
David Schleef
b83cd99aeb
videomixer: liboil to orc conversion
2010-06-08 17:25:35 -07:00
David Schleef
4e84ab1f87
videobox: liboil to orc conversion
2010-06-08 17:25:35 -07:00
David Schleef
2cb6cfed22
goom: liboil to orc conversion
2010-06-08 17:25:34 -07:00
David Schleef
9ff3ef0c92
deinterlace: orcify some deinterlacing methods
2010-06-08 17:25:34 -07:00
David Schleef
f14972bf20
deinterlace: convert from liboil to orc
2010-06-08 17:25:34 -07:00
Zaheer Abbas Merali
44c911d255
flvmux: Add indexed property to replace disabled is-live.
...
Add indexed property to be the negation of what the disabled is-live property
was. Fixes bug #613066 .
2010-06-08 14:12:16 +02:00
Sebastian Dröge
48934764e7
flvdemux: Don't handle non-TIME seeks
...
Don't send them upstream because for upstream a BYTES seek
might make sense but is completely wrong because upstream
can't seek to a byte position of the audio or video stream.
Also don't build the index in push mode for non-TIME seeks,
things will go wrong here otherwise.
2010-06-07 18:34:11 +02:00
Sjoerd Simons
c39e82a1ce
Cope with short startcodes in the h264 bytestream
2010-06-07 10:28:06 +02:00
Sebastian Dröge
f16ed4a91c
gst: Don't use GST_DEBUG_FUNCPTR for GObject vfuncs
2010-06-06 17:52:40 +02:00
Philip Jägenstedt
21c84e23e8
matroskademux: refactor delta unit handling
...
This allows us to skip delta units earlier and is a bit clearer in my
opinion. It also makes only video buffers ever be delta units, not
just for SimpleBlock as before.
2010-06-06 15:38:00 +02:00
Sebastian Dröge
6e9e48c0b9
flvdemux: Clear adapter on discontinuities
2010-06-06 15:17:00 +02:00
Philip Jägenstedt
b2ff8042d3
matroskademux: Ignore keyframe flag for non-video streams
...
When the keyframe bit of SimpleBlock Flags wasn't set, the buffer was being
marked with GST_BUFFER_FLAG_DELTA_UNIT, causing all buffers to be skipped
after a seek. This may be a problem with the Sorenson Squish encoder, but
arguably the keyframe bit should only be applied to video.
Fixes bug #620358 .
2010-06-06 14:59:29 +02:00
Sebastian Dröge
0fe56cc0d6
flvdemux: First try upstream when handling seek events/queries
2010-06-06 14:57:27 +02:00
Tristan Matthews
8e0adba996
gstrtpceltpay: don't always fixate sink caps to 1 channel
...
The getcaps function should not fixate the channels field until we
get the encoding-params field from our srcpad's caps. Fixes #620591
2010-06-05 10:02:35 +02:00
Wim Taymans
cb8252275d
rtsp: try all ranges from the sdp
...
Try all ranges in the SDP before giving up.
2010-06-04 13:58:38 +02:00
Wim Taymans
6fbca707bb
rtspsrc: make parse_range return result
...
Make the parse_range function return if the parsing succeeded or failed.
2010-06-04 13:58:38 +02:00
Edward Hervey
2ff87c0fb9
videomixer: if we're not linked downstream, we can do any format
...
Stupid me, assuming _get_allowed_caps() would actually return the
pad templates if there was no peer.
2010-06-04 11:44:09 +02:00
Sjoerd Simons
952fd666b3
Keep announcing the delivery-method in the capabilities
...
Even though we don't use delivery-method in our payloader, older versions of
the theora payloader in gstreamer required it. As such we need to keep this
around in the caps for backwards-compatibility.
This reverts part of 49463a37cb
Fixes #618940
2010-06-03 18:47:40 -04:00
Wim Taymans
ffc06e17f0
mp4gdepay: calculate the frame duration correctly
...
When we calculate the frame duration, we need to use the amount of
frames in the _previous_ packet, not the current packet. The frame duration is
needed to correctly de-interleave interleaved streams. This fixes the case where
there are a variable number of frames in a packet.
Fixes #620494
2010-06-03 19:39:04 +02:00
Edward Hervey
d72a2fb6da
videomixer: Don't return caps in get_caps() that will be rejected
...
This commit basically puts _get_caps() in sync with accept_caps().
If we don't have a master pad OR the master pad caps aren't negotiated
then we just return the downstream allowed caps.
If we have a master pad with negotiated caps, we return those caps
with a free range of width/height/framerate
2010-06-03 19:01:14 +02:00
Mark Nauwelaerts
a8ffe6f593
flvdemux: delayed seek handling also deserves TRUE event response
2010-06-02 17:27:22 +02:00
Thijs Vermeir
0bb2be3a7e
rtpjitterbuffer: fix compiler warning
...
unused variable ‘estimated’
2010-06-02 15:32:36 +02:00
Alessandro Decina
4b6cb93025
rtpjitterbuffer: stop buffering and emit EOS at the end of a stream
...
When using RTP_JITTER_BUFFER_MODE_BUFFER, make sure that the ringbuffer doesn't
get stuck buffering forever when there isn't enough data left to fill the
buffer.
2010-06-02 14:21:16 +02:00
Benjamin Otte
d516fc5fd8
debugutils: Don't consume preroll buffer twice
2010-06-02 14:20:26 +02:00
Benjamin Otte
81c4dc4574
debugutils: Replace md5 implementation with glib's
...
https://bugzilla.gnome.org/show_bug.cgi?id=619824
2010-06-02 14:20:26 +02:00
Mark Nauwelaerts
53365b91e6
avimux: clean up code for avi header using a bytewriter
...
https://bugzilla.gnome.org/show_bug.cgi?id=619293
2010-06-02 14:20:26 +02:00
Edward Hervey
59dcdc37a0
videomixer: filter caps returned from downstream with our pad template.
2010-06-01 20:45:29 +02:00
Zaheer Abbas Merali
bfaeffcfd0
matroskamux: Remove more unneeded warnings
2010-06-01 16:56:32 +01:00
Zaheer Abbas Merali
7fc21317af
matroskamux: remove unneeded warning
2010-06-01 16:54:03 +01:00
Zaheer Abbas Merali
d73cecd8c0
matroskamux: remove unneeded debug statement
2010-06-01 16:49:14 +01:00
Zaheer Abbas Merali
8c165b49a7
matroskamux: change is-live property to indexed
2010-06-01 16:43:04 +01:00
Zaheer Abbas Merali
3d876d2b16
matroska: use the uint64 scaling functions
...
In demuxer and muxer use the gst_util_uint64 scaling functions rather than
standard integer division. Add warnings (to be changed to debug) for debugging
the timestamp and duration.
2010-06-01 16:43:04 +01:00
Zaheer Abbas Merali
ec23b22d29
matroskamux: set delta unit on all buffers except cluster start ones
2010-06-01 16:43:04 +01:00
Zaheer Abbas Merali
d3daa12473
matroskamux: store caps and set on buffers rather than using pad caps
2010-06-01 16:43:03 +01:00
Zaheer Abbas Merali
b4e6fcd051
matroskamux: make sure pads caps are set before any buffers pushed.
2010-06-01 16:43:03 +01:00
Zaheer Abbas Merali
7c402d5866
matroskamux: add streamheaders
2010-06-01 16:43:03 +01:00
Zaheer Abbas Merali
d0bf310876
matroskamux: no need to set cache twice
2010-06-01 16:43:03 +01:00
Xavier Queralt
40eda471a1
Do not create a SeekHeader, Cues, .. when doing live
2010-06-01 16:43:03 +01:00
Xavier Queralt
032d9b90ff
Add is-live property
2010-06-01 16:43:02 +01:00
Mark Nauwelaerts
44fa95d5cb
matroskademux: improve reverse playback
...
Slightly modify approach to also handle cases where cue entries do not reliably
lead to initial keyframes.
Fixes #619817 .
2010-06-01 15:56:34 +02:00
Mark Nauwelaerts
69d47ef4a0
deinterlace: avoid gtk-doc confusing comments
2010-06-01 15:56:25 +02:00
Mark Nauwelaerts
b8fd1a91f1
matroskamux: use write caching also when writing buffer data
...
Specifically, this reduces pushing several small buffers for each
data buffer and also avoids a seek for each buffer altogether
(though a seek is still needed for each cluster).
Fixes #619273 .
2010-06-01 15:54:35 +02:00
Mark Nauwelaerts
81bf657aa7
matroskamux: fix ebml write caching with bytewriter implementation
...
Also cache a bit more during header writing.
Fixes #619273 .
2010-06-01 15:53:43 +02:00
Mark Nauwelaerts
7895ddbc38
matroskamux: use consistent debug category name for ebmlwrite
2010-06-01 15:53:37 +02:00
Mark Nauwelaerts
085e333283
matroskademux: use bytereader based GstEbmlRead as a helper
...
... rather than basing on it by inheritance.
Also use more common code for push and pull mode.
Fixes #619198 .
Fixes #611117 .
2010-06-01 15:52:12 +02:00
Mark Nauwelaerts
973c8ddfdf
matroskamux: _get_pad_template result needs no unref
2010-06-01 15:51:16 +02:00
Edward Hervey
01abf5b94e
videomixer: Implement sinkpad GetCapsFunction.
...
This allows returning only the formats, width, height, framerate
and pixel-aspect-ratio that downstream can support.
https://bugzilla.gnome.org/show_bug.cgi?id=620148
2010-06-01 12:42:10 +02:00
Sebastian Dröge
0d5ae784b1
matroskademux: Don't compare running times with stream times when doing QoS
2010-06-01 11:21:30 +02:00
Sebastian Dröge
d09ff4124e
deinterlace: Don't reconfigure the caps when changing properties
...
Fixes bug #619848 .
2010-06-01 11:21:30 +02:00
Sebastian Dröge
ab3b4bc82f
alpha: Add property to allow passthrough mode
...
This passthrough mode is used if the alpha method is "set"
and the alpha value is 1.0.
Fixes bug #617512 .
2010-06-01 11:21:29 +02:00
Alexander Kojevnikov
2d13b15376
spectrum: support 24-bit width
...
Fixes #619045
2010-06-01 11:21:29 +02:00
Alexander Kojevnikov
c69dd320af
spectrum: support arbitrary bit depth
...
Partially fixes #619045
2010-06-01 11:21:29 +02:00
Philip Jägenstedt
596331c6f0
matroskademux: fix deadlock introduced by video keyframe QoS
2010-06-01 11:21:29 +02:00
Philip Jägenstedt
80926a5596
matroskademux: skip buffers before a late keyframe (QoS)
...
Before, vp8dec had no option but to decode all frames even if some/all
of them would be late. With this change, performance when keyframes are
frequent is helped a great deal. On my Thinkpad X60s, decoding a 20 s
1080p sunflower encode with keyframes every 10 frames went from taking
42 s with 5 frames shown to 21 s with 15 frames shown (still slow
enough to count by hand). When keyframes are more sparse, you will
still be able to catch up eventually, but the results won't be as
noticable.
2010-06-01 11:21:29 +02:00
Sebastian Dröge
f5bca501e5
videomixer: Don't mix input with different pixel aspect ratios
...
Fixes bug #618530 .
2010-06-01 11:21:29 +02:00
Sebastian Dröge
dc6dd62824
deinterlace: Add MMX/3DNow implementations of greedyh for UYVY
2010-06-01 11:21:29 +02:00
Sebastian Dröge
2096cf6e55
deinterlace: Fix UYVY implementation of greedyh to be actually used
2010-06-01 11:21:29 +02:00
Tim-Philipp Müller
97de4b217d
Revert "matroska: add temporary webm typefinder"
...
This reverts commit d148ec0ad2
.
We depend on -base git now, which has a webm typefinder in the usual
place.
2010-06-01 09:39:38 +01:00
Tim-Philipp Müller
d51576b14c
Revert "avimux, flvmux, matroskamux: don't crash if tags arrive on multiple input pads at the same time"
...
This reverts commit 6a9983cd20
.
Rely on locking done in GstTagSetter in core git.
2010-06-01 09:39:38 +01:00
Sebastian Dröge
f8c906e475
flvdemux: Fix position query
2010-05-29 13:55:07 +02:00
Tim-Philipp Müller
a9c13cd4f7
docs: remove unnecessary videorate element from webmmux example pipeline
2010-05-28 15:14:32 +01:00
Sebastian Dröge
ad9ffeed03
videobox: Fix floating point to integer conversion for the alpha values
...
Fixes bug #619835 .
2010-05-27 18:33:35 +02:00
Mark Nauwelaerts
3462eed7e0
wavparse: handle truncated input data at EOS in pull mode
...
Fixes #617733 .
2010-05-26 12:01:26 +01:00
Robert Swain
50273537dc
qtdemux: Round timestamp up when scaling to mov format
...
Fix timestamp rounding to allow the correct index to be located.
The issue was that scaling from GStreamer time format to mov time format was
rounding down causing the timestamp of the newsegment event received after a
flushing keyframe seek to find the sample index before the one it should
causing further backward seeking to the keyframe prior until no rounding error
occurred.
Rounding up when scaling to mov format has the desired effect, and it is
not clear whether just the _round () variant would be sufficient.
Fixes bug #619105
2010-05-26 00:08:16 +01:00
Tim-Philipp Müller
6a9983cd20
avimux, flvmux, matroskamux: don't crash if tags arrive on multiple input pads at the same time
...
This is a temporary fix for the release only.
Fixes #619533 .
2010-05-26 00:05:54 +01:00
Wim Taymans
49463a37cb
rtptheora: remove delivery-method from caps
...
We can accept all delivery methods so don't advertise anything on the caps or
parse anything, we will handle whatever we receive.
Fixes #618940
2010-05-25 18:53:48 +02:00
Tim-Philipp Müller
d148ec0ad2
matroska: add temporary webm typefinder
...
Add webm typefinder just for the release, so webm works for
people whose distros don't patch gst-plugins-base as well.
We'll remove this again after the release.
2010-05-25 15:40:01 +01:00
Tim-Philipp Müller
9bdfc7254a
docs: add some pipeline examples to webmmux docs
2010-05-23 11:17:27 +01:00
Tim-Philipp Müller
a4fabfb959
matroska: fix up plugin and element descriptions a bit
2010-05-21 15:06:14 +01:00
Tim-Philipp Müller
0e12bf83a3
matroska: move webmmux into own source files
...
Makes things easier for gtk-doc.
2010-05-21 15:04:48 +01:00
Sebastian Dröge
82e4807d10
matroska: Remove the doctype enum, it's not needed anymore
2010-05-20 21:49:43 +02:00
Sebastian Dröge
6a25cd475c
webmmux: Add new webmmux element that only supports muxing of WebM
...
...and remove the doctype property from matroskamux again.
2010-05-20 21:49:43 +02:00
Philip
9c59da8601
ebmlread: rm floatcast.h include (not used)
2010-05-19 20:38:50 +02:00
Philip Jägenstedt
cbde946768
matroskamux: bump default doctype version to 2
...
In this day and age this should be safe. There's otherwise a risk people
will be creating unneccessarily big WebM files as they can't use
SimpleBlock in v1.
2010-05-19 20:38:31 +02:00
Philip Jägenstedt
9610c7f354
matroska: handle matroska and webm doctype versions equally
...
The original plan was to let WebM v1 be the same as Matroska v2 (with
extra constraints), but for simplicity it was decided to handle the
versions equally, such that e.g. SimpleBlock is only allowed in WebM v2.
2010-05-19 20:38:16 +02:00
Philip Jägenstedt
081f2d00aa
matroskademux: Verify lace size in _parse_blockgroup_or_simpleblock
...
Failure to do this for corrupt input can cause a subbuffer bigger
than the actual buffer to be created, quickly leading to segfault.
Test case:
bug_s222005751_r0.001____memcpy.webm
2010-05-19 20:35:52 +02:00
Philip Jägenstedt
c659c92091
ebml: crude hack to avoid crashing on unexpected metadata
...
The comment says this cannot happen, but it did and I don't know
why. This is not the correct fix, needs investigation. Test case:
bug_s555010094_r0.0005:0.008____IA__g_assertion_message_expr.webm
2010-05-19 20:35:28 +02:00
Philip Jägenstedt
9c1267b1a9
ebml: don't modify out str if returning an error in _read_ascii
...
This is a regression from ASCII validation changes. Test case:
bug_s66876390_r0.001____malloc_printerr.webm
2010-05-19 20:35:06 +02:00
Philip Jägenstedt
c712d28796
ebml: Validate 7-bit ASCII in gst_ebml_read_ascii
...
This was triggering an UTF-8 assertion in gst_caps_set_simple for
corrupt files with garbage as codec id. Test case:
gstreamer_error_trying_to_set_invalid_utf8_as_codec_id.webm
Old gst_ebml_read_ascii renamed to gst_ebml_read_string, also used by
gst_ebml_read_utf8. Unlike for UTF-8, failure to validate is an error,
as gst_ebml_read_ascii is used for reading doctype and codec id and we
might just as well give up early in those cases.
2010-05-19 20:33:38 +02:00
Philip Jägenstedt
d146971128
matroskademux: Ignore unexpected CodecState
...
Because GstMatroskaTrackContext *stream is set up in the first
SimpleBlock or Block, a rogue CodecState otherwise causes a segfault on
derefencing the NULL pointer. Test case:
bug_s5506167_r0.001____gst_matroska_demux_parse_blockgroup_or_simpleblock.webm
2010-05-19 20:33:35 +02:00
Philip Jägenstedt
9dc7889eea
matroskademux: Add video/webm sink caps
2010-05-19 20:32:13 +02:00
Philip Jägenstedt
ad05dfc032
matroskamux: Use SimpleBlock for WebM when possible
2010-05-19 20:32:02 +02:00
Philip Jägenstedt
1daeb26df1
matroskademux: Support "webm" DocType
2010-05-19 20:31:36 +02:00
Philip Jägenstedt
3b4759de18
matroskamux: rename matroska_version to doctype_version
2010-05-19 20:29:19 +02:00
Philip Jägenstedt
27069088db
matroskamux: Support "webm" DocType
2010-05-19 20:28:42 +02:00
David Schleef
e847957790
qtdemux: Add VP8
2010-05-17 17:18:25 +02:00
Sebastian Dröge
e5e90f6035
matroskamux: Add support for On2 VP8
...
...matroskademux automatically supports it through libgstriff.
2010-05-17 17:18:24 +02:00
Sebastian Dröge
d1842481c1
avimux: Add support for On2 VP8
...
...avidemux automatically supports it through libgstriff.
2010-05-17 17:18:24 +02:00
Wim Taymans
dc2662e22b
rtpbin: fix docs
...
Documentation error spotted by tony <caicai0119 at gmail.com>
Fixes #618419
2010-05-13 13:01:26 +02:00
Olivier Crête
28f509fdca
rtptheoradepay: make delivery-method parameter optional
...
It probably will not be in the final RFC as it is not in RFC 5215 for Vorbis.
If there is a configuration specified, assume it is in-line and if nothing is
specified, assume it is in-band.
https://bugzilla.gnome.org/show_bug.cgi?id=618386
2010-05-13 12:22:36 +02:00
Wim Taymans
3e4bc043a5
celtpay: fix queue duration calculations
...
Don't blindly add the durations of incomming buffers to the total queued
duration because it might be invalid. Mark the total queued duration invalid
when we receive an invalid incomming timestamp because that's when we lose track
of the total queued duration.
Fixes #618324
2010-05-13 11:30:27 +02:00
Mark Nauwelaerts
4cff2e2c67
rtph264pay: extract SPS and PPS from property provided parameter set
...
... so it can also be regularly inserted into the stream if so configured.
Fixes #617164 .
2010-05-12 10:24:10 +02:00
Tim-Philipp Müller
c209a6ab40
rtp: dist missing header file to fix make distcheck
2010-05-11 20:26:37 +01:00
Mark Nauwelaerts
bcde9fab09
qtdemux: fix push based seeking
...
... where it comes down to transforming incoming BYTE segment
to a corresponding TIME segment.
Also fixes #609405 .
2010-05-11 18:44:01 +02:00
Sebastian Dröge
2e5262cda2
imagefreeze: Set fixed caps on the correct pad
...
This makes the sink getcaps function actually used instead of using
the fixed caps function for it.
2010-05-11 14:31:44 +01:00
Sebastian Dröge
f9d8174471
imagefreeze: Only start the task after a seek if a buffer was received already
2010-05-11 14:31:44 +01:00
Sebastian Dröge
3e574eafe3
imagefreeze: Set undefined framerate in sink getcaps function
2010-05-11 14:31:43 +01:00
Sebastian Dröge
53de7943c7
imagefreeze: Implement reverse playback and set buffer offsets
2010-05-11 14:31:43 +01:00
Sebastian Dröge
f1e07fcd0f
imagefreeze: Add still frame stream generator element
2010-05-11 14:31:43 +01:00
Tim-Philipp Müller
f9ced7df94
Move capsfilter element from -bad to -good
...
Hook up moved files to the build infrastructure and docs.
Fixes #617739 .
2010-05-11 14:31:43 +01:00
Sebastian Dröge
5aacc8dd29
capssetter: Some minor cleanup
2010-05-11 14:31:43 +01:00
Benjamin Otte
076d3ff456
gst_element_class_set_details => gst_element_class_set_details_simple
2010-05-11 14:31:43 +01:00
Mark Nauwelaerts
8217895170
capssetter: import element into -bad
2010-05-11 14:31:43 +01:00
Mark Nauwelaerts
5ae7119d11
avimux: check that pads have been negotiated
...
Also set fcc_handler field in audio stream header.
Fixes #618351 .
2010-05-11 13:58:03 +02:00
Mark Nauwelaerts
e934f637b6
qtdemux: fix partial parsing of ctts table
...
Fixes #616516 .
2010-05-11 11:06:20 +02:00
Mark Nauwelaerts
a9e688cf32
qtdemux: cleanup a comment and add some debug and conditional compilation
2010-05-11 11:06:17 +02:00
Jan Urbański
cf57f1b220
flvmux: only store the last buffer timestamp if it's valid
...
Fixes bug #618305
2010-05-11 06:35:48 +02:00
Olivier Crête
34d0d59142
rtph264pay: Re-send SPS/PPS when requested
...
https://bugzilla.gnome.org/show_bug.cgi?id=606689
2010-05-10 15:07:09 +02:00
Mark Nauwelaerts
90311e522f
rtph264pay: fix typo in debug message
2010-05-10 13:35:55 +02:00
Mark Nauwelaerts
af6fc84377
rtptheorapay: add config-interval parameter to re-insert config in stream
...
Add a new config-interval property to instruct the payloader to insert
configuration headers at periodic intervals in the stream
(when a keyframe is countered).
2010-05-10 13:35:52 +02:00
Mark Nauwelaerts
14b14fdf7a
rtptheoradepay: fix in-band configuration parsing
...
Also make configuration header parsing a bit more relaxed with respect
to length field interpretation.
2010-05-10 13:35:50 +02:00
Mark Nauwelaerts
b899afaeb6
rtpvorbisdepay: fix in-line configuration parsing
...
Also make configuration header parsing a bit more relaxed with respect
to length field interpretation.
2010-05-10 13:35:48 +02:00
Mark Nauwelaerts
7bd3943bb9
rtptheorapay: do not discard downstream flow return
2010-05-10 13:35:44 +02:00
Mark Nauwelaerts
53928a74fa
rtptheorapay: refactor buffer payloading
2010-05-10 13:35:41 +02:00
Sebastian Dröge
a9ed56b1ad
deinterlace: Add support for UYVY
2010-05-07 20:41:31 +02:00
Wim Taymans
50f26c671b
rtpsession: fix return value
2010-05-07 19:06:35 +02:00
Wim Taymans
a50cd7c27d
rtspsrc: don't leak the session
2010-05-07 19:02:21 +02:00
Wim Taymans
bc72d8250c
rtsp: configure bandwidth properties in the session
2010-05-07 18:59:42 +02:00
Wim Taymans
aadf4ddf7e
rtpsession: add properties to configure the bandwidth
...
Add properties to proxy the bandwidth configuration to the session object.
2010-05-07 18:58:58 +02:00
Wim Taymans
69cde0e874
rtpsession: add properties to configure bandwidths
...
Add properties to configure the sender and receiver bandwidths.
Configure the bandwidths before calculating the RTCP timeout when we need to.
2010-05-07 18:57:13 +02:00
Wim Taymans
d84dc1112d
rtpstats: add some debug info
2010-05-07 18:56:30 +02:00
Wim Taymans
5690331c9e
rtpsession: small cleanups
2010-05-07 18:55:34 +02:00
Wim Taymans
0da5cf2e21
rtpstats: make bandwidths more configurable
...
Add a method to configure the various bandwidths in the session.
2010-05-07 16:55:13 +02:00
Wim Taymans
6eee730c4a
rtpsession: handle NONE RTCP intervals
...
Prepare for handling RTCP reporting intervals of GST_CLOCK_TIME_NONE, which
means don't send RTCP at all.
2010-05-07 13:32:30 +02:00
Wim Taymans
db3c4e7f46
rtspsrc: fall back to SDP ports instead of server_port
...
In multicast, fall back to the ports in the SDP instead of the server_port
attribute as this is more in line with the RFC.
2010-05-07 12:51:05 +02:00
Wim Taymans
4e1ced0a77
rtspsrc: refactor collecting the transport info
...
Make a method to collect the ports and destination address.
2010-05-07 12:24:51 +02:00
Wim Taymans
05352d7ea8
rtspsrc: handle servers that send broken Transports
...
Handle servers that send their port pairs with the wrong name.
Fixes #617537
2010-05-07 11:28:36 +02:00
Wim Taymans
ef4d2901aa
rtspsrc: use the SDP connection info in multicast
...
Parse the connection info from the SDP.
When we need to configure the multicast destination, fall back to the SDP
connection info when the transport did not specify a destination and ttl.
Fixes #617537
2010-05-06 16:52:26 +02:00
Stefan Kost
de4b0ef7dd
goom,monoscope: truncate own caps, instead of copying and using the first only
...
We got the caps from an intersect, it is our own, hence we can truncate it.
2010-05-06 15:43:54 +03:00
Stefan Kost
899d03dcc6
auto{audio,video}{src,sink}: use can_intersect to avoid a caps copy
2010-05-06 15:43:53 +03:00
Stefan Kost
0148a230ac
flvdemux: tell what we can do
...
Any-caps are bad. If apps scan the registry, they'd like to know what we can
output.
2010-05-06 15:43:53 +03:00
Sebastian Dröge
85c6b9b712
videomixer: Make selection of a sinkpad number threadsafe
2010-05-05 19:35:48 +02:00
Sebastian Dröge
9d6e4a7ac8
deinterlace: Add support for all common RGB formats
2010-05-05 17:39:32 +02:00
Sebastian Dröge
848f071ef4
deinterlace: Add support for AYUV
2010-05-05 16:06:51 +02:00
Wim Taymans
d6579912cb
rtspsrc: make setup url in a smarter way
...
Make sure we always separate the base and control url parts with a / when
creating the setup url.
2010-05-04 16:36:15 +02:00
Alessandro Decina
c8a02a91a6
rtspsrc: handle SEEKING queries.
2010-05-04 16:05:13 +02:00
Mark Nauwelaerts
220f865f77
rtpmp4vpay: add config-interval parameter to re-insert config in stream
...
Add a new config-interval property to instruct the payloader to insert
config (VOSH, VOS, etc) at periodic intervals in the stream
(when a GOP or VOP-I is encountered).
Based on patch by <marc.leeman at gmail.com>
Fixes #607452 .
2010-05-04 11:19:43 +02:00
Alessandro Decina
40899379c0
rtpjitterbuffer: move some initialization code from change_state to _init.
...
Set ->active to TRUE in _init so it can be set to FALSE after creating the
jitterbuffer and it won't be mistakenly reset to TRUE in the change_state
function.
This is needed to start the jitterbuffer as inactive when rtpbin is buffering.
2010-05-03 13:34:59 +02:00
Alessandro Decina
ffc2da30fc
rtpbin: fix a bug handling BUFFERING messages.
...
If a session exists but has no streams, set the min buffering percent to 0
since it means that we haven't received anything for that session yet.
2010-05-03 11:56:58 +02:00
Alessandro Decina
f6e9f359b9
rtpbin: when a stream is created, pause the jitterbuffer if rtpbin is buffering.
2010-05-03 11:51:37 +02:00
Alessandro Decina
38a5b08ef2
rtpbin: fix a bug calculating stream offsets.
2010-05-03 11:23:59 +02:00
Sebastian Dröge
ad1c01661f
matroskamux: Write previous cluster's size
...
This is useful for backwards playback, which should be implemented
in matroskademux at some point.
2010-05-01 14:20:59 +02:00
Sebastian Dröge
1e1cf5df70
matroskademux: Set interlaced flag in the caps if the flag is set in the Matroska file
2010-05-01 14:15:49 +02:00
Sebastian Dröge
db6a3e55c6
matroskamux: Write interlaced flag if the input video content is interlaced
...
Unfortunately Matroska has no way to specify TFF and friends...
2010-05-01 14:13:24 +02:00
Tim-Philipp Müller
c1d24699f5
rtp: fix printf format of some debug messages
2010-05-01 11:25:26 +01:00
Tim-Philipp Müller
fa4b2938bc
matroska: init variable to avoid compiler warning on OSX
...
Fixes (bogus) "'offset' may be used uninitialized in this function"
warning on build bot (also spotted by philn).
2010-05-01 11:15:04 +01:00
David Schleef
1df1d34fe1
qtdemux: UYVY is 4:2:2, not 4:2:0
2010-04-30 17:19:44 -07:00
Sebastian Dröge
2ac1f1c7ee
deinterlace: Make automatic detection of interlacing the default
...
Previously "force deinterlacing" was the default, which is a not very
sensible default for the normal use case where deinterlace should act
in passthrough mode unless interlaced content is present.
2010-04-30 22:17:12 +02:00
Mark Nauwelaerts
be5ffd96fe
rtptheoradepay: also accept in-band configuration
...
Fixes #574416 (theora).
2010-04-30 13:54:56 +02:00
Mark Nauwelaerts
a344cfba27
rtpvorbisdepay: also accept in-line configuration
...
Fixes #574416 (vorbis).
2010-04-30 13:54:52 +02:00
Olivier Crête
7bc3253761
rtptheoradepay: Ignore packets without a known codebook
...
Don't produce an error if a packet is received without a valid codebook,
it's possible that the codebook will just be coming later.
See #574416 .
2010-04-30 13:54:50 +02:00
Benjamin M. Schwartz
c3dc498278
y4menc: add 4:2:2, 4:1:1, and 4:4:4 output support
...
Fixes #610902 .
2010-04-30 13:50:08 +02:00
Mark Nauwelaerts
6bf7f5cfd3
rtph264depay: DELTA_UNIT marking of output buffers
...
... which evidently makes (most) sense if output buffers are
actually frames.
Partially based on a patch by
Miguel Angel Cabrera <mad_aluche at hotmail.com>
Fixes #609658 .
2010-04-30 13:50:03 +02:00
Mark Nauwelaerts
0206b67b1d
rtph263depay: extra keyframe info from PTYPE header
...
... as opposed to taking it from h263 payload header, which need not
be so reliable.
Fixes #610172 .
2010-04-30 13:50:00 +02:00
Mark Nauwelaerts
fe9e6d82ee
rtph263depay: also use Picture Start Code to detect packet loss
...
This ensures a whole frame is dropped if a (start) packet is lost,
rather than relying only on the DISCONT flag.
2010-04-30 13:49:57 +02:00
Mark Nauwelaerts
84ac277add
rtph263depay: detect frame start using Picture Start Code
...
So we stop dropping fragments as soon as there is a picture start (code).
In particular, this prevents dropping the first frame following
initial DISCONT.
2010-04-30 13:49:54 +02:00
Mark Nauwelaerts
e7903311f5
rtph263depay: handle a few FIXMEs
2010-04-30 13:49:51 +02:00
Mark Nauwelaerts
3692bbb7ae
rtph263depay: slightly refactor payload dropping
2010-04-30 13:49:47 +02:00
Mark Nauwelaerts
a08f76a92e
rtph263pay: use found GOBs to apply Mode A payloading
...
... rather than falling back to sending the whole frame in one packet
if number of GOB startcodes < maximum.
One might take this further and still perform Mode B/C payloading,
but at least this should cater for decent fragments in typical cases.
Fixes #599585 .
2010-04-30 13:49:43 +02:00
Mark Nauwelaerts
a6bb8338fd
matroskademux: implement push mode seeking
2010-04-30 13:49:39 +02:00
Tim-Philipp Müller
e79f7beba6
docs: update for videofilter plugin merge and add gtk-doc blurb for new property
2010-04-29 20:08:43 +01:00
Sebastian Dröge
61217b521c
deinterlace: Improve segment handling a bit
2010-04-29 19:28:24 +02:00
Sebastian Dröge
05a2732851
deinterlace: Order caps by amount of contained information
2010-04-29 19:28:24 +02:00
Sebastian Dröge
cb789617f9
deinterlace: Properly set interlaced field in getcaps
2010-04-29 19:28:24 +02:00
Sebastian Dröge
eeb5a23483
deinterlace: Add planar YUV support to all other simple methods
2010-04-29 19:28:24 +02:00
Sebastian Dröge
4ca4ac3f03
deinterlace: Add planar YUV support to greedyh method
2010-04-29 19:28:24 +02:00
Sebastian Dröge
bdb9675519
deinterlace: Add support for planar YUV formats in greedyl method
2010-04-29 19:28:24 +02:00
Sebastian Dröge
03a8379e20
deinterlace: Add support for Y444, Y42B, I420, YV12 and Y41B
...
The vfir method supports them and will be used until something else
supports it.
2010-04-29 19:28:23 +02:00
Sebastian Dröge
a626b19490
deinterlace: Define deinterlace method base classes as abstract types
2010-04-29 19:28:23 +02:00
Sebastian Dröge
600f82fbfe
deinterlace: Move deinterlacing methods to their own file
2010-04-29 19:28:23 +02:00
Sebastian Dröge
a405d5a4f1
deinterlace: Simplify passthrough mode detection
2010-04-29 19:28:23 +02:00
Sebastian Dröge
3dc7215492
deinterlace: Refactor deinterlacing as preparation for supporting more color formats
2010-04-29 19:28:23 +02:00
Sebastian Dröge
e2eb012a41
videobox: Add support for Y444, Y42B and Y41B
2010-04-29 19:28:23 +02:00
Sebastian Dröge
d20306b699
videobox: Add support for YVYU and reorder template caps
2010-04-29 19:28:23 +02:00
Sebastian Dröge
4e836d3271
videobox: Translate navigation events to make sense again upstream
2010-04-29 19:28:23 +02:00
Sebastian Dröge
a105bf49e3
videobox: Properly handle ranges/lists of width or height when transforming caps
...
Code partly taken from the videocrop element.
2010-04-29 19:28:23 +02:00
Sebastian Dröge
f71157fa06
alpha: Fix planar YUV->RGB processing
2010-04-29 19:28:22 +02:00
Sebastian Dröge
1897ab2928
alpha: Correctly clamp after YUV->RGB conversion
2010-04-29 19:28:22 +02:00
Sebastian Dröge
545b21c9bd
alpha: Add support for YUY2, YVYU and UYVY
2010-04-29 19:28:22 +02:00
Sebastian Dröge
90058bc076
videobox: Sync properties to the controller in before_transform
2010-04-29 19:28:22 +02:00
Sebastian Dröge
9fa14f8c37
videobox: Add support for YUY2 and UYUV
2010-04-29 19:28:22 +02:00
Sebastian Dröge
0294e1e48a
alpha: Refactor processing and add support for other planar YUV formats
...
This reduces the generated code size by a factor of 2.5.
2010-04-29 19:28:22 +02:00
Sebastian Dröge
ba72a058bb
alpha: Add support for YV12 input
2010-04-29 19:28:22 +02:00
Sebastian Dröge
6dd3edd0f7
videomixer: Add support for YUY2, YVYU, UYVY
2010-04-29 19:28:22 +02:00
Sebastian Dröge
bd0b307a74
videomixer: Add support for Y444, Y42B, Y41B and YV12
2010-04-29 19:28:22 +02:00
Sebastian Dröge
314fbd80e8
videofilter: Order color formats by their contained amount of information
2010-04-29 19:28:21 +02:00
Sebastian Dröge
1bc924d8ad
videoflip: Drop Y41B/Y42B support
...
Rotating 90°/270° with subsampled YUV where horizontal
and vertical subsampling are different doesn't really work.
2010-04-29 19:28:21 +02:00
Sebastian Dröge
45571f4bd4
videoflip: Also flip the pixel-aspect-ratio if width/height are exchanged
2010-04-29 19:28:21 +02:00
Sebastian Dröge
c0e990b58f
videoflip: Change the default method to identity
2010-04-29 19:28:21 +02:00
Sebastian Dröge
0515f88f7c
videobalance: Reduce number of allocations per instance
2010-04-29 19:28:21 +02:00
Sebastian Dröge
3ef25c28cd
videofilter: Update last-reviewed comments
2010-04-29 19:28:21 +02:00
Sebastian Dröge
c5805b6e38
videobalance: Add support for all RGB formats
2010-04-29 19:28:21 +02:00
Sebastian Dröge
80676e1777
videobalance: Add support for YUY2, UYVY, AYUV and YVYU
2010-04-29 19:28:21 +02:00
Sebastian Dröge
3d70ce60fa
videobalance: Add debug category
2010-04-29 19:28:20 +02:00
Sebastian Dröge
37de42977a
videobalance: Make property access threadsafe
2010-04-29 19:28:20 +02:00
Sebastian Dröge
5f396b9a71
videobalance: Add support for Y41B, Y42B and Y444
2010-04-29 19:28:20 +02:00
Sebastian Dröge
2cb7ac0192
videobalance: Use libgstvideo for format specific things
2010-04-29 19:28:20 +02:00
Sebastian Dröge
fe4f9ea16b
videobalance: Make properties controllable
2010-04-29 19:28:20 +02:00
Sebastian Dröge
ea06bd33f8
videobalance: Emit "value-changed" signal of color balance interface when values change
2010-04-29 19:28:20 +02:00
Sebastian Dröge
e13cd55fab
videobalance: Some random cleanup
2010-04-29 19:28:20 +02:00
Sebastian Dröge
17ba0818b1
videobalance: Stop using liboil
...
The used liboil function is deprecated and has no optimized
implementation anyway.
2010-04-29 19:28:20 +02:00
Sebastian Dröge
bc2edb9706
videoflip: Make property access threadsafe
2010-04-29 19:28:20 +02:00
Sebastian Dröge
650072abed
gamma: Sync properties to the controller in before_transform
2010-04-29 19:28:19 +02:00
Sebastian Dröge
537effad12
videoflip: Add support for all RGB formats and AYUV
2010-04-29 19:28:19 +02:00
Sebastian Dröge
516b5f7f2e
videoflip: Add support for Y41B, Y42B and Y444
2010-04-29 19:28:19 +02:00
Sebastian Dröge
e8ca390be8
videoflip: Make processing more general and use libgstvideo for all format specific things
2010-04-29 19:28:19 +02:00
Sebastian Dröge
754690dad6
videoflip: Make method property controllable and improve debug output
2010-04-29 19:28:19 +02:00
Sebastian Dröge
8c4aeb2eac
videoflip: Some random cleanup
2010-04-29 19:28:19 +02:00
Sebastian Dröge
1584d16b1c
videofilter: Move all elements into a single plugin
...
Having all these small elements in a separate plugin
is not very memory effective...
2010-04-29 19:28:19 +02:00
Sebastian Dröge
92cedb0510
gamma: Improve docs a bit
2010-04-29 19:28:19 +02:00
Sebastian Dröge
e23d74ca84
gamma: Add support for all RGB formats
2010-04-29 19:28:19 +02:00
Sebastian Dröge
2d1e6cf3f5
gamma: Add support for many packed YUV formats
...
That is YUY2, UYVY, AYUV and YVYU.
2010-04-29 19:28:19 +02:00
Sebastian Dröge
2de3eabac6
gamma: Add support for all other planar YUV formats
...
That is Y41B, Y42B, Y444, NV12 and NV21.
2010-04-29 19:28:19 +02:00
Sebastian Dröge
9f727ea05c
gamma: Stop using liboil
...
The used liboil function is deprecated, only has a reference implementation
and is more complex than what's needed here.
2010-04-29 19:28:19 +02:00
Sebastian Dröge
155e48fb90
gamma: Use libgstvideo for format specific values and make gamma processing more generic
...
Allows us to easily add support for new color formats later.
2010-04-29 19:28:18 +02:00
Sebastian Dröge
18273152b3
gamma: Make gamma property controllable
...
...and properly use liboil.
2010-04-29 19:28:18 +02:00
Sebastian Dröge
2a3f99ca5f
gamma: Some random cleanup
2010-04-29 19:28:18 +02:00
Sebastian Dröge
ecb0c3a932
smptealpha: Sync properties to the controller in before_transform
2010-04-29 19:28:18 +02:00
Sebastian Dröge
f005c87037
smptealpha: Add support for YV12 (converted to AYUV)
2010-04-29 19:28:18 +02:00
Sebastian Dröge
ae1783e5cd
smptealpha: Add support for all 4 ARGB formats
...
...without format conversion.
2010-04-29 19:28:18 +02:00
Sebastian Dröge
055c90359a
smptealpha: Make color format support more generic
...
This allows easier addition of new formats later.
2010-04-29 19:28:18 +02:00
Sebastian Dröge
56d4230b22
smptealpha: Some random cleanup
2010-04-29 19:28:18 +02:00
Sebastian Dröge
04a1b1dc48
smpte: Add property for inverting the transition mask
...
This converts a left-to-right transition to right-to-left or
clock-wise to counter-clock-wise.
2010-04-29 19:28:17 +02:00
Sebastian Dröge
e17954aa6b
smptealpha: Correctly detect property changes and update properties
2010-04-29 19:28:17 +02:00
Wim Taymans
754007b344
qcelpdepay: add first version of a QCELP depayloader
2010-04-29 18:07:10 +02:00