Commit graph

6285 commits

Author SHA1 Message Date
Edward Hervey
74a1a704bf rtpvp8: Fix unitialized variable
Makes macosx compiler happy.
2012-11-01 20:53:47 +00:00
Sjoerd Simons
6ed6318076 rtpvp8depay: Accept packets with only one byte of data
When fragmenting partions it can happen that an RTP packet only caries 1
byte of RTP data.
2012-11-01 20:53:47 +00:00
Sjoerd Simons
a45e7a3fc0 rtpvp8pay: Treat the frame header just like any other partition
When setting up the initial mapping just act as if the global frame
information is another partition. This saves special-casing it later in
the actual packetizing code.
2012-11-01 20:53:47 +00:00
Sjoerd Simons
e9f4e9342f rtpvp8: Add simple payloaders and depayloaders for VP8
Minimal implementation of http://www.webmproject.org/code/specs/rtp/,
version 0.3.2
2012-11-01 20:53:47 +00:00
Wim Taymans
d6fd0ebd04 gstpay: fix for 1.0 events
Caps events are sometimes not followed by a buffer but by an event. Flush any
pending caps before we make a packet with the event.
Chain up to the parent event handler before we attempt to push RTP packets, it
might be a segment event.
2012-11-01 18:42:39 +00:00
Wim Taymans
05232c55a5 gstdepay: fix small leak 2012-11-01 18:42:24 +00:00
Wim Taymans
08e5a197b4 gstdepay: add support for events
Conflicts:
	gst/rtp/gstrtpgstdepay.c
2012-11-01 18:18:19 +00:00
Wim Taymans
54b783b5a3 rtpgstpay: add support for sending events
We currently only send tags and custom events. The other events
might interfere with the receiver timings or are otherwise handled
by RTP.

Conflicts:
	gst/rtp/gstrtpgstpay.c
2012-11-01 18:06:11 +00:00
Wim Taymans
6502d08e43 gstpay: rewrite payloader
Use adapter to assemble the payload and make a flush function to
turn this payload into (fragmented) packets.

Conflicts:
	gst/rtp/gstrtpgstpay.c
	gst/rtp/gstrtpgstpay.h
2012-11-01 17:57:52 +00:00
Douglas Bagnall
e3c77ba709 videomixer: get height via GST_VIDEO_FRAME_HEIGHT, not _WIDTH
https://bugzilla.gnome.org/show_bug.cgi?id=687330
2012-11-01 13:03:44 +00:00
Douglas Bagnall
79403bcb0c videbox: fix border filling for gray formats
Get the height via GST_VIDEO_FRAME_HEIGHT, not _WIDTH.

https://bugzilla.gnome.org/show_bug.cgi?id=687330
2012-11-01 13:02:16 +00:00
Wim Taymans
c0713e4b80 gstdepay: check for correct fragment offset
Make sure we only insert the rtp packet in the adapter when the
frag_offset matches. When the first packet of a fragment is dropped,
it avoids putting the remaining packets in the adapter and processing
the partial fragment.

Conflicts:
	gst/rtp/gstrtpgstdepay.c
2012-11-01 12:09:47 +00:00
Wim Taymans
8a402e0c06 gstpay: set C flag on all buffers of the fragment
Set the C flags on all the fragments instead of only those with
caps in them. This makes it easier in the receiver to check if there
is a caps in the assembled fragments just by looking at the last RTP
packet flags.
2012-11-01 12:06:08 +00:00
Wim Taymans
d78ff07f7d gstdepay: use the capsversion
Take the caps from the input caps and store it in the slot given
by capsversion.
2012-11-01 11:37:44 +00:00
Wim Taymans
936c3819b5 gstpay: send caps inline
Place the capsversion on the outgoing caps so that they end up in
an SDP as well. Receivers need to know what capsversion a particular
caps is for to be able to match the caps to the CV in the RTP packets.
Place the caps inside the RTP packet whenever the caps change.

Based on patch by Andrzej Bieniek <andrzej.bieniek@pure.com>

Conflicts:
	gst/rtp/gstrtpgstpay.c
	gst/rtp/gstrtpgstpay.h
2012-11-01 11:34:33 +00:00
Andrzej Bieniek
3b1931a039 gstpay: add debug
Conflicts:
	gst/rtp/gstrtpgstpay.c
2012-11-01 11:28:50 +00:00
Andrzej Bieniek
ee5ecc7773 depay: correctly skip caps header size
Conflicts:
	gst/rtp/gstrtpgstdepay.c
2012-11-01 11:27:13 +00:00
Tim-Philipp Müller
ef0805ea14 matroskademux: put streamheaders on vorbis/speex/flac/theora caps to make remuxing work
https://bugzilla.gnome.org/show_bug.cgi?id=640589
2012-10-30 23:29:46 +00:00
Tim-Philipp Müller
752cf98745 gst: fix variable order in some Makefile.am
https://bugzilla.gnome.org/show_bug.cgi?id=687013
2012-10-27 23:27:38 +01:00
Antoine Tremblay
a1c86de09a gst: add various missing GST_PLUGINS_BASE_LIBS in Makefile.am
Those plugins depend on either libgstaudio or libgstvideo,
which are in gst-plugins-base.

https://bugzilla.gnome.org/show_bug.cgi?id=687013
2012-10-27 23:26:41 +01:00
Alexey Fisher
29cd24bc41 matroskademux: mark invisible VP8 frames with the DECODE_ONLY flag
https://bugzilla.gnome.org/show_bug.cgi?id=654259
2012-10-27 14:46:02 +01:00
Stas Sergeev
238a5ec826 multifilesrc: fix stop index handling
Make sure the stop index is always honoured. Avoids
endless loop if one wants to read and output the same
file N times, for example.

https://bugzilla.gnome.org/show_bug.cgi?id=654853
2012-10-26 11:04:01 +01:00
Руслан Ижбулатов
78193dfe71 matroskademux: Support recursive SimpleTags
Fixes #682644
Depends on #682615
2012-10-26 10:16:42 +02:00
Руслан Ижбулатов
cd719bb808 matroskademux: Expand the tag mapping.
* Also expose unknown tags as key=value pairs.
* Arrange tag map in the same order tags are listed in Matroska spec, leaving
unmapped tags as comments.
* More specific TODOs.
* Remove duplicate DATE define.

Fixes #682615
Depends on #682524
2012-10-26 10:12:52 +02:00
Sebastian Dröge
6c635ce64f matroskademux: Fix uninitialized variable compiler warning 2012-10-26 10:09:39 +02:00
Руслан Ижбулатов
71fd688ef0 matroskademux: Matroska tag TargetType support
* Reads TargetType and TargetTypeValue from a Tag.
* After Tag is completely read, processes taglist, substituting some of the
tags depending on target type value and the presence of video/subtitle streams.
* Supports reading two new simpletags - PART_NUMBER and TOTAL_PARTS

Depends on #682448
Fixes #682524
2012-10-26 10:08:18 +02:00
Руслан Ижбулатов
b75628f041 matroskademux: Per-track tags for Matroska
Requires Matroska file to have sane layout (track info before tag info).
Uses replace-merge.
Makes track UIDs 64-bit.

Fixes #682448
2012-10-26 10:03:55 +02:00
Tim-Philipp Müller
fe7236230c multifilesrc: fix typo in property description 2012-10-25 20:19:44 +01:00
Michael Smith
a88caf84b4 qtdemux: read video format header fully (so we can find 'pasp' atoms) for more fourccs.
Fixes aspect ratio of prores files.
2012-10-25 12:18:50 -07:00
Thiago Santos
02d91dcd24 imagefreeze: the new get_caps already does the filter intersection
It should be faster to pass the caps to intersect as the filter caps,
rather than using NULL and intersecting 'manually' later.

https://bugzilla.gnome.org/show_bug.cgi?id=686837
2012-10-25 10:32:17 -03:00
Thiago Santos
115581eb2e imagefreeze: avoid assertion when using accept caps query
This query must receive a fixed caps, so imagefreeze should
fixate its framerate before sending the query downstream.

https://bugzilla.gnome.org/show_bug.cgi?id=686837
2012-10-25 09:39:36 -03:00
Arnaud Vrac
bc79fe565c qtdemux: use correct type for channel-mask bitmask
Fixes crash on 32-bit systems.
2012-10-24 12:54:08 +01:00
Tim-Philipp Müller
7275860bdd flacparse: fix coverart extraction if vorbis comments come after picture header
See sample file for bug #684701.
2012-10-23 16:02:05 +01:00
Tim-Philipp Müller
7c41f42eec flacparse: ignore bad headers if we have a valid STREAMINFO header
If we run into any header parsing issues and we have a valid
STREAMINFO header already, don't error out, but just stop
header parsing and try to find some audio frames.

https://bugzilla.gnome.org/show_bug.cgi?id=684701
2012-10-23 13:56:54 +01:00
Tim-Philipp Müller
49cc719809 flacparse: post proper error message and fix buffer leak on header parsing error
https://bugzilla.gnome.org/show_bug.cgi?id=684701
2012-10-23 13:56:54 +01:00
Michael Smith
150bd97e96 qtdemux: with raw audio, set a default channel-mask for multichannel audio.
This doesn't actually parse 'chan' because it's absurdly complex.
2012-10-22 22:34:43 -07:00
Sebastian Rasmussen
9fc62a58e3 updsrc: fix typo causing compilation error
gstudpsrc.c: In function 'gst_udpsrc_create':
gstudpsrc.c:365: error: 'ret' may be used uninitialized in this function

https://bugzilla.gnome.org/show_bug.cgi?id=686642
2012-10-22 23:19:28 +01:00
Wim Taymans
a2eead3d60 avi_ fix invert function
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=686550
2012-10-22 11:55:59 +02:00
Wim Taymans
0e3ef30c31 avi: fix debug 2012-10-22 11:55:22 +02:00
Wim Taymans
199aaa4021 qtdemux: add support for 'generic' samples
Add support for stuffing a complete stream into 1 sample.

See https://bugzilla.gnome.org/show_bug.cgi?id=686550
2012-10-22 11:39:37 +02:00
Tim-Philipp Müller
aa3ba65eb5 qtdemux: don't leak gst_riff_strf_auds in case of MS/RIFF audio
https://bugzilla.gnome.org/show_bug.cgi?id=681192
2012-10-19 19:26:45 +01:00
Mark Nauwelaerts
35cd53867c matroskamux: unsigned subtitle template 2012-10-19 16:14:01 +02:00
Youness Alaoui
13328bc129 videomixer2: Fix race condition where a src setcaps is ignored
If both pads receive data at the same time, they will both get their
sink_setcaps called which will call the src_setcaps, but there is
a race condition where the second one might not be called.
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=683842
2012-10-19 12:10:31 +02:00
Mark Nauwelaerts
5742352e10 matroskamux: do not use unoffical V_MJPEG codec id
Since it's not spec'ed, consider it a VfW compatibility
case. Many applications (e.g. avidemux) don't understand
the unofficial V_MJPEG id.

Fixes #659837.

Conflicts:
	gst/matroska/matroska-mux.c
2012-10-18 18:29:40 +01:00
Wim Taymans
e9040e90a5 jpegdepay: store quant tables in zigzag order 2012-10-17 14:23:01 +02:00
Wim Taymans
d5fd524a0c rtsession: fix compiler warning 2012-10-17 13:55:45 +02:00
Wim Taymans
26a21e85e2 rtpbin: clarify the ntp-sync option 2012-10-17 13:35:07 +02:00
Wim Taymans
f17db5c4ed rtpsession: update caps in the source
Inform the source when caps changed. This was removed in the port to 1.0
leaving the source unaware of the clock-rate and unable to interpollate
rtp timestamps for SR packets.
2012-10-17 13:22:40 +02:00
Wim Taymans
f4eef3f48d rtpbin: set PTS and DTS in jitterbufffer 2012-10-17 12:46:32 +02:00
Wim Taymans
796c1d8029 rtpbin: disable check for ntp-sync
Disable the check for the ntp-sync method. It is expected that
a rather larger offset needs to be applied with this method.
2012-10-17 12:27:03 +02:00
Wim Taymans
1cebcfa8c2 rtpbin: use running-time for NTP time
When use-pipeline-clock is set, use the running-time of the
pipeline to calculate the NTP timestamps. This method would previously
only work when the base-time is set to 0 but with this change it can
also work with different offsets and we can also implement pause/resume
of the sender and receiver now.
2012-10-17 12:26:05 +02:00
Wim Taymans
5ec642d0c3 videocrop: port to videofilter 2012-10-17 10:20:12 +02:00
Wim Taymans
3ef7c8ab93 videobox: use out_info for out properties 2012-10-17 09:36:50 +02:00
Wim Taymans
f701d980e6 median: small cleanups 2012-10-16 14:40:19 +02:00
Wim Taymans
0e21e80e9b median: remove now that it is in videofilter 2012-10-16 13:56:19 +02:00
Wim Taymans
9e67891f72 videomedian: copy media to videomedian
Copy the median video filter to videofilters and rename to
videomedian.
2012-10-16 13:47:24 +02:00
Wim Taymans
b893197317 media: port to 1.0 2012-10-16 13:16:29 +02:00
Tim-Philipp Müller
f94572fb36 avidemux: append palette data to paletted 8-bit RGB frames
Fixes playback of 8-bit indexed RGB videos, with fixes in -base.

https://bugzilla.gnome.org/show_bug.cgi?id=686046
2012-10-16 01:09:05 +01:00
Tim-Philipp Müller
e9682b938a qtdemux: don't assert if upstream size is not available when guessing bitrates
Fixes abort in push mode where the source is not seekable and the
size of the file is not available, as with

  cat foo.mp4 | gst-launch-1.0 playbin uri=fd://0

Less noticable with releases, since we disable all
g_assert() there.

https://bugzilla.gnome.org/show_bug.cgi?id=686008
2012-10-13 00:08:01 +01:00
Michael Smith
3a3a7c38aa qtdemux: allow more streams. Bump this constant to 32, which should be
enough for real-world files.
2012-10-12 14:38:33 -07:00
Michael Smith
d60c9ce2a4 qtdemux: support more different fourcc values for other ProRes variants. 2012-10-12 14:35:49 -07:00
Wim Taymans
adb70e89f9 rtspsrc: remove unused include 2012-10-10 12:05:34 +02:00
Rasmus Rohde
11ed7c0373 multiudpsink: add multicast-iface property
udpsrc already has support for setting the multicast interface, which
is useful for multi-homed machines. This patch adds the same code to
the multiudpsink.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=685864
2012-10-10 11:48:25 +02:00
Wim Taymans
54f049c355 multiudpsink: don't error on send errors but only warn
Don't error on send errors but simply post a warning, it's possible
that the next packet will be fine.
2012-10-10 11:32:17 +02:00
Rasmus Rohde
6c169312d1 multiudpsink: add force-ipv4 option
Add an option to the multiudpsink that makes it possible to force
the use of an IPv4 socket.

This can e.g. be used to handle the issue described in
https://bugzilla.gnome.org/show_bug.cgi?id=682481
2012-10-10 10:28:24 +02:00
Wim Taymans
2955f0e10c multiudpsink: remove unused field 2012-10-10 10:18:52 +02:00
Wim Taymans
f4e1bb02b7 udpsrc: use negotiated allocator or pool
Use the base class to allocate a buffer for us because it knows how
to use the negotiated allocator or bufferpool.
2012-10-10 10:10:26 +02:00
Wim Taymans
e8d951ed68 multiudpsink: post error when something goes wrong 2012-10-10 10:09:37 +02:00
Wim Taymans
15c2b997e9 spectrum: elements post element messages 2012-10-10 10:09:10 +02:00
Michael Smith
7aed5a4b4b deinterleave: output channels should be marked as MONO, not FRONT_LEFT, if
we're not preserving input channel positions.
2012-10-05 15:12:27 -07:00
Michael Smith
7522cd1595 interleave: use gst_audio_channel_positions_to_mask instead of a local copy
of half of it. Handles some values more correctly.
2012-10-04 15:13:20 -07:00
Rasmus Rohde
47a8eb7ca8 gstrtpdepay: don't leak input buffer
The rtp buffer is never unmapped in the normal code exit path
of gst_rtp_gst_depay_process(..) resulting in a memory leak.

https://bugzilla.gnome.org/show_bug.cgi?id=685512
2012-10-04 19:44:28 +01:00
Sebastian Dröge
1ac6a782c3 videobalance: Add support for NV12 and NV21 2012-10-04 18:37:48 +02:00
Patricia Muscalu
7a863e4d8d rtph264pay: do not push unmapped data
Also do not use a GstBuffer after it has been pushed into the adapter.

https://bugzilla.gnome.org/show_bug.cgi?id=685213
2012-10-04 09:22:50 +01:00
Michael Smith
b04b1b5089 meta info: threadsafe registration using g_once 2012-10-03 10:51:45 -07:00
Mark Nauwelaerts
b10829d6c8 avidemux: push mode; handle some initial junk before hdrl list
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=685059
2012-10-01 15:50:53 +02:00
Tim-Philipp Müller
e6d37eb30a Purge references to liboil
https://bugzilla.gnome.org/show_bug.cgi?id=673285
2012-09-29 12:41:37 +01:00
Mark Nauwelaerts
cb0e4b2059 avidemux: recognize all xsub frames as keyframes
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=684977
2012-09-28 17:04:42 +02:00
Mark Nauwelaerts
511dfa5ee5 avidemux: push mode: find the correct chunk for segment following seek
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=684977
2012-09-28 17:04:42 +02:00
Arnaud Vrac
f0db4a8213 qtdemux: fix parsing in push mode when moov atom is at the end
When playing an mp4 file with the MOOV atom at the end of the file, playback
fails with the error message "no 'moov' atom within the first 10 MB". This is
due to a mistake in the upstream_size typing, making the seek to the end of
file never happening.

https://bugzilla.gnome.org/show_bug.cgi?id=684972
2012-09-27 22:20:19 +01:00
Andre Moreira Magalhaes (andrunko)
25803d651b gamma: remove duplicate entries at format at caps
Avoids extra caps/structures processing
2012-09-27 15:50:49 -03:00
Wim Taymans
dbe941338d rtpvrawdepay: negotiate pool with srcpad caps 2012-09-27 14:15:50 +02:00
Tim-Philipp Müller
f5e0321dfc videomixer: clear video frame more correctly
Make sure not to touch memory that doesn't belong to
our frame, we might be one part of a side-by-side 3D
frame, or in a picture-in-picture scenario.
2012-09-26 09:28:59 +01:00
Tim-Philipp Müller
c203ce2dbe flvdemux: minor clean-up
Use GstByteWriter, because we can, and g_value_take_boxed.
2012-09-26 00:44:59 +01:00
Dmitriy Samonenko
7d4b6f655e flvdemux: fix speex audio decoding by creating fake stream header
https://bugzilla.gnome.org/show_bug.cgi?id=683622
2012-09-26 00:16:06 +01:00
Tim-Philipp Müller
626e0258e3 videomixer: fix warnings when using transparent background
gst_video_frame_map() increases the refcount, which makes
the buffer not writable any more technically, so calling
gst_buffer_memset() on it will cause nasty warnings.

Unit test disabled because it very rarely (for me)
fails, possibly negotiation-related.

https://bugzilla.gnome.org/show_bug.cgi?id=684398
2012-09-25 23:31:34 +01:00
Robert Swain
03e5376827 deinterlace: Add some useful debug logging 2012-09-25 17:05:37 +02:00
Robert Swain
33dd81569f deinterlace: Fix telecine
This only affects behaviour in telecine cases with pattern locking
enabled. The default case should be untouched.

This works with the output from fieldanalysis at least, but the field
order looks swapped for telecine mixed buffers with the
David_slides_Schleef clip.
2012-09-25 17:04:54 +02:00
Edward Hervey
ac9394de29 videomixer: Fix leak 2012-09-25 14:18:35 +02:00
Tim-Philipp Müller
ebe0b1887a smpte: send stream-start event 2012-09-23 16:51:31 +01:00
Tim-Philipp Müller
8e3c7fa799 multipartmux: send stream-start event 2012-09-23 16:51:24 +01:00
Tim-Philipp Müller
154404fa43 matroskamux: send stream-start 2012-09-23 16:33:35 +01:00
Tim-Philipp Müller
bc37b9f4fc qtmux: send stream-start event 2012-09-23 16:33:35 +01:00
Tim-Philipp Müller
ea7f8a919c interleave: add a bunch of FIXMEs
Needs some more work, so stream-start, caps and tags are
sent in the right order.
2012-09-23 16:33:35 +01:00
Tim-Philipp Müller
1c3c8c64e6 flvmux: send stream-start event 2012-09-23 16:33:34 +01:00
Tim-Philipp Müller
c3f62d7ead avimux: send stream-start event 2012-09-23 16:33:34 +01:00
Tim-Philipp Müller
8b20603f8b rtspsrc: answer URI query
Without this, something also answered the query
with TRUE but without setting a uri, not sure
what that was..
2012-09-21 23:33:47 +01:00
Olivier Crête
bc252d29ee rtph264pay: Make sure the caps don't have duplicated sps/pps 2012-09-21 17:36:12 -04:00
Michael Smith
1026970347 qtdemux: 24 bit audio here is S24LE, not S24_3LE. 2012-09-20 18:01:52 -07:00
Robert Swain
480b894642 deinterlace: Remove incorrect logic
I don't understand why these lines were added, they don't make sense to
me now and both David and I agree that removing them moves closer to
related logic being correct, therefore, they're being removed.

I've tested a few progressive, interlaced and telecine clips and they
all behave properly timestamp-wise and visually after these changes.
2012-09-19 00:39:01 +02:00