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
Tim-Philipp Müller
f48bc702af
flvmux: hide is-live property for release
...
At the very least it needs a better/less wrong name.
See #613066 .
2010-04-26 00:01:19 +01:00
Sebastian Dröge
5a530b19e8
videomixer: Fix byte order for MMX ARGB/AYUV color filling
...
Fixes bug #616409 .
2010-04-22 13:30:55 +02:00
Sebastian Dröge
a27856e6b8
videomixer: Fix AYUV checker/color filling
2010-04-21 17:53:49 +02:00
Sebastian Dröge
3f88dce350
videomixer: Add i387 floating point registers to the clobbered registers list
...
They are the same as the mm0-mm7 MMX registers and will be overwritten
by the assembly code if gcc doesn't know about the MMX registers.
Note: They're all added to the list of clobbered registers in all cases
and not only when __MMX__ is not defined just to make sure that no other
bugs happen with this code just because some compiler version gets things
wrong.
Fixes bug #614466 .
2010-04-19 16:57:19 +02:00
Sebastian Dröge
a904edfaf5
videobox: Use libgstvideo to get the order of RGB
2010-04-19 14:43:41 +02:00
Brian Cameron
f3c032e6ac
goom: add edx to clobber list in inline assembly code
...
mull modifies %edx, so should be mentioned in clobber list.
Fixes crash on Solaris (#615998 ).
2010-04-17 10:26:25 +01:00
Sebastian Dröge
386169b9fe
videobox: Fix I420->I420 copying
...
Fixes bug #615143 .
2010-04-16 15:27:56 +02:00
Sebastian Dröge
e6dd1fc3db
videobox: Fix AYUV->I420 copying
2010-04-16 15:27:56 +02:00
Mark Nauwelaerts
e053a89c21
rtph264depay: profile-level-id is an optional parameter
...
So, if needed, extract the corresponding info from
sprop-parameter-sets.
Based on patch provided by <dxssx at gmail.com>
Fixes #612657 .
2010-04-16 12:14:26 +02:00
Edward Hervey
146e50455b
videobox: transform_caps : We can only convert AYUV to xRGB
...
We were previously stating that we could convert AYUV/I420/YV12 to xRGB.
2010-04-14 18:27:52 +02:00
Tim-Philipp Müller
a155deaabf
matroskademux, qtdemux: minor code cleanup in avc_level_idc_to_string()
...
Do the same with slightly fewer LOC.
2010-04-12 15:10:11 +01:00
Sebastian Dröge
37e3d2d9d5
videobox: Fix I420->AYUV copying
2010-04-12 11:43:49 +02:00
Sebastian Dröge
9da4f2906f
videobox: Correctly clamp frame/background alphas to [0,255] before writing them
2010-04-12 11:27:40 +02:00
David Schleef
289f69eb84
deinterlace: Only check interlaced flag in sink caps
...
Fixes #615460 .
2010-04-11 13:15:32 -07:00
Stefan Kost
d6e9af2a11
docs: do proper escaping for "%"
2010-04-08 18:05:46 +03:00
Stefan Kost
0e048803b9
rtsp: remove obsolete google extension
...
This was not build for a while and can be removed.
2010-04-08 17:50:49 +03:00
Stefan Kost
6772badb88
docs: enable the 2 of 65 rtp elements in the docs
2010-04-08 17:19:41 +03:00
Stefan Kost
ddfb2827d1
docs: upd -> udp and voila it shows up in the docs
2010-04-08 16:56:37 +03:00
Stefan Kost
04d9490ca9
docs: fix doc blob syntax
2010-04-08 16:51:27 +03:00
Stefan Kost
054b84359b
flvdemux: make debug category static
2010-04-08 14:34:59 +03:00
Stefan Kost
fa09b5d519
flxdemux: rename GstFLVDemux for GstFlvDemux
2010-04-08 14:29:59 +03:00
Stefan Kost
fcc3db73a3
flvdemux: merge flvparse into the demuxer and make function static
...
No need to hide certain function in the docs. Allows to do more cleanups.
2010-04-08 14:29:59 +03:00
Sebastian Dröge
afed9b959c
alpha: Add documentation
2010-04-08 13:14:23 +02:00
Stefan Kost
9967a4112b
rtpsession: remove prototype for non existing function
...
There is no function by that name anywhere.
2010-04-08 14:02:50 +03:00
Sebastian Dröge
4d906b4a0a
alphacolor: Improve docs a bit
2010-04-08 12:56:30 +02:00
Stefan Kost
acc742bbc9
matroska-mux: fix last commit
...
Use a local define for WAVEFORMAT_EX based on the size of the struct + 2 bytes
for the extension size.
2010-04-08 13:29:35 +03:00
Stefan Kost
7e3ccacc2f
wavenc: remove internal copy of riff.h and use riff-library instead.
...
We don't use any function yet, just the structures and defines.
2010-04-08 13:03:43 +03:00
Stefan Kost
0c35e0c4db
matroskamux: use riff lib more
...
Remove BITMAPINFOHEADER and use the one from riff-lib. Also remove the
WAVEFORMATEX_SIZE define and use a sizeof together with the respective struct.
Besides better code reuse this lessens the ununsed symbols in the docs.
2010-04-08 12:57:03 +03:00
Stefan Kost
e7a5ff40bd
docs: trim sections file more
...
Rename some defines and move some itesm to *.c files. Add more items to internal
subsection.
2010-04-08 12:14:07 +03:00
Stefan Kost
43ebe8235f
docs: fix xml
...
The title tag belongs into the refsect2.
2010-04-08 10:30:06 +03:00
Sebastian Dröge
4e277ebe7b
videobox: Add support for YV12, including conversion support for I420/AYUV
2010-04-07 17:43:56 +02:00
Sebastian Dröge
b4e3532c1f
videobox: Add support for grayscale input/output
...
This doesn't do any conversion and is the next step to
replacing videocrop by supporting all remaining formats
in passthrough mode.
2010-04-07 17:27:12 +02:00
Sebastian Dröge
02a4a150e8
videobox: Add support for filling the background with red, yellow and white
2010-04-07 16:24:38 +02:00
Sebastian Dröge
a0fd92dfc1
videobox: Add support for direct RGB<->AYUV conversion
2010-04-07 16:12:51 +02:00
Sebastian Dröge
84ce6f2a2b
videobox: Fix RGB24 filling
2010-04-07 16:12:51 +02:00
Marco Ballesio
2ff1558a87
h264depay: handle properly STAPs
...
in rtph264depay.c, lines 577-576, NALU-type 24 (Single-Time Aggregation
Packet) is handled in fall-through as NALU-type 26 (unhandled).
This leads high quality h264 streams such as:
rtsp://stream.yle.mobi/yle/areena/MEDIA_E0342657_p3.mp4
to fail with "NAL unit type 24 not supported yet" (but it's actually
supported), and thus to close any stream which contains STAPs.
The proposed one-liner patch fixes the issue.
Fixes #615051 .
2010-04-07 16:17:06 +03:00
Thijs Vermeir
d17ad171c9
build: fix compiler warnings
...
fix warnings for all plugins that use: setlocale (LC_ALL...
2010-04-07 13:48:12 +02:00
Thijs Vermeir
1e5bb1c300
avi: fix compiler warning
2010-04-07 13:32:09 +02:00
Mark Nauwelaerts
dc09ace2bd
matroskademux: restrict resyncing to subtitle tracks
...
This should prevent skipping audio or video in not so well interleaved
cases.
Fixes #614460 .
2010-04-07 12:40:13 +02:00
Arun Raghavan
861311e8f6
qtdemux: Post avg./max. bitrate tags for H.264
...
This reads the average and maximum bitrates from the 'btrt' atom if
available, and pushes these as tags,
https://bugzilla.gnome.org/show_bug.cgi?id=614927
2010-04-07 11:55:32 +02:00
Sebastian Dröge
3c1940c187
videobox: Fix conversion from 3 byte RGB to ARGB
2010-04-05 17:31:36 +02:00
Sebastian Dröge
687ff84592
videobox: Add support for 3 byte RGB formats and refactor RGB code a bit
2010-04-05 17:08:15 +02:00
Sebastian Dröge
d0ad28ad54
videobox: Add support for all 32 bit RGB formats
...
...including conversion between them.
2010-04-05 15:52:11 +02:00
Wim Taymans
b84bf10455
rtspsrc: add property to control the buffering method
...
Add a property to control how the jitterbuffer performs timestamping and
buffering.
2010-04-05 15:26:03 +02:00
André Dieb Martins
5a395846c6
alphacolor: Removing unused variable
...
Fixes bug #614843 .
2010-04-05 10:31:45 +02:00
Thiago Santos
f966ff66f8
qtdemux: Read replaygain peak/gain tags
...
Make qtdemux read tags replaygain tags that are within '----' atoms.
Fixes #614471
2010-04-02 15:23:51 -03:00
Arun Raghavan
95c6d558f0
matroska: Export h.264 profile and level in caps
...
This replicates the code in qtdemux to export the h.264 profile and
level in the stream caps.
https://bugzilla.gnome.org/show_bug.cgi?id=614651
2010-04-02 18:51:34 +02:00
Sebastian Dröge
9317ad6fe9
qtdemux: Fix off-by-one introduced in last commit
2010-04-02 18:50:45 +02:00
Arun Raghavan
ccef64be39
qtdemux: Minor refactor of the code
...
This will make it easier to clump together common code when copying to
mastroskademux.
https://bugzilla.gnome.org/show_bug.cgi?id=614651
2010-04-02 18:49:20 +02:00
Arun Raghavan
d6dcd70b4c
qtdemux: Export h.264 level in caps
...
This exports the h.264 level in the stream caps (as a string) which can
be used to match a decoder, or as metadata.
https://bugzilla.gnome.org/show_bug.cgi?id=614651
2010-04-02 18:48:45 +02:00
Arun Raghavan
503f0988bf
qtdemux: Export h.264 profile in caps
...
This adds the h.264 profile for a given stream into caps. This can
(eventually) be used to select an appropriate decoder and as metadata
for certain applications.
https://bugzilla.gnome.org/show_bug.cgi?id=614651
2010-04-02 18:48:23 +02:00
Mark Nauwelaerts
2d6d2a4d95
flvdemux: remove obsolete reverse playback code path
2010-04-01 10:46:16 +02:00
Mark Nauwelaerts
1c7b1d110b
flvdemux: support (pull mode) negative seek rate
2010-04-01 10:46:12 +02:00
Mark Nauwelaerts
d3ae0ef71f
flvdemux: also check for segment stop for non-segment-seek
2010-04-01 10:46:10 +02:00
Mark Nauwelaerts
b9f569bfd0
matroskademux: push correctly sized flac header buffers
...
Fixes #614353 .
2010-03-30 16:51:36 +02:00
Tim-Philipp Müller
9e1f5031cc
id3demux: fix parsing of unsynced frames with data length indicator
...
Fixes bug #614158 .
2010-03-30 01:54:40 +01:00
Tim-Philipp Müller
d756bab488
build: build plugins and examples in parallel where possible
2010-03-29 11:00:57 +01:00
Tim-Philipp Müller
af5e4d935a
qtdemux: extract stream language in more cases
...
The 16-bit language code can be either a packed ISO-639-2T code
or a 'Macintosh language code'. Handle the latter type of language
codes as well, and map to the matching ISO code. Lastly, fix
language code posting for language #0 , which is valid and stands
for 'English'.
Fixes #614001 .
2010-03-26 17:02:50 +00:00
Sebastian Dröge
2873c3ad6b
videobox: Fix AYUV->I420 frame copying
2010-03-26 13:45:46 +01:00
Sebastian Dröge
3bdd50c93b
videobox: Always fill the complete frame if borders should be added
...
This makes sure that we don't get any gaps between rectangles because
of chroma subsampling for example.
2010-03-26 13:28:53 +01:00
Sebastian Dröge
298f1c3202
videobox: Refactor boxing to reduce code duplication
2010-03-26 13:28:53 +01:00
Sebastian Dröge
2e043908de
alpha: Simplify caps transformation
2010-03-26 13:28:53 +01:00
Sebastian Dröge
cd6b4214a6
videobox: Add const qualifier to the source frame data
2010-03-26 13:28:53 +01:00
Mark Nauwelaerts
b1f3e4d0cf
matroskademux: only seek when in proper state
...
... and data structures can be thread-safely accessed.
See #601617 .
2010-03-26 11:45:47 +01:00
Mark Nauwelaerts
9157c262ba
matroskademux: support (pull mode) negative seek rate
2010-03-26 11:45:41 +01:00
Mark Nauwelaerts
95e38e59a2
matroskademux: track clip duration in segment
2010-03-26 11:45:39 +01:00
Mark Nauwelaerts
6ccffcf5f1
matroskademux: prefer index of video track to perform seeking
2010-03-26 11:45:36 +01:00
Mark Nauwelaerts
d654eeb6de
avidemux: fix typo in header validation check
2010-03-25 11:40:20 +01:00
Edward Hervey
66d9dbe49e
icydemux: Handle upstream Content-Type.
...
Allows us to handle ShoutCast TV (NSV) streams.
If the upstream caps have the 'content-type' field set to video/nsv, then
we shortcut the typefinding and set video/x-nsv directly.
2010-03-23 19:48:24 +01:00
Stefan Kost
f1a75adcbc
i18n: build fixes: #if -> #ifdef for ENABLE_NLS
2010-03-22 17:26:37 +02:00
Benjamin Otte
382afe983b
multifile: Include headers instead fo defining functions
2010-03-21 17:36:28 +01:00
Benjamin Otte
c2846f698b
Make goom not use aggregate returns
2010-03-21 17:23:43 +01:00
Benjamin Otte
412cc10314
Add -Wold-style-definition flag
...
And fix the warnings
2010-03-21 15:17:46 +01:00
Benjamin Otte
3f511ec361
Add -Wwrite-strings to the configure flags
...
... and fix all warnings
2010-03-21 14:17:47 +01:00
Sebastian Dröge
0f7631f8ec
shapewipe: Add support for the remaining ARGB formats
...
And handle AYUV like ARGB, we need no YUV specific handling.
2010-03-21 11:14:12 +01:00
Sebastian Dröge
b78937aa6f
alpha: Add support for RGB and xRGB input
2010-03-20 21:30:58 +01:00
Sebastian Dröge
5bbc7dd114
alpha: Add support for ARGB input
2010-03-20 21:13:23 +01:00
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
Wim Taymans
20a27a545a
rtpbin: more buffering updates
...
Add signal to pause the jitterbuffer. This will be emitted from gstrtpbin when
one of the jitterbuffers is buffering.
Make rtpbin collect the buffering messages and post a new buffering message with
the min value.
Remove the stats callback from jitterbuffer but pass a percent integer to
functions that affect the buffering state of the jitterbuffer. This allows us
then to post buffering messages from outside of the jitterbuffer lock.
2010-02-12 17:22:53 +01:00
Wim Taymans
a5b9d3f917
rtpbin: propagate buffer-mode property
...
Propagate buffer-mode property to the jitterbuffers.
Intercept BUFFERING messages in rtpbin
2010-02-12 17:22:53 +01:00
Wim Taymans
d3db9574a9
jitterbuffer: do more buffering implementation
...
Add callback for buffering stats.
Configure the latency in the jitterbuffer instead of passing it with _insert.
Calculate buffering levels when pushing and popping
Post buffering messages.
2010-02-12 17:22:52 +01:00
Wim Taymans
aeacbfed3e
jitterbuffer: flesh out buffering mode some more
...
Add a buffering state to the jitterbuffer and wait until buffering ends before
pushing out packets.
2010-02-12 17:22:52 +01:00
Wim Taymans
56b29c9a6b
jitterbuffer: hook up the mode property
...
Expose a mode property on the jitterbuffer.
Fix the case where timestamps are -1 in the check for outgoing timestamps.
2010-02-12 17:22:52 +01:00
Wim Taymans
be4517a6b8
jitterbuffer: add buffering mode options
...
Add getters and setters for different buffering modes that the jitterbuffer will
support. Default to the current slave mode.
2010-02-12 17:22:52 +01:00