Stefan Kost
2fd09ebd89
spectrum: call the instance var spectrum instead of filter
2011-03-09 17:00:57 +02:00
Stefan Kost
d8d6a3b79e
spectrum: don't value we already took from the gvalue
2011-03-09 17:00:57 +02:00
Mark Nauwelaerts
1f7f434df6
jitterbuffer: also estimate eos if very near eos
2011-03-07 16:56:43 +01:00
Mark Nauwelaerts
3c9a4239bf
jitterbuffer: avoid trying to buffer more than is available.
...
That is, in case of short (or near eos of) stream, deadlock (until timeout)
would occur trying to buffer more than is yet forthcoming.
2011-03-07 16:56:18 +01:00
Mark Nauwelaerts
f84b8a69cb
jitterbuffer: reset element base_time upon flush
...
... to arrange for properly scheduled timeout (following seek).
2011-03-07 11:07:12 +01:00
Mark Nauwelaerts
b69c605c2c
wavparse: tune output max buffer size to material
...
... to avoid ending up with tons of short time buffers for e.g. high sample
rate audio.
2011-03-04 18:43:29 +01:00
Stefan Kost
3ec3bed497
monoscope: don't leak the monoscope_state data
...
The monoscope_close() implementation was empty.
2011-03-02 13:01:45 +02:00
Stefan Kost
7bc3344131
monoscope: we have 64 colors, don't access colors[64]
...
Fixes remaining invalid read.
2011-03-02 13:01:45 +02:00
Mark Nauwelaerts
0ffd4ff8c0
qtdemux: arrange for non-fatal error when parsing non-vital parts
2011-03-02 10:26:46 +01:00
Stefan Kost
d2ee8b979d
monoscope: stack needs to be size+1 as we put a end-marker into it
...
Valgrind is still complaining about one bad read, but this takes care of the
crash mentioned in the comment and in bug #564122 .
2011-03-02 10:56:33 +02:00
David Schleef
caa971e605
qtdemux: remove accidental debug message
...
in previous commit
2011-02-25 20:12:35 -08:00
David Schleef
6565dd5fbc
qtdemux: Add support for 2Vuy and r210
2011-02-25 19:36:26 -08:00
Sebastian Dröge
88cbcf5aa4
deinterlace: Add support for NV21 colorspace
2011-02-24 14:08:25 +01:00
Carsten Kroll
ce0e34a0d5
deinterlace: Add support for NV12 colorspace
...
Fixes bug #642961 .
2011-02-24 14:00:37 +01:00
Robert Swain
6607cdcc08
deinterlace: Simplify setcaps
...
The current code never uses upstream negotiation so the code can be
significantly simplified.
2011-02-23 13:09:19 +01:00
Robert Swain
6402556157
deinterlace: Port greedyl to GstDeinterlaceSimpleMethod
...
The main goal of this change is to reuse the complex but now neatly
written scanline pointer calculation code from the simple methods.
2011-02-23 13:09:19 +01:00
Stefan Kost
98501f6f45
Revert "id3demux: ensure a taglist before adding the container tag"
...
This reverts commit a86bab6689
. The issue is
fixed with commit ff5e5a8f0d
instead.
2011-02-22 15:21:42 +02:00
Stefan Kost
ff5e5a8f0d
id3demux: return ID3TAGS_BROKEN_TAG for unsupported versions
...
This prevents us for trying to work with a NULL taglist.
2011-02-22 15:21:28 +02:00
Edward Hervey
e08bdf691d
qtdemux: Fix unitialized variable.
2011-02-22 14:16:05 +01:00
Mark Nauwelaerts
940417edc3
avidemux: ensure sane parameters when parsing superindex
2011-02-22 14:03:25 +01:00
Mark Nauwelaerts
d680842a7f
avidemux: check for NULL audio stream format header when parsing stream
2011-02-22 14:03:23 +01:00
Blaise Gassend
0f88181f43
rtpbin: handle NULL demux elements
...
When using gstrtpbin with ignore-pt=true, the free_stream function tries to
call gst_element_set_locked_state and gst_element_set_state on a stream->demux
which is NULL.
fixes #642412
2011-02-22 13:31:35 +01:00
Robert Swain
6b26017ae7
deinterlace: small clean-ups
...
Improve debug output by printing the buffer pointer when
popping a buffer and simplify code to use scanlines.bottom_field
as appropriate.
https://bugzilla.gnome.org/show_bug.cgi?id=642691
2011-02-21 20:14:19 +00:00
Robert Swain
32f757786b
deinterlace: fix assigned method_id when using fallback
...
https://bugzilla.gnome.org/show_bug.cgi?id=642691
2011-02-21 20:14:09 +00:00
Wim Taymans
45ea930a99
rtpbin: fix setting the SDES property
...
Only the sdes veriable is protected with the object lock.
Use the right object when setting the sdes property.
2011-02-21 17:19:05 +01:00
Edward Hervey
6e1c701502
Revert "Check that collectpads exists before removing pad"
...
This reverts commit 8e6b876e76
.
Depends on a core commit that was reverted
2011-02-21 12:25:19 +01:00
Tim-Philipp Müller
06972db7b6
icydemux: fix tag list handling issues that might have caused crashes
...
Fix slightly confused tag handling in some places: make it clear when
we're taking ownership of a tag list and when not. For example,
gst_icydemux_tag_found() was taking ownership when the source pad
existed, but otherwise not (leak). Also, gst_event_parse_tag() does
not return a newly-allocated taglist, but a tag list that belongs to
the tag event, so don't give ownership of it away.
While we're at it, some minor clean-ups: don't re-invent g_strndup()
and simplify gst_icydemux_parse_and_send_tags() a bit, and don't
leak the tag list in case no valid tags where found.
https://bugzilla.gnome.org/show_bug.cgi?id=641330
2011-02-21 11:03:03 +00:00
David Schleef
8e6b876e76
Check that collectpads exists before removing pad
...
The core now calls release pad from finalize, at which point
the collectpads might have already been freed.
2011-02-20 23:46:01 -08:00
Stefan Kost
367adf2b69
avidemux: stream->current_total is accumulated byte size and not time
...
Use timestamp for the stream index as well.
2011-02-18 10:14:32 +02:00
David Schleef
053f03c032
udpsink: warn when packet is too large
2011-02-17 18:05:43 -08:00
David Schleef
e017e14847
matroskaparse: New element
...
Copied from demux. Duplicates much code, also some dead code
remaining.
2011-02-17 18:05:43 -08:00
David Schleef
eab982ce60
matroskademux: Earlier debug category initialization
2011-02-17 18:05:43 -08:00
David Schleef
63bb9807a3
flvmux: don't set duration for live stream
2011-02-17 18:05:43 -08:00
David Schleef
1732baf7af
debugutils: remove bitrotten negotiation element
...
Wasn't enabled, didn't work, and planned features have been
superceded by capsfilter and capsdebug.
2011-02-17 18:05:43 -08:00
David Schleef
e54ba41ff7
rtpvrawpay: Implement interlacing
2011-02-17 18:05:43 -08:00
Stefan Kost
d8f29266e9
avidemux: also add the frame-type for the stream index
2011-02-17 17:57:42 +02:00
Stefan Kost
80d820ff29
avidemux: get the index writer id when the pad has a parent
...
Otherwise the index writer has a weired name, as the pad has no parent yet.
2011-02-17 17:56:29 +02:00
Stefan Kost
99e4bdd8f2
avidemux, flvdemux: formatting cleanup
...
Trim trailing whitespaces and fix the formatting of double negation.
2011-02-17 14:13:36 +02:00
Stefan Kost
ade128a002
avidemux, flvdemux: mark delta-units in the index
...
We need to use the 'delta' flag for delta units and not the 'none' flag.
2011-02-17 14:13:36 +02:00
Stefan Kost
b38cf735a5
qtdemux: mark delta-unit in the index
...
We need to use the delta flag fro delta units and not none. Print more details
to the debug log.
2011-02-17 12:50:03 +02:00
Stefan Kost
9852f1cee6
qtdemux: formatting cleanup
...
Trim trailing whitespaces and fix the formatting of double negation.
2011-02-17 12:48:49 +02:00
Stefan Kost
8d5be2e8a4
matroskamux: rework _request_new_pad to handle explict req-pad-names
...
Don't ignore explicit pad-names.
2011-02-16 17:15:28 +02:00
Stefan Kost
1e034cb01f
avimux: rework _request_new_pad to handle explict req-pad-names
...
Don't ignore explicit pad-names. Rearrange the code and the error handling a
bit. Add a FIXME-0.11 for the bad pad-names.
2011-02-16 17:15:27 +02:00
Andy Wingo
cfeb84b821
plug qtdemux refcount leaks
...
* gst/qtdemux/qtdemux.c (gst_qtdemux_src_convert): Unref the qtdemux; we
weren't doing so before.
(gst_qtdemux_handle_src_event, gst_qtdemux_chain): Fix some error
cases which would leak a ref to the qtdemux.
2011-02-15 16:30:29 +01:00
Mark Nauwelaerts
d466f07def
matroskademux: avoid sorting NULL array of cluster positions
2011-02-14 17:57:33 +01:00
Wim Taymans
4279aa6a68
theorapay: handle 0 sized packets
...
Handle 0 sized packets (repeat frame) in the payloader and depayloader.
Fixes #641827
2011-02-14 16:48:06 +01:00
Tuukka Pasanen
d203b1ef50
taginject: resend tags when they are changed
...
Allow setting new tags on the property while running and send them.
Fixes #640249
2011-02-14 15:23:56 +02:00
Miguel Angel Cabrera Moya
3cca27ced1
rtspsrc: fix minor leaks when handling server requests.
...
https://bugzilla.gnome.org/show_bug.cgi?id=640163
2011-02-14 11:33:18 +01:00
Heath Nielson
aa7e638d8e
qtdemux: extract MusicBrainz tags
...
Extract MusicBrainz tags added by MusicBrainz's Picard
tagger application. These tags (esp. the album id) are
helpful for rhythmbox et.al. to automatically downloads
cover art.
https://bugzilla.gnome.org/show_bug.cgi?id=642205
2011-02-14 00:49:00 +00:00
Tim-Philipp Müller
6f0a4fa85b
qtdemux: refactor iTunes tag parsing a bit
2011-02-14 00:38:45 +00:00
Mark Nauwelaerts
686189f3f0
qtdemux: propagate error during expose_streams
...
... as it may occur during initial parsing of fragmented file.
2011-02-10 18:17:56 +01:00
Mark Nauwelaerts
3dc42d3704
qtdemux: avoid skipping exposing a stream following a removed stream
2011-02-10 18:17:40 +01:00
Mark Nauwelaerts
b70f4b6ffa
matroskademux: store cluster positions provided by SeekHead
...
... and use those, if available, to locate a cluster rather than scanning.
2011-02-10 18:17:31 +01:00
Mark Nauwelaerts
9de84b45bc
matroskademux: properly resume cluster scanning
...
... rather than getting offset tracking messed up, and then likely
failing a subsequent assert.
2011-02-09 16:27:00 +01:00
Stefan Kost
a86bab6689
id3demux: ensure a taglist before adding the container tag
...
In the case of id3v1 also don't return NULL on empty tags, but also create a new
taglist and add the container tag for consistency.
2011-02-08 10:07:43 +02:00
Stefan Kost
6f6b2a7efc
rtspsrc: strip trailing spaces
2011-02-07 17:08:47 +02:00
Stefan Kost
5e071d51f2
rtpsrc: set multiple properties in one go
...
There is no need for separate g_object_set() calls here.
2011-02-07 17:07:42 +02:00
Thiago Santos
cb527623a3
deinterlace: Handle image caps without asserting
...
Images might have framerate=0/1 in the caps, which caused an
assertion on deinterlace. I don't know of interlaced image formats
but deinterlace might be hardcoded on some generic pipelines and
it shouldn't assert.
The fix was to set field_duration to 0 if the input has a framerate
with a 0 numerator.
This patch also adds checks for this situation on the unit tests.
https://bugzilla.gnome.org/show_bug.cgi?id=641400
2011-02-04 09:38:35 -03:00
Stefan Kost
18213aa214
docs: fix parameter name in udpsrc docs
...
It is "buffer-size" and not "buffer". Also trim trailing whitespace.
2011-02-04 12:34:08 +02:00
Wim Taymans
61382aad28
source: fix type of ntpnstime
2011-02-02 18:30:47 +01:00
Wim Taymans
8598aaf81b
rtpbin: Get and use the NTP time when receiving RTCP
...
When we receive an RTCP packet, get the current NTP time in nanseconds so that
we can correctly calculate the round-trip time.
2011-02-02 18:30:46 +01:00
Olivier Crête
8a7a327db7
rtptheoradepay: Request new keyframe on lost packets
...
Theora can only use the last frame (or the keyframe) as a reference, so in
practice. If we receive a buffer that references an unknown codebook, request
new headers. It probably means that headers were lost.
2011-02-01 18:28:51 +01:00
Olivier Crête
cd923223dd
rtpsession: Add action signal to request early RTCP
2011-02-01 18:28:51 +01:00
Olivier Crête
c0996e6b90
rtpsession: Add callback to get the current time
2011-02-01 18:28:51 +01:00
Olivier Crête
a630c68fc3
rtpsession: Don't relay more than one PLI request per RTT
...
Drop PLI requests if one was relay in the last RTT, the other side may
just not have received the keyframe yet.
2011-02-01 18:28:51 +01:00
Olivier Crête
a61bb9e94b
rtpsession: Send GstForceKeyUnit event in response to received RTCP PLI
2011-02-01 18:28:51 +01:00
Sjoerd Simons
7350d2adfa
gstrtpsession: Fallback for FIR to PLI if PLI isn't available
2011-02-01 18:28:51 +01:00
Olivier Crête
52f95fa7ee
rtpsession: Implement sending PLI packets in response to GstForceKeyUnit
2011-02-01 18:28:51 +01:00
Olivier Crête
db5150a23a
rtpsource: Retain RTCP Feedback packets for a specified amount of time
2011-02-01 18:28:51 +01:00
Olivier Crête
90354ecb49
rtpsession: Make rtcp buffer metadata writable after processing it
...
Functions that process the rtcp buffer could decide to keep a ref
on the buffer for further processing. So make the metadata writable
only after they are done.
2011-02-01 18:28:50 +01:00
Olivier Crête
1643f427db
rtpsession: Emit signal on incoming RTCP FB packet
2011-02-01 18:28:50 +01:00
Wim Taymans
f399b6a641
rtpsession: fix compilation
2011-02-01 18:28:50 +01:00
Olivier Crête
1bde427250
rtpsession: Add method to request early RTCP packet
...
Implement the early mode defined in RFC 4585. In this mode, RTCP feedback
packets are sent early to notifier.
2011-02-01 17:03:39 +01:00
Olivier Crête
975e1fecb3
rtpsession: Add property for minimum interval between Regular RTCP messages
...
This can be changed according to RFC 4585
2011-02-01 16:56:15 +01:00
Olivier Crête
cdb5465741
rtpsession: Emit signal when sending a compound RTCP packet
...
This allows users to add extra RTCP packets to the compound
RTCP packet.
2011-02-01 16:50:58 +01:00
Olivier Crête
589b254ce5
rtpptdemux: Tag upstream custom events with payload type
2011-02-01 16:50:25 +01:00
Olivier Crete
c7b1ce7310
rtpssrcdemux: Tag upstream custom events with SSRC
2011-02-01 16:49:10 +01:00
Olivier Crête
9f073459e0
rtpsession: Emit "on-ssrc-validated" when validating by RTCP
...
Emit "on-ssrc-validated" if the SSRC is validated by receiving
a RTCP SDES packet.
2011-02-01 16:45:58 +01:00
Wim Taymans
f95c30a413
j2kpay: skip EPH packets
...
Include EPH markers into the previous chunk of packets.
2011-02-01 16:39:10 +01:00
Olivier Crête
07ebec51f5
rtppcmapay: Rename the class to have the right name
...
It was name pmca instead of pcma and made debug logs hard to search.
2011-01-31 17:56:43 -05:00
Tim-Philipp Müller
ede0635d45
deinterlace: simplify template caps
...
We can merge all the YUV variants into one single structure.
2011-01-31 13:44:45 +00:00
Mark Nauwelaerts
8d90dba55e
avidemux: initialize local variable to please mingw32 compiler
2011-01-27 16:02:46 +01:00
Mark Nauwelaerts
7def8c9b98
udp: use socklen_t where appropriate rather than custom type
...
In particular, fixes Cygwin build where socklen_t is defined as int
in line with native win32 api definition.
2011-01-27 16:01:09 +01:00
Mark Nauwelaerts
cb76a13cc9
qtdemux: mind rounding issues when converting from global time to mov time
...
In particular, this avoids missing the intended keyframe when first converting
from the frame's mov time to global segment time, and then back from global
time to mov time when activating the segment.
2011-01-27 12:27:38 +01:00
Ognyan Tonchev
0add79cbf1
matroskamux: don't leak ebml writer caps when re-using matroskamux
...
https://bugzilla.gnome.org/show_bug.cgi?id=640542
2011-01-26 08:51:04 +00:00
Stefan Kost
9f34b89245
rtpjitterbuffer: don't divide by 0
2011-01-25 21:57:57 +02:00
Mark Nauwelaerts
68fc03fd76
matroskademux: pull mode should always report seekable
...
... as it no longer requires an index, but can seek by scanning as well.
2011-01-24 22:24:28 +01:00
Mark Nauwelaerts
9f7570f132
qtdemux: support some more mpeg-4 fourcc variants
2011-01-24 22:23:56 +01:00
Mark Nauwelaerts
662ec520ae
qtdemux: simplify retrieving stsd child entry atom
2011-01-24 22:23:53 +01:00
Edward Hervey
c6b9f5b25a
avidemux: Don't consider 0 fcc_handler as uncompressed.
...
Just avoids a warning
2011-01-24 18:30:57 +01:00
Wim Taymans
899dad8949
qtdemux: take configured start time into account
...
when creating the newsegment event, take the configured start time
into account.
2011-01-24 16:48:17 +01:00
Tim-Philipp Müller
06364a54ce
qtdemux: fix printf format warning on mingw32
...
Make win32 build bot happy again, and nicefy output while we're at it.
qtdemux.c: In function 'qtdemux_parse_trun':
qtdemux.c:2162:3: error: format '%lu' expects type 'long unsigned int', but argument 9 has type 'guint32'
2011-01-24 15:11:02 +00:00
Tim-Philipp Müller
693b3b7e0b
h264depay: don't leak codec data buffer in byte-stream=true mode
...
https://bugzilla.gnome.org/show_bug.cgi?id=640063
2011-01-20 14:10:55 +00:00
Tim-Philipp Müller
08855b45b6
rtspsrc: don't leak url string
...
https://bugzilla.gnome.org/show_bug.cgi?id=640064
2011-01-20 13:46:44 +00:00
Edward Hervey
6d545e29ad
qtdemux: Gracefully handle mov files misusing the WAVE atoms
...
Check that the WAVEHEADER node is present instead of blindly using it.
If not present we won't be able to provide a more refined caps, but at
least we won't crash.
https://bugzilla.gnome.org/show_bug.cgi?id=640028
2011-01-20 11:48:38 +01:00
David Schleef
c2b343cd76
deinterlace: rewrite how neighboring scan lines are calculated
...
Old code was difficult to understand exactly how the neighboring
scan lines are calculated, and it appeared that some were off by
+2 or -2, depending on the field flag. Fixes #639321 .
2011-01-18 11:04:08 +01:00
Tim-Philipp Müller
7d9b7abbd4
avisubtitle: set caps on srcpad to fix issue with discoverer
...
Set caps from the start so discoverer doesn't blow up on
seeing no negotiated caps between elements on preroll,
which might happen if no subtitle buffers have been
pushed yet at the time. See file from bug #603308 .
2011-01-18 09:33:06 +00:00
Mark Nauwelaerts
0124302b58
matroskamux: avoid creating caps from string when possible
...
Fixes #639516 .
2011-01-14 16:25:14 +01:00
Mark Nauwelaerts
a49a248fff
avimux: set src pad caps when starting file
...
Fixes #639516 .
2011-01-14 16:24:32 +01:00
Tim-Philipp Müller
4a7a78dc9e
alpha: fix compiler warnings caused by -DG_DISABLE_ASSERT
2011-01-07 02:32:20 +00:00
Tim-Philipp Müller
68fa8f3417
matroska: don't put essential function calls into g_assert()
...
g_assert() will expand to NOOPs if -DG_DISABLE_ASSERT is passed.
2011-01-07 02:06:51 +00:00
Edward Hervey
4decc3aaea
rtp: Fix unitialized variables on macosx
2011-01-06 12:29:21 +01:00
Edward Hervey
74360c22be
qtdemux: Fix unitialized variables on macosx
2011-01-06 12:28:58 +01:00
David Schleef
088ae75681
capsdebug: Add capdebug debug category
2011-01-05 17:50:37 -08:00
David Schleef
97d74f293c
deinterlace: Change the default to linear
...
The previous default, greedyh, takes 4 times as long as MPEG-2
video decoding, and is unlikely fast enough on any current CPU
to play 1080i video in real-time. greedyl isn't much faster.
linear was chosen over vfir, since the quality advantage of vfir
is minimal compared to the occasional visual artifacts and slower
processing.
2011-01-05 17:50:09 -08:00
Wim Taymans
bc0824181b
rtspsrc: don't confuse return values
...
Return a return value of the right type.
2011-01-05 18:33:41 +01:00
Edward Hervey
ee2a615851
qtdemux: Fix unitialized variables on macosx
2011-01-05 16:24:13 +01:00
Wim Taymans
6b91c5f6e7
vrawdepay: fix length check
...
Add some more debugging.
Add the length check so we don't cause unneeded warnings.
2011-01-05 15:03:32 +01:00
Wim Taymans
43c6d0c72a
multiudpsink: add buffer-size property
...
Add buffer-size property to configure the kernel send buffer.
2011-01-05 12:05:15 +01:00
Stefan Kost
c9e0db6469
rtspsrc: remove unused variables when debug-logging disabled
2011-01-03 20:17:47 +02:00
Stefan Kost
a570310cdc
matroska-demux: remove unused variables when debug-logging disabled
2011-01-03 20:17:47 +02:00
Wim Taymans
dc221c0219
rtspsrc: increase udp buffer size
...
Set a bigger UDP buffer size by default to reduce packet loss with
high bitrate streams.
2011-01-03 15:40:11 +01:00
David Schleef
6ab508dfa5
multifilesink: send stream headers in key-frame mode
2011-01-02 19:22:47 -08:00
Erich Schubert
5b79a3d2f8
id3demux: fix parsing of ID3v2.4 genre frames with multiple genres
...
We'd only extract the first genre (multiple times) instead of all
genres.
https://bugzilla.gnome.org/show_bug.cgi?id=638535
2011-01-02 19:26:45 +00:00
Wim Taymans
5ed3701a2d
mp4adepay: improve timestamps on outgoing packets
...
Improve parsing of the samplerate.
Parse the framelen so that we can calculate timestamps.
When interpollate the incomming timestamp on outgoing buffers when there are
multiple subframes.
fixes #625825
2010-12-31 13:57:05 +01:00
Tim-Philipp Müller
cfa7225898
cairo, videofilter: use gst/math-compat.h header for rint
2010-12-31 02:16:54 +00:00
David Schleef
cdaf72b614
videobalance: Check for HAVE_RINT instead
...
Also change M_PI to G_PI for giggles.
2010-12-30 14:34:43 -08:00
David Schleef
7b8981766b
Change M_PI to G_PI
2010-12-30 14:20:52 -08:00
David Schleef
d4167c4fee
videobalance: use G_OS_WIN32 for windows check
2010-12-30 12:14:23 -08:00
Wim Taymans
9c2393490f
mp4adepay: fix timestamps on buffers
2010-12-30 16:24:46 +01:00
Wim Taymans
756869421c
mpvpay: fix flushing and discont
...
Fix flushing and disconts.
Clean up in state changes.
2010-12-30 16:24:46 +01:00
Tim-Philipp Müller
3a66829087
matroska-demux: increase allowed max. block size for push mode from 10M to 15M
...
It was an arbitrary limit from the start, meant as a basic sanity check,
so may just as well increase it a little. Would be good to provide
progress reporting while completing the block in any case..
https://bugzilla.gnome.org/show_bug.cgi?id=637060
2010-12-29 23:38:18 +00:00
Tim-Philipp Müller
c8fc90fd37
matroska-demux: assume matroska if no doctype is specified
...
https://bugzilla.gnome.org/show_bug.cgi?id=638019
2010-12-29 23:09:04 +00:00
Tim-Philipp Müller
96830324a5
rtspsrc: serialise/deserialise floats without changing locale
...
Use g_ascii_dtostr() and g_ascii_strtod() to serialise/deserialise
floating point numbers, instead of ugly hacks that switch locale
before and after calling libc functions (which is not a good idea
in a multi-threaded application).
2010-12-29 15:54:46 +00:00
Tim-Philipp Müller
fafd0b7bc3
rtpjpegdepay: fix framerate parsing for locales that use a comma as floating point
...
atof() converts strings according to the current locale, but the
framerate string will likely always use a dot as floating point
separator, so use g_ascii_strtod() instead (but also canonicalise
the string before, so we can handle both formats as input).
2010-12-29 14:59:30 +00:00
Wim Taymans
b5647685c4
rtpsource: use the right variable
...
Use the right variable for specifying that we sent a receiver report.
2010-12-27 13:13:46 +01:00
Rob Clark
02cb1dd7b5
matroska-demux: add stream-format and alignment properties for h264
2010-12-23 16:12:51 -06:00
Wim Taymans
ef0bc7558d
gstpay: fix klass, add RTP as a use case
2010-12-23 18:39:52 +01:00
Wim Taymans
5fe6046c20
gstdepay: cleanup the cache
2010-12-23 18:39:52 +01:00
Wim Taymans
7c9b91d2d8
gstpay/depay: add generic gstreamer payloader
...
Add the beginnings of a generic GStreamer buffers payloader.
2010-12-23 18:39:52 +01:00
Wim Taymans
e13340ccb5
mp4gpay: reset state on flush-stop
2010-12-23 17:06:58 +01:00
Wim Taymans
1dd71cc63f
mp4gdepay: flush state on flush-stop
2010-12-23 16:26:07 +01:00
Wim Taymans
2a49d34c3e
rtspsrc: on-npt-stop is a manager signal
2010-12-23 16:25:15 +01:00
Wim Taymans
12bc7258b9
rtspsrc: improve RTP session handling
...
Store the RTP session in the stream so that we can more efficiently
perform actions on the stream based on RTP signals.
2010-12-23 15:24:29 +01:00
Wim Taymans
7caad21a57
rtpsource: include last send RB block
...
Only report RB values for non-internal sources.
Report not only the RB blocks we last received from but also the last RB
block we sent to a source.
2010-12-23 13:58:30 +01:00
Wim Taymans
8fa5ddab9a
rtpsession: remember last sent RB values.
2010-12-23 13:58:30 +01:00
Wim Taymans
6035ee08c0
rtpsource: include all stats and document
...
Include all possible stats of a source in the stats structure because we might
be interested in what happened in the past.
Document the stats property and the fields.
2010-12-23 13:58:30 +01:00
Wim Taymans
10a5a795ea
rtpsession: also emit RTCP activity on SR
...
Also emit RTCP activity signals when we receive an SR packet without RB blocks,
such as from a sender that is not receiving anything.
2010-12-23 13:58:30 +01:00
Wim Taymans
1230258e6f
docs: add some more gstrtpbin docs
2010-12-23 13:58:29 +01:00
Sebastian Dröge
1d74f568a3
matroskademux: Don't use gst_pad_alloc_buffer()
...
Using this in a demuxer will cause deadlocks if there's
a pad with a pending pad-block downstream, no matter if
there is a queue between the pad or not. Queues pass
bufferalloc downstream from the same thread and only
act as a thread boundary for events and buffers.
2010-12-22 20:01:16 +01:00
Tim-Philipp Müller
331bcfbdfc
matroskamux: fix subtitle pad template, we only handle kate for now
2010-12-22 14:14:08 +00:00
Tim-Philipp Müller
7759ad0db2
docs: update rtspsrc docs, rtpbin is not in -bad any more
2010-12-22 13:04:42 +00:00
Wim Taymans
2b53cbe923
rtpsession: unlock before emitting signals
2010-12-22 11:46:21 +01:00
Wim Taymans
6db12cb003
rtpac3pay: add AC3 payloader
2010-12-21 22:34:49 +01:00
Wim Taymans
97993d3119
ac3depay: fix debug category description
2010-12-21 22:17:19 +01:00
Wim Taymans
e2f4fe8d3d
mpapay: add debug category
2010-12-21 22:16:42 +01:00
Wim Taymans
f4155f3cf3
rtp: add RTP hint to the klass
2010-12-21 17:23:03 +01:00
Wim Taymans
f357e09ac1
rtp: fix rank of payloaders and depayloaders
...
Set the payloaders and depayloaders to a reasonable rank.
2010-12-21 17:22:58 +01:00
Wim Taymans
d5c8771b2b
vrawdepay: reset depayloader state
...
Reset the depayloader state on flush-stop.
2010-12-21 15:24:18 +01:00
Wim Taymans
eb99eb5515
mp4pay: use vmethod for intercepting events
2010-12-21 15:23:08 +01:00
Wim Taymans
e47f4487b4
theorapay: clear packet on flush-stop
2010-12-21 13:55:40 +01:00
Wim Taymans
2c6e198157
vorbispay: clear packet on flush-stop
2010-12-21 13:49:41 +01:00
Wim Taymans
1eb0f65f39
mp4gdepay: reset depayloader state
2010-12-21 12:31:44 +01:00
Wim Taymans
e8b8753c90
h264pay: flush adapter on flush-stop
2010-12-21 12:29:58 +01:00
Wim Taymans
6a5e6eac55
mpapay: flush last packets on EOS
2010-12-20 18:50:25 +01:00
Wim Taymans
933a170898
mpapay: reset payloader on state change
2010-12-20 16:51:47 +01:00
Wim Taymans
984849f8fe
mpapay: reset payloader on flush
...
Reset the payloader on a flush event.
Handle DISCONT better.
2010-12-20 16:06:26 +01:00
Wim Taymans
eb6d552353
jitterbuffer: get better buffering level
...
When the jitterbuffer contains -1 timestamps, make sure we still calculate the
buffer fill level by skipping the -1 buffers.
Try to be more resilient to weird input timestamps.
2010-12-20 15:56:50 +01:00
Wim Taymans
6cb0efede4
jitterbuffer: provide a clock.
...
since we are using the clock for sync, we need to also provide a clock for good
measure. The reason is that even if downstream elements provide a clock, we
don't want to have that clock selected because it might not be running yet.
2010-12-20 11:13:09 +01:00
Wim Taymans
210f1c44c7
rtpbin: copy buffering stats
...
when we create an aggregate buffering message, copy the buffering stats form the
last message. At least we get correct buffering mode then.
2010-12-20 11:13:09 +01:00
Sebastian Dröge
9d4f349454
radioactv: Prevent use of uninitialized values
...
Fixes bug #618652 .
2010-12-19 10:58:16 +01:00
Sebastian Dröge
cdc03948ce
capsdebug: Don't leak pad templates created from static pad templates
2010-12-19 10:22:29 +01:00
Mark Nauwelaerts
4c368242c0
rtph264depay: determine output h264 layout using caps negotiation
...
... thereby (partially) deprecating properties currently controlling whether
or not byte-stream output or NAL/AU alignment (though properties still determine
fallback if nothing specified in caps).
Fixes #606662 .
2010-12-17 15:38:27 +01:00
Wim Taymans
b87ec0262b
j2kpay: handle EOC correctly
...
Don't include the next 2 bytes when we are at the end of the data and there are
no more bytes left.
2010-12-16 18:57:27 +01:00
Sebastian Dröge
76ad0ee09b
deinterlace: Change classification to Filter/Effect/Video/Deinterlace
2010-12-16 10:04:19 +01:00
Edward Hervey
34222431aa
rtpj2kpay: Initialize all fields
...
Makes sad compliers happy
2010-12-15 18:21:34 +01:00
Wim Taymans
744472d2ad
j2kpay: cleanup header construction
...
Use a simpler way of constructing the header that doesn't depend on
the endianness.
2010-12-15 16:25:10 +01:00
Wim Taymans
184c4219a7
j2kdepay: add support for buffer lists
2010-12-15 13:12:09 +01:00
Wim Taymans
0c3333da04
session: fix average RTCP packet size some more.
...
Fix stupid error in averaging macro.
Include udp headers in packet length estimation.
2010-12-14 18:12:43 +01:00
Wim Taymans
7ebd374766
rtpbin: correctly calculate RTCP packet size
2010-12-14 17:15:23 +01:00
Wim Taymans
957eac9579
j2kpay: stop scanning when we reached the end
...
Stop scanning for markers when we reached the end of the data.
2010-12-14 15:28:40 +01:00
Wim Taymans
ffc7cd9803
jitterbuffer: avoid leaking sink events
...
Avoid leaking the newsegment event when it has the wrong format.
2010-12-13 12:57:58 +01:00
Wim Taymans
acc37e52a7
mp4vpay: we can also accept xvid caps
2010-12-12 15:14:40 +01:00
Jan Schmidt
9941d3f0a2
deinterlace: Avoid infinite loop draining frames
...
When the pipeline is flushed just as we're draining history,
don't loop infinitely, just discard the history and abort.
2010-12-12 10:15:13 +11:00
Sebastian Dröge
e7ac799278
qtdemux: Check if there's actually a seek table before parsing it
2010-12-11 17:49:03 +01:00
Kishore Arepalli
5d9c8996da
qtdemux: Implement CONVERT and FORMATS query
...
Fixes bug #636784 .
2010-12-11 17:46:17 +01:00
Tim-Philipp Müller
d73440cb97
matroska-demux: put unrecognised RIFF format IDs into the unknown caps
...
Extra info can't hurt. Field names aren't necessarily consistent with
what's used elsewhere though (e.g. avidemux), but then neither are the
caps.
https://bugzilla.gnome.org/show_bug.cgi?id=623178
2010-12-11 14:53:28 +00:00
Mark Nauwelaerts
287894a89a
rtspsrc: mark DISCONT when resuming PLAY
...
In particular, when streaming interleaved, this arranges for setting a new
timestamp on outgoing buffer so downstream can appropriate reset
to a change in (rtp)time.
2010-12-10 12:11:15 +01:00
Mark Nauwelaerts
c25625c31c
rtspsrc: degrade gracefully upon failing seek and tweak QUERY_SEEKING response
2010-12-10 12:09:49 +01:00
Mark Nauwelaerts
52b5929a2b
rtspsrc: add and use auto buffering mode
...
... which selects BUFFER for a non-live stream, and otherwise SLAVE.
Fixes #633088 .
2010-12-10 12:09:32 +01:00
Wim Taymans
6729a3b79c
j2kdepay: make the depayloader more resilient
...
Use 3 adapters, one to accumulate paketization units, another on to accumulate
tiles and a last one to accumulate the final frame.
Don't just blindly flush the adapter on DISCONT but only discard the current
packetization unit.
When we dropped jpeg2000 packets between SOP markers, adjust the SOT header with
the new lenght.
2010-12-09 18:18:24 +01:00
Mark Nauwelaerts
df2982ce7d
qtdemux: fix flow return aggregation
2010-12-09 13:57:49 +01:00
Mark Nauwelaerts
5239e19e9c
qtdemux: fix handling near end-of-file corner cases
...
Also, relax some error handling to not bail out completely when something
feels amiss, but consider this EOF and continue with was obtained so far.
2010-12-08 11:37:30 +01:00
Mark Nauwelaerts
d2948bb259
qtdemux: fragmented support; fix offset handling and relax error raising
...
In particular, accept unknown stream in track fragment, and only error out
if that raises problems later on with respect to offset tracking.
Fixes #620283 .
2010-12-07 17:20:00 +01:00
Mark Nauwelaerts
6f8ce30c20
flvdemux: use aac codec-data to adjust samplerate if needed
...
Based on patch by Fabien Lebaillif-Delamare <fabien@arq-media.com>
Fixes #636621 .
2010-12-07 13:12:02 +01:00
Alessandro Decina
c882b3f340
qtdemux: fix compiler warnings on OSX.
2010-12-06 19:59:49 +01:00
David Hoyt
6e7474459a
imagefreeze: pass along eos if received before buffer arrives
...
Fixes #636172 .
2010-12-06 15:23:00 +01:00
Andoni Morales Alastruey
fd6bc949c8
matroskamux: try to write timestamps in all the outgoing buffers
...
Fixes #632654 .
2010-12-06 13:01:17 +01:00
Mark Nauwelaerts
1d4496254d
progressreport: optionally determine progress using buffer metadata
...
Based on patch by Leo Singer <lsinger at caltech.edu>
Fixes #629418 .
2010-12-06 12:18:31 +01:00
Guillaume Emont
92720fa048
navseek: add basic support to change playback rate
...
The following keys will now be interpreted by navseek:
'f' means fast forward: the stream gets played at rate 2.0
'r' means rewind: the stream gets played at rate -2.0
'n' means normal: the stream gets played at rate 1.0
Fixes #631516 .
2010-12-03 15:52:08 +01:00
Mark Nauwelaerts
bdb4019678
qtdemux: add support for e(a)c-3 audio
2010-12-03 15:52:08 +01:00
Mark Nauwelaerts
44bf274b60
qtdemux: avoid sending EOS event twice
2010-12-03 15:52:08 +01:00
Mark Nauwelaerts
d4ceb8c7a6
qtdemux: remove dead code trying to update stream duration
...
On the one hand, it insufficiently checks whether it only updates a dummy
segment. On the other hand, only doing this at the time the last sampled is
prepared (and sent downstream) is too little too late.
2010-12-03 15:52:08 +01:00
Mark Nauwelaerts
39a3fd40bf
qtdemux: fragmented support; handle ismv sample flags
2010-12-03 15:52:08 +01:00
Mark Nauwelaerts
b4fb2ac99c
qtdemux: fragmented support; handle ismv stbl atoms
...
... or lack of some thereof, such as mandatory stsz. Shuffle some code
in _stbl_init to detect this early enough.
2010-12-03 15:52:08 +01:00
Mark Nauwelaerts
283e2b1bcd
qtdemux: fragmented support; compensate for ismv offset handling
...
... or lack thereof, which according to specs would put media data in
unlikely position.
2010-12-03 15:52:07 +01:00
Mark Nauwelaerts
dfa54ed8cb
qtdemux: fragmented support for push mode
2010-12-03 15:52:05 +01:00
Mark Nauwelaerts
d66a3db6b8
qtdemux: fragmented support; proper and incremental moof parsing
...
That is, parse each moof in one pass (considering all contained streams'
metadata), and do so incrementally as needed for playback rather than
an initial complete scan of all moof (though all moov sample metadata
is fully parsed at startup).
2010-12-03 15:50:33 +01:00
Mark Nauwelaerts
73bbd8e7d3
qtdemux: refactor stream freeing
2010-12-03 15:50:33 +01:00
Mark Nauwelaerts
eb5c958143
qtdemux: delegate linear search for sample to binary search when possible
...
Also arrange for parsing a sample prior to taking a reference to it,
which requires less memory layout assumptions for correctness.
2010-12-03 15:50:33 +01:00