Sebastian Dröge
985ec0260c
alpha: Add support for generating ARGB output
2010-03-20 20:46:19 +01:00
Sebastian Dröge
fe4ff4f324
videomixer: Add support for ABGR and RGBA
...
Now all 4 ARGB variants are supported by videomixer.
2010-03-20 17:32:48 +01:00
Sebastian Dröge
1fdbfb35ff
alpha: Move chroma keying parameters into stack variables to prevent multiple pointer dereferences per pixel
2010-03-20 10:26:13 +01:00
Sebastian Dröge
9d9ba5b00e
alpha: Move color conversion matrixes into stack variables to speed up processing
2010-03-20 10:20:53 +01:00
Sebastian Dröge
eb7a146b51
alpha: Use correct matrixes to convert chroma keying color to YUV
2010-03-20 10:18:04 +01:00
Sebastian Dröge
b64619dc4e
alpha: Add support for different color matrixes
2010-03-19 19:30:32 +01:00
Sebastian Dröge
00b3eb1dfc
alpha: Rename and move functions as further preparation for supporting more color formats
2010-03-19 19:30:32 +01:00
Sebastian Dröge
46025bbd8f
alpha: Remove some unneeded calculations and instance struct fields
...
And document the instance struct fields a bit better
2010-03-19 19:30:32 +01:00
Sebastian Dröge
6b0c535e8d
alpha: Some preparations for supporting more color formats
2010-03-19 19:30:32 +01:00
Wim Taymans
b019a78ab8
h264pay: fix config-interval property
...
Use the same units for comparing the elapsed time against the interval.
Fixes #613013
2010-03-19 17:13:07 +01:00
Sebastian Dröge
e3584bf52c
alphacolor: Implement color-matrix support and use integer arithmetic only
...
Alphacolor now uses the correct matrixes for SDTV and HDTV and can
convert between them.
2010-03-19 16:45:07 +01:00
Wim Taymans
ef804589ca
rtsp: use GType from -base and bump required version
...
Use the transport flags GType from -base and bump the required version of -base
because of this.
2010-03-19 15:03:43 +01:00
Tim-Philipp Müller
553e0295b2
apetag: minor Makefile.am surgery
...
-I$(top_srcdir)/gst-libs/ is already in $(GST_CFLAGS)
2010-03-19 00:05:19 +00:00
Tim-Philipp Müller
073201b329
build: Makefile.am cleanups
...
Mostly add $(GST_BASE_CFLAGS) where it was missing, but also fix up
order of flags and libs if needed (see docs/random/moving-plugins).
2010-03-18 21:34:24 +00:00
Sebastian Dröge
dad4e96672
alpha: Remove remaining floating point arithmetic when processing a pixel
2010-03-18 19:01:47 +01:00
Sebastian Dröge
f7ba12513e
alpha: Refactor chroma keying into a single function
...
This reduces code duplication once we add support for more color formats.
2010-03-18 19:01:47 +01:00
Benjamin Otte
cccfeaa59c
gst_element_class_set_details => gst_element_class_set_details_simple
2010-03-18 14:32:00 +01:00
Benjamin Otte
bc1b65bee3
Remove oldcore directory
...
The elements have been unused for ages and all important ones have been
replaced or copied elsewhere.
2010-03-18 14:32:00 +01:00
Benjamin Otte
46fdd8b624
avi: Remove old file
...
Seems to be leftover from the 0.4 days or so.
2010-03-18 14:32:00 +01:00
Mark Nauwelaerts
fd5164af96
rtph264depay: do not call _push_ts with unneeded (and wrong) time parameter
...
Fixes #613206 .
2010-03-18 12:43:14 +01:00
Mark Nauwelaerts
abd9c0c657
avidemux: fix typo in header validation check
2010-03-18 11:37:12 +01:00
Jan Urbański
7d32f46b7a
flvmux: put more information in the metadata
...
Additional tags are: audiocodecid, videocodecid framerate and (in the
non-live case) filesize.
While at it, fix index rewriting to update duration and filesize
values even if the index is empty.
Fixes #613094 .
2010-03-18 10:00:58 +01:00
Benjamin Otte
c76e72a7f5
Add -Wundef to configure flags
...
and fix the resulting warnings
2010-03-17 21:33:28 +01:00
Benjamin Otte
1055aaa9cb
Add -Wredundant-decls warning flag
...
Also fix compile issues
2010-03-17 19:35:10 +01:00
Benjamin Otte
18bc896605
Fix warnings in experimental plugins, too
2010-03-17 18:49:11 +01:00
Benjamin Otte
3342b1679e
Add -Wmissing-declarations -Wmissing-prototypes warning flags
...
And fix all the warnings.
2010-03-17 18:23:28 +01:00
Wim Taymans
7e363149f3
mp4gdepay: improve constantDuration guessing
...
When no constantDuration has been given in the caps, try to derive one from the
timestamp difference between packets. Also keep doing this for each packet
because some broken streams might simply provide wrong timestamps.
2010-03-17 16:27:13 +01:00
Jan Urbański
dcb5afd351
flvmux: Put width and height in the metadata
...
Some players use that info to scale their display.
See #613094 .
2010-03-17 09:28:03 +01:00
Jan Urbański
96de71d74b
flvmux: don't put timestamps larger than G_MAXINT32 in the FLV tags
...
For non-live input respond by pushing EOS, for live wrap the
timestamps every G_MAXINT32 miliseconds.
Fixes #613003 .
2010-03-17 09:24:49 +01:00
Sebastian Dröge
f961f884b6
alphacolor: Fix RGBA<->AYUV conversion
2010-03-16 21:23:11 +01:00
Sebastian Dröge
117e7401c5
alpha: Remove redundant instance field
2010-03-16 21:16:26 +01:00
Sebastian Dröge
9e4ebba45e
alpha: Protect property values from changes during frame processing
2010-03-16 21:10:08 +01:00
Jan Urbański
a99ee96172
flvmux: Always put a duration tag in the metadata
...
Some Flash players (for instance JW Player) always expect a duration
tag, otherwise they don't start playback.
If duration can be queried from the sink pads or is provided as a tag,
use it. Otherwise try to determine it from the last seen timestamp of
the sink pads after EOS and rewrite it in the header before writing
the index.
2010-03-16 15:12:46 +01:00
Jan Urbański
ef8f7614ff
flvmux: Remove the send_codec_data field from GstFlvPad
...
That field is not used anymore after the changes in
9fdecbc1c1
.
2010-03-16 15:12:46 +01:00
Wim Taymans
efbdecd0ac
multiudpsink: get family of external sockets too
...
Get the family of externally configured sockets so that we can configure it
correctly.
2010-03-16 13:53:26 +01:00
Sebastian Dröge
3197490c2f
alphacolor: Add support for the remaining ARGB formats
2010-03-15 20:37:51 +01:00
Sebastian Dröge
d6379362e5
alphacolor: Simplify ARGB<->AYUV conversions by code generation macros
2010-03-15 19:16:18 +01:00
Sebastian Dröge
322a8f5e6d
alpha: Minor cleanups and move declarations into a separate header file
2010-03-15 19:07:28 +01:00
Sebastian Dröge
6f80d41c04
alpha: Use GstVideoFilter as base class for automatic QoS support
2010-03-15 18:58:51 +01:00
Sebastian Dröge
c01cf035c1
alphacolor: Add support for inplace conversions from AYUV to ARGB
2010-03-15 18:52:39 +01:00
Sebastian Dröge
8cbb9608f9
alphacolor: Use libgstvideo for caps parsing
2010-03-15 18:22:21 +01:00
Sebastian Dröge
751b293df8
alphacolor: Use GstVideoFilter as base class for automatic QoS support
2010-03-15 18:09:55 +01:00
Sebastian Dröge
e46f0261c8
alphacolor: Some minor cleanup
2010-03-15 18:07:29 +01:00
Jan Urbański
c69c5cb0d7
flvmux: Correctly mark buffers as delta units
...
Mark video interframes, video codec data buffers and audio buffers (if
it's not an audio-only stream) as delta units.
2010-03-15 13:54:39 +01:00
Jan Urbański
9fdecbc1c1
flvmux: Support streamheaders
...
Put the FLV header, the metadata tag and (if present) codec
information in the streamheader to allow the muxer to be used for
streaming.
2010-03-15 13:53:53 +01:00
Jan Urbański
7deee29d2c
flvmux: Preallocate index space and fill it after finishing output
...
Make the index appear at the beginning of the file, which is what most
players are expecting.
Fixes #601236 .
2010-03-15 13:52:03 +01:00
Sebastian Dröge
7c74f7d525
flvmux: Minor coding style fixes and cleanup
2010-03-15 13:47:13 +01:00
Jan Urbański
54a8237d62
flvmux: Add a is-live property
...
If it is set, the muxer will not write the index. Defaults to false.
2010-03-15 13:46:09 +01:00
Jan Urbański
c9bb3edd6f
flvmux: Only put valid seek points in the index
...
For files containing video only video keyframes are valid points to
which a player can seek. For audio-only files any tag start is a valid
seek point.
See #601236 .
2010-03-15 13:45:21 +01:00
Jan Urbański
b21c5c9015
flvmux: Fix index building to make entries point to tag's start offset
...
Previous coding was wrongly incrementing the total byte count before
adding an index entry.
2010-03-15 13:44:14 +01:00
Wim Taymans
ba6dbaecfc
rtspsrc: don't forget to send keepalive messages
...
When we operate in TCP mode, still send keepalive messages when we
need to.
Fixes #612696
2010-03-15 11:38:23 +01:00
Thiago Santos
5efda5caf7
qtdemux: add XMP parsing support
...
Use xmp helpers to parse XMP metadata in udta atom.
Fixes #609539
2010-03-11 19:04:49 -03:00
Michael Smith
5b357ce22e
udp: fix compilation errors on non-windows.
2010-03-11 12:32:56 -08:00
Andoni Morales Alastruey
7f980d28aa
multiudpsink: avoid getting the socket family using getsockname()
2010-03-11 10:33:10 -08:00
Edward Hervey
32498746ad
qtdemux: Fix print statements for pointer differences.
...
This fixes it for both 32 and 64 bit
2010-03-11 17:28:47 +01:00
Edward Hervey
8d794e6a9f
qtdemux: Fix unitialized variables
2010-03-11 17:28:35 +01:00
Edward Hervey
6dfcee8fdb
flvdemux: Fix printf formatting for macosx
2010-03-11 17:04:41 +01:00
Edward Hervey
8e0a8b30b8
flvdemux: Fix unitialized variables
2010-03-11 17:04:41 +01:00
Edward Hervey
c4d55cf782
avidemux: Fix unitialized variable.
2010-03-11 17:04:41 +01:00
Edward Hervey
95d087ed77
flvparse: Make script tag parsing more flexible.
...
* The nb_elements for arrays is just an indication, we can therefore ignore
it and carry on parsing metadata items until we reach the end marker.
* If type == 3, then the script tag contains a list of object followed
by the end marker.
Refactor code slightly to handle both cases
https://bugzilla.gnome.org/show_bug.cgi?id=610447
2010-03-11 17:04:41 +01:00
Mark Nauwelaerts
c007d8535c
avidemux: ignore stream with invalid header time metadata
2010-03-11 15:04:19 +01:00
Thiago Santos
145b3a3079
qtdemux: Set stream-format=raw on AAC caps
...
Set stream-format=raw for AAC caps, as that is the
expected AAC format to be in this container family.
Fixes #566250
2010-03-11 09:38:32 -03:00
Wim Taymans
d29fa60f97
rtspsrc: check for NULL before doing strcmp
...
Check the connection and address type for NULL before doing strcmp and
crashing.
Fixes #612553
2010-03-11 12:56:11 +01:00
Stefan Kost
0a43c86723
build: include stdlib.h for atoi()
2010-03-11 11:09:55 +02:00
Stefan Kost
f405f9c775
audiopanorama: move invariant check out of the inner loop
...
Improves performance for simple method.
2010-03-11 10:35:05 +02:00
Benjamin Otte
21f66635e8
Update for recent changes to common submodule
...
This just replaces every "$ERROR_CFLAGS" usage with a usage of
"$WARNING_CFLAGS $ERROR_CFLAGS" to get the same functionality as
previously.
Actually using that separation will happen later.
2010-03-10 21:53:51 +01:00
Andoni Morales Alastruey
2eb651d46f
multiudpsink: Reset windows error code after getting corresponding error message.
2010-03-10 10:51:28 -08:00
Michael Smith
c3b0509beb
avimux: put the codec_data blob into the actual data for MPEG4 video,
...
to match other implementations in the wild.
2010-03-10 10:40:47 -08:00
Mark Nauwelaerts
1a60c7b040
avidemux: push mode; also report seekable without an element index
...
... since recent code also seeks around to obtain required data
from avi index.
2010-03-10 11:48:07 +01:00
Mark Nauwelaerts
3a1a140e2d
avidemux: add some check and standardized seek event handling in push mode
2010-03-10 11:48:07 +01:00
Mark Nauwelaerts
d90aed1857
avidemux: fix offset handling in push mode seeking
...
Push mode seeking uses same index data as pull mode, and stores
offset to data in chunk, whereas push mode operates in chunks,
and as such needs offset consistently corresponding to chunk headers.
Also fix determining best matching stream for incoming newsegment event,
as well as setting some stream state accordingly.
2010-03-10 11:48:07 +01:00
Mark Nauwelaerts
1dfcc3227c
flvdemux: conduct index scan in task thread
...
... rather than in seeking thread, which might then occupy mainloop
for some time with possible unresponsive side-effects.
2010-03-10 11:48:07 +01:00
Mark Nauwelaerts
f23fb39bc7
flvdemux: avoid indefinite index growth
...
That is, check for and do not add an index entry that has already
been added.
2010-03-10 11:48:07 +01:00
Mark Nauwelaerts
f79de81bb4
flvdemux: also collect index info on-the-fly in pull mode
2010-03-10 11:48:07 +01:00
Mark Nauwelaerts
86a1aec2c0
flvdemux: incrementally build index in pull mode
...
Scan for needed part upon a seek as opposed to doing a complete scan
at startup, which may take some time depending on file and/or platform.
Also accept index metadata in pull mode and peek for some metadata
at the end of the file when deemed appropriate.
2010-03-10 11:48:06 +01:00
Mark Nauwelaerts
66fabd8bfd
flvdemux: some more variable cleanup
2010-03-10 11:48:06 +01:00
Mark Nauwelaerts
122daaf6af
flvdemux: refactor adding index entry
2010-03-10 11:48:06 +01:00
Mark Nauwelaerts
6aa4d5df2d
flvdemux: fix setting DELTA_UNIT flag on outgoing buffers
...
... which should not depend on having index available or not.
Also refactor resulting collapsed code.
2010-03-10 11:48:06 +01:00
Mark Nauwelaerts
561a506822
qtdemux: avoid erroneous codec-data overriding of stsd information
2010-03-10 11:48:06 +01:00
Wim Taymans
821096c4f1
rtspsrc: parse connection information
...
Parse the connection information from the SDP and use it to figure out if we are
dealing with ipv4 or ipv6 connections.
2010-03-10 11:28:22 +01:00
Wim Taymans
8eb5c2c794
rtspsrc: require a destination for multicast
...
When setting up the multicast sockets, we need a destination address to listen
on or else we error.
2010-03-10 11:21:20 +01:00
Wim Taymans
574447b092
rtspsrc: handle ipv6 listening ports when needed
...
Add some code to make udpsrc listen on an ipv6 address when needed. The
detection of IPV6 is not yet implemented.
2010-03-10 11:21:20 +01:00
Wim Taymans
455f53c896
udp: use uri parsing code
...
Use the uri parsing helper functions to manage the host and port pairs. This
adds support for IPV6.
2010-03-10 11:21:19 +01:00
Wim Taymans
14ae2080d2
udpnetutils: add helper functions for udp uri handling
...
Add some helpers to parse udp uris. Make sure IPV6 is supported too.
2010-03-10 11:21:19 +01:00
Olivier Crête
a6dfe96169
rtpsession: Make it possible to favor new sources in case of SSRC conflict
...
Add a "favor-new" property that tells the session to favor new sources when
there is a SSRC conflict. This is useful for SIP calls and other such cases
where a remote loop is extremely unlikely.
Fixes #607615
2010-03-10 11:21:19 +01:00
Olivier Crête
f336ea283f
rtpsession: Move SSRC conflicts lists into RTPSource
...
We will also need to track SSRC conflicts in remote sources.
See #607615
2010-03-10 11:21:18 +01:00
Wim Taymans
38f2b4735d
rtspsrc: send keep alive when paused
...
When we are paused, send keep alive messages to the server so that our session
doesn't time out when we go back to playing later.
2010-03-10 11:21:18 +01:00
David Schleef
acb6ebbc9a
multifilesink: Add key-frame option to next-file
...
This allows segmenting of MPEG-TS files at key frames, which is
exactly what is needed for Apple's HTTP streaming.
2010-03-09 13:52:30 -08:00
Sebastian Dröge
42ff597f41
videobox: Fix autocropping for odd width/height differences
2010-03-09 21:03:18 +00:00
Sebastian Dröge
1819fcb4a5
videobox: Use libgstvideo for format specific stuff
2010-03-09 21:03:18 +00:00
Sebastian Dröge
79e720052a
audiofx: Sync properties to the stream time
2010-03-09 21:03:18 +00:00
Sebastian Dröge
4381b9296f
videobox: Make properties controllable
2010-03-09 21:03:18 +00:00
Sebastian Dröge
7dcb294b54
videobox: Some cleanup
2010-03-09 21:03:18 +00:00
Sebastian Dröge
f8b7308c21
effectv: Use controller where possible, optimize a bit and make properties threadsafe
2010-03-09 21:03:18 +00:00
Benjamin Otte
b5a3b9cb1c
flx: fix description
...
It's video, not audio
2010-03-09 19:15:07 +01:00
Tim-Philipp Müller
8127670c86
Revert "Add 4:2:2, 4:1:1, and 4:4:4 output support"
...
This reverts commit 637c26f61a
.
2010-03-09 00:09:34 +00:00
Wim Taymans
66709a7a68
rtspsrc: configure multicast correctly
...
Take the transport destination for multicast.
Disable loop and autojoin for multicast on the udpsinks.
2010-03-08 17:48:46 +01:00
Wim Taymans
83a0c73dc0
multicast: always configure loop and ttl
...
Also configure TTL and loop parameters when we add a client after initializing
the sender.
2010-03-08 17:48:37 +01:00
Wim Taymans
cabe01ef95
Revert "rtph263depay: baseclass handles timestamps for us"
...
This reverts commit 564581e1b8
.
If we don't call push_ts, there will be no timestamp at all on the outgoing
buffer.
Fixes #612154
2010-03-08 17:48:27 +01:00
Benjamin M. Schwartz
637c26f61a
Add 4:2:2, 4:1:1, and 4:4:4 output support
2010-03-08 17:48:11 +01:00
Wim Taymans
529f443a61
rtpsource: use payload size to estimate bitrate
...
Use the length of the payload for estimating the receiver bitrate so that it
matches the calculations done on the sender side. Together with the number of
packets one can scale the bitrate with the header overhead of the lower
transport.
2010-03-08 17:48:04 +01:00
Wim Taymans
c971d1a9ab
rtpsource: refactor bitrate estimation
...
Don't reuse the same variable we need for stats for the bitrate estimation
because we're updating it.
Refactor the bitrate estimation code so that both sender and receivers use the
same code path.
2010-03-08 17:48:00 +01:00
Tristan Matthews
a0a6d4ff3b
added bitrate estimation to receiver-side stats, fixes #611213
2010-03-08 17:47:55 +01:00
Wim Taymans
968c981e74
h263pay: fix typo in debug
2010-03-08 17:47:14 +01:00
Edward Hervey
869ff4263f
matroskademux: Make sure we don't send invalid newsegments
...
Fixes #611501
2010-03-02 21:20:45 +01:00
Edward Hervey
be186bd089
matroskademux: Mark streams as being EOS at the right time.
...
This allows us to stop streaming only when all streams have gone past the
segment.stop and not before.
Fixes #611501
2010-03-02 21:20:31 +01:00
Sebastian Dröge
ad71d43f52
matroskademux: Advance sparse streams only as much as required to keep the gap smaller than 500ms
...
Changing it to the newest timestamp that was ever pushed will
increase the segment start in 500ms jumps, which could be just
after the next sparse stream buffer. E.g.
Video at 1.0s, sparse stream at 0.5s would jump the
sparse stream to 1.0s. Now a new sparse stream buffer could
appear that has a timestamp of 0.9s and this would be
dropped for no good reason because of bad luck.
2010-02-27 12:20:06 +01:00
Alessandro Decina
49b2a94644
Make sure FLUSH_STOP is sent so not to leave downstream flushing.
2010-02-24 02:05:49 +01:00
Sebastian Dröge
bcd06ea527
rtpjitterbuffer: Reset skew detection after instantiating the jitterbuffer
...
...not only when going to READY. This sets high_level and friends to
a more useful value.
2010-02-23 17:24:03 +01:00
Sebastian Dröge
0a12e69024
rtpjitterbuffer: Return 100 if high-level is 0 instead of dividing by zero
2010-02-23 17:20:02 +01:00
Wim Taymans
3a09d334a0
rtpmp4gdepay: avoid division by 0
...
Avoid a division by 0 when no constantDuration was specified and when out two
timestamps are equal.
Fixes #610265
2010-02-23 12:58:03 +01:00
Wim Taymans
e43839eae9
dvdepay: don't output frames until we have a header
...
Wait for the complete first 6 header DIF packets before outputting a frame.
Decoders need this info to correctly decode the data.
Fixes #610556
2010-02-23 12:54:36 +01:00
Tim-Philipp Müller
8c46cce875
flvdemux: minor micro-optimisation
...
We know these values don't change during the loop, but the compiler
doesn't and has to re-check them for every iteration.
2010-02-19 12:13:08 +00:00
Tim-Philipp Müller
ec9add84a8
flvdemux: remove static keyword from variables that shouldn't be static
...
Multiple flvparse/flvdemux instances should be able to operate without
trampling over each other by accidentally re-using the same (static)
variables. (Spotted by Mark Nauwelaerts)
2010-02-19 12:13:07 +00:00
Tim-Philipp Müller
07fa73f199
docs: add Since: markers for new jitterbuffer properties
2010-02-19 12:13:07 +00:00
Robert Swain
8d801f41d8
qtdemux: Fix off-by-one logic error in frame rate cap regression commit
2010-02-18 18:20:24 +01:00
Thiago Santos
f1c61e1d84
qtdemux: Use the correct duration when comparing segments
...
Do not confuse QtDemuxSegments with GstSegments when
comparing the total file duration with the segment duration
Fixes #610296
2010-02-18 07:53:34 -03:00
Robert Swain
2723de585e
qtdemux: add durations modulo 1<<32
...
For calculating the durations of each sample, we are supposed to add each
duration modulo 1<<32 so make the elapsed time counter a uint32.
Fixes #610280
2010-02-17 18:06:29 +01:00
Anders Skargren
6a877b2e6d
multipartdemux: improve header mime-type parsing
...
Make the handing of the mime type within the "boundary" a bit less naive.
The standard for MIME allows parameters to follow the "type" / "subtype"
clause separated from the mime type by ';'.
Modifies the multipartdemuxer's header parsing so it doesnt assume
the whole line after "content-type:" is the mime type and thus makes it a bit
more resilient to finding absurd mime types in the case where parameters are
added.
Fixes #604711
2010-02-16 21:05:24 +01:00
Wim Taymans
a0b651bf5b
rtspsrc: avoid stopping NULL tasks
...
Check the task for NULL, it could be paused and set to NULL before.
2010-02-16 19:54:32 +01:00
Mark Nauwelaerts
d14685eb08
qtdemux: fix ALAC codec-data handling
...
ALAC codec-data apparently comes in (at least) two flavours (mov, mp4),
so use atom based parsing to retrieve required data, rather than
aiming for a specific offset.
See also #580731 .
2010-02-16 16:22:28 +01:00
Mark Nauwelaerts
105d8c925b
qtdemux: fix debug message
2010-02-16 16:09:36 +01:00
Mark Nauwelaerts
58d84a993c
qtdemux: handle signed values in 3GPP location tag
2010-02-16 16:09:26 +01:00
Mark Nauwelaerts
87e80aab57
rtspsrc: fix typo in debug message
2010-02-16 16:07:21 +01:00
Mark Nauwelaerts
172c0c6a6a
avidemux: reset some more stream state after seek
...
In particular, fixes non-flushing seek.
2010-02-16 15:03:59 +01:00
Robert Swain
e2f5409d40
qtdemux: Fix frame rate cap regression
...
Look for a non-zero min_duration during initialisation to avoid
incorrect frame rate caps.
2010-02-16 14:44:11 +01:00
Brian Cameron
a45b351ddf
matroska: fix GST_ELEMENT_ERROR usage
...
Fixes #610053 .
2010-02-16 01:40:19 +00:00
Wim Taymans
9d40d60960
rtpbin: remove use of ntp_ns_base
2010-02-15 21:36:29 +01:00
Wim Taymans
5a4ecc9da1
rtpbin: remove more ntpnstime and cleanups
...
Remove some code where we pass ntpnstime around, we can do most things with the
running_time just fine.
Rename a variable in the ArrivalStats struct so that it's clear that this is the
current system time.
2010-02-15 21:36:29 +01:00
Wim Taymans
74241e549f
rtpsource: use running_time for jitter
...
Use the running_time to calculate the jitter instead of the ntp time. Part of
the plan to get rid of ntpnsbase.
2010-02-15 21:36:29 +01:00
Wim Taymans
83cb1aecc8
rtpbin: change how NTP time is calculated in RTCP
...
Don't calculate the NTP time based on the running_time of the pipeline but from
the systemclock. This allows us to generate more accurate NTP timestamps in case
the systemclock is synchronized with NTP or similar.
2010-02-15 21:36:29 +01:00
Tim-Philipp Müller
0233257612
matroska: fix printf format string
2010-02-15 10:33:02 +00:00
Tim-Philipp Müller
63c86ac3d8
raw1394, matroska, rtpmanager: remove padding from structures
...
None of these element and class structures are in public headers,
so don't need padding.
2010-02-15 00:50:10 +00:00
Edward Hervey
fa0e3184dd
flvdemux: Audio tags without any content are valid.
...
We silently ignore them instead of erroring out.
2010-02-13 18:18:42 +01:00
Edward Hervey
817911664e
flvdemux: Fix GST_CLOCK_DIFF usage.
...
It was previously checking for DIFF(a, b > 6 * GST_SECOND) instead of
the proper DIFF(a,b) > 6 * GST_SECOND
2010-02-13 18:07:50 +01:00
Edward Hervey
d263119589
flvdemux: Don't forget to reset the indexed variable when cleaning up
2010-02-13 16:27:07 +01:00
Edward Hervey
0dd06da5e8
flvdemux: Speedup GstIndex usage
...
Used the _add_associationv variant of GstIndex since we know how many
associations we're adding. Trims up to 50% from index generation time.
Note : It would be great if the index could be generated on the fly or
on request as opposed to being fully created at startup.
2010-02-13 14:57:59 +01:00
Wim Taymans
7f08081016
jitterbuffer: don't resync to invalid timestamps
...
If we detect backward timestamps on the server, don't try to resync when we
don't have an input timestamp (such as when using RTSP over TCP) instead, do
nothing but assume the timestamp was ok, it will correct itself when time goes
forwards.
2010-02-12 19:32:27 +01:00
Wim Taymans
d344754f03
rtpbin: fix typo
2010-02-12 17:22:56 +01:00
Wim Taymans
772eca5aff
jitterbuffer: start out active and not buffering
...
There is no need to set the latency in the jittebuffer in _init, we will set
that later when going to PAUSED.
Set the jitterbuffer active and not buffering when starting.
2010-02-12 17:22:56 +01:00
Wim Taymans
8bbfd94c25
rtpbin: more buffering work
...
When deactivating jitterbuffers when the buffering starts, keep the current
percent of the jitterbuffer and also set the jitterbuffer in the buffering state
so that we know when it's filled again.
Add property to get the buffering percentage of the jitterbuffer.
2010-02-12 17:22:56 +01:00
Wim Taymans
e6e287cdcc
rtpjitterbuffer: adjust latency in buffer mode
...
When we are in buffer mode, adjust the buffering low/high thresholds based on
the total configured latency. If we don't and there is a huge queue or element
with a big latency downstream we might drain the complete queue immediately and
start buffering again.
2010-02-12 17:22:55 +01:00
Wim Taymans
ab73603031
jitterbuffer: add ts-offset to timestamp
...
Add the ts-offset to the buffer timestamp to get the final output timestamp of
the buffer.
2010-02-12 17:22:55 +01:00
Wim Taymans
74a3be350d
rtpbin: do more accurate buffer offsets
...
Return the next timestamp in the jitterbuffer.
Use the min-timestamp of the jitterbuffers to calculate an offset so that the
next timestamp is pushed with a timestamp equal to running_time.
Start producing timestamps from 0 in the buffering case too.
2010-02-12 17:22:55 +01:00
Wim Taymans
3efcc0fbc1
rtpbin: only start buffering when < 100%
...
Only start buffering when the percentage message is < 100 %.
2010-02-12 17:22:55 +01:00
Wim Taymans
0348ebe651
rtpbin: keep track of elapsed pause time
...
Keep track of the time we spend pausing the jitterbuffers when they were
buffering and distribute this elapsed time to the jitterbuffers.
Also keep the latency in nanosecond precision.
2010-02-12 17:22:54 +01:00
Wim Taymans
ecf6ed8fc1
jitterbuffer: keep track of offset
...
Keep track of an outgoing offset that we add to each outgoing buffer to
compensate for PAUSE when buffering.
Adjust the offset when activating.
2010-02-12 17:22:54 +01:00
Wim Taymans
048e5b6fbe
jitterbuffer: report level using high watermark
2010-02-12 17:22:54 +01:00
Wim Taymans
8d814f3782
rtpbin: pass running_time to jitterbuffer pause
...
Pass the current running time to the jitterbuffer when pausing or resuming so
that it calculate the right offsets.
Small cleanups and comments.
Set the default rtspsrc latency to 2 seconds.
2010-02-12 17:22:54 +01:00
Wim Taymans
bf697b12e3
rtpbin: add some comments
2010-02-12 17:22:53 +01:00