Commit graph

6255 commits

Author SHA1 Message Date
Wim Taymans
45e5ec29ac deinterlace: add support for bufferpool
Add bufferpool support to avoid a memcpy in the videosink when actively
interlacing.
Remove some commented obsolete code.
2012-09-06 16:25:05 +02:00
Wim Taymans
f59fb16f58 deinterlace: proxy allocation query in passthrough
We can let the allocation query pass when we are operating in passthrough mode.
2012-09-06 13:38:52 +02:00
Wim Taymans
4efdbc97a5 deinterlace: use default event functions
instead of blindly forwarding unknown events.
2012-09-06 13:23:46 +02:00
Wim Taymans
a557282aaa deinterlace: small cleanups 2012-09-06 13:23:30 +02:00
Wim Taymans
f1ef3b4983 deinterlace: call default query handlers
Call the default query handler instead of forwarding the query blindly. Fixes
issues of strides because of proxying the allocation query wrongly.
2012-09-06 12:56:30 +02:00
Wim Taymans
6693a22875 videobalance: avoid deadlock
_update_properties takes the object lock and should not be called when the
object lock is already taken.
2012-09-04 12:35:53 +02:00
Tim-Philipp Müller
aeba106878 matroskamux: extract interlaced-ness of video track from interlace-mode field
instead of the old boolean "interlaced" field.
2012-09-03 12:46:03 +01:00
Tim-Philipp Müller
9bf90f47cf video/x-xvid -> video/mpeg,mpegversion=4 2012-09-03 02:51:24 +01:00
Tim-Philipp Müller
fb0f3c17f5 text/plain + text/x-pango-markup -> text/x-raw 2012-09-02 02:50:50 +01:00
Tim-Philipp Müller
b27ac94af2 gst_message_new_duration -> gst_message_new_duration_changed 2012-09-02 01:31:53 +01:00
Wim Taymans
5b394385b9 session: also stop probatation on existing sources
Receiving an RTCP packet should also stop probation on sources we have seen
before.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=683065
2012-08-30 22:07:24 +02:00
Aleix Conchillo Flaque
4a200b670f rtp: make rtp packet probation configurable (bug #682512) 2012-08-30 21:49:57 +02:00
Mark Nauwelaerts
a2475a40a5 flacparse: fixup 0.11 port of suspect frame checking
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=682959
2012-08-30 11:30:01 +02:00
Mark Nauwelaerts
e1881d1e44 avidemux: avoid invalid H264 bytestream codec_data
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681369
2012-08-28 19:01:11 +02:00
Mark Nauwelaerts
e523b42d41 qtdemux: port segment event creation to 0.11 2012-08-28 19:01:11 +02:00
Mark Nauwelaerts
748304ced7 qtdemux: release extra event ref when replacing pending newsegment event 2012-08-28 16:28:29 +02:00
David Corvoysier
d0eed20428 isomp4: add DASH tfdt box support
MPEG DASH has defined a set of new boxes to specify duration, indexes and
offsets of ISOBMFF fragments.

The Track Fragment Base Media Decode Time (tfdt) Box can in particular be
included inside a traf box to specify the absolute decode time, measured on the
media timeline, of the first sample in decode order in the track fragment.

This information can be used by the isomp4 demux to find out the current position of
an MP4 fragment in the timeline.

This patch adds code to isomp4 to:
- parse the tfdt box
- adjust the time/position member of the new segment sent when playback starts

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677535
2012-08-28 16:28:27 +02:00
Tim-Philipp Müller
4bb52bbadf docs: gst-launch -> gst-launch-1.0 and ffmpegcolorspace -> videoconvert 2012-08-27 21:20:30 +01:00
Tim-Philipp Müller
e4cb67fad8 docs: gst-launch-0.11 -> gst-launch-1.0 2012-08-27 21:20:29 +01:00
Tim-Philipp Müller
045c4b6ec8 deinterlace: the field in caps is "interlace-mode" not "interlace-method"
Fix deinterlace unit test. Need to set right field on output caps.
Also remove right field (not old 0.10 "interlaced" boolean field)
from caps in unit test before comparing old and new.
2012-08-27 21:20:29 +01:00
Michael Rubinstein
6ea5d31456 videomixer: fix endianness check on systems where non-glib endianness defines are not set
On Windows LITTLE_ENDIAN without the G_ in was not defined,  so the
test comes out wrong.
2012-08-24 19:45:11 +01:00
Wim Taymans
916e4c86fa udpsink: don't crash on NULL error
Check if there is an error before retrieving its message.

See https://bugzilla.gnome.org/show_bug.cgi?id=682481
2012-08-22 17:27:27 +02:00
Aleix Conchillo Flaque
8d864dbbfc rtspsrc: make jitterbuffer drop-on-latency available (fix #682055)
Conflicts:

	gst/rtsp/gstrtspsrc.h
2012-08-22 10:39:19 +02:00
Tim-Philipp Müller
bce47066ca video/x-dvd-subpicture -> subpicture/x-dvd 2012-08-20 23:30:38 +01:00
Tim-Philipp Müller
6ee9a7d228 multifilesrc: fix example pipeline in docs 2012-08-17 20:52:42 +01:00
Stefan Sauer
1f255a585b equalizer: enable presets for the n-band equalizer
Add a test for saving and restoring the preset.
2012-08-17 15:01:40 +02:00
Tim-Philipp Müller
0d148d9c6f deinterlace: fix not-negotiated errors on variable or missing framerate in input caps
Remove some bogus code I added during porting that would error out
on missing or variable framerates in input caps. Handle this like
we do in 0.10

Fixes test_mode_disabled_passthrough unit test check.
2012-08-14 01:20:19 +01:00
Sjoerd Simons
b19b914d3a law: Filter layout caps field
The layout caps field shouldn't be passed through to the sink pad
of {mu,a}lawdec.

https://bugzilla.gnome.org/show_bug.cgi?id=681677
2012-08-13 08:52:58 +02:00
Olivier Crête
264bcf7d6f rtph264pay: Make it actually work after cleanups 2012-08-08 19:49:05 -07:00
Sebastian Dröge
6f74b2afb7 gst: Set alignment at the correct place of GstAllocationParams 2012-08-08 17:41:31 +02:00
Tim-Philipp Müller
0e6b66a2a0 gst: update disted orc files 2012-08-08 15:10:37 +01:00
Tim-Philipp Müller
787c314ec3 Silence some 'variable may be used uninitialized' compiler warnings
When compiling with -DG_DISABLE_ASSERT
2012-08-08 11:31:59 +01:00
Tim-Philipp Müller
4de8bd004c No code with side-effects inside g_assert() please 2012-08-08 11:07:55 +01:00
Olivier Crête
b4ff570532 multiudpsink: Return FLUSHING instead of ERROR on unlock
If the base class asks multiudpsink to unlock, then it should return
FLUSHING, not ERROR
2012-08-07 11:31:32 -07:00
Mark Nauwelaerts
2d179ebf90 flacparse: generate empty vorbiscomment for complete streamheaders if needed
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681335
2012-08-07 12:24:42 +02:00
Olivier Crête
2e21ace12c rtpssrcdemux: Block pad while it is announced.
Block the RTP pad and associated RTCP pads while they are being
announced. This it to prevent a race where one is announced and
before the callback has connected it, the other one gets a buffer.

We can't use the "padlock" of ssrcdemux because it causes deadlocks.
2012-08-06 18:04:58 -07:00
Mark Nauwelaerts
1547fdbe5a rtpmparobustdepay: set correct data_size for generated dummy frame
... which prevents getting stuck in a loop if such one is needed.
2012-08-06 14:58:21 +02:00
Mark Nauwelaerts
3e1832f5a4 rtpmparobustdepay: improve and fix debug statement
... so it really informs about next rather than past frame.
2012-08-06 14:58:21 +02:00
Mark Nauwelaerts
31a1cb0a11 rtpmparobustdepay: update available bytewriter space when repositioning
... and add some more assert to catch potential surprises early on.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680558
2012-08-06 14:58:21 +02:00
Sebastian Dröge
7b5925b5a4 gst: Add stream-id to stream-start events 2012-08-06 13:43:57 +02:00
Sebastian Dröge
46255d6ada matroskademux: Chain up to the parent class' query handler if no pad is provided 2012-08-06 10:59:18 +02:00
Olivier Crête
2aa360c936 rtpssrcdemux: Release lock before signalling new pad
This prevents a deadlock where something would try to push an event
through the SSRC demux from the callback, causing the pads to be iterated
and the lock taken.
2012-08-04 18:14:28 -07:00
Tim-Philipp Müller
c074bfd0b9 gst_tag_list_free -> gst_tag_list_unref 2012-08-04 16:10:16 +01:00
Mark Nauwelaerts
a549b0bf2c rtspsrc: manage race between connection closing and flushing
... where the former can happen in task thread and the latter in mainloop
upon downward state change.
2012-08-03 14:10:32 +02:00
René Stadler
75ee20ec67 qtdemux: fix double unref of private tag buffer 2012-08-01 12:16:41 +02:00
Anton Belka
86c236a5f6 wavparse: create TOC as needed
Avoid creating the toc if the wav has no or empty cue chunk.
Also a small code cleanup.
2012-07-30 20:39:19 +02:00
Tim-Philipp Müller
1ddb71e5b6 wavparse: update for TOC API changes 2012-07-28 11:26:01 +01:00
Tim-Philipp Müller
5b4eb723b6 matroska: update for TOC API changes 2012-07-28 11:22:43 +01:00
Tim-Philipp Müller
1d5ed57cfa flacparse: update for TOC API changes 2012-07-28 11:20:08 +01:00
Sebastian Dröge
0827f54b93 tag: Update for taglist/tag event API changes 2012-07-28 00:19:51 +02:00
Mark Nauwelaerts
dd25411161 qt(de)mux: pass private blob tags in a sample
... rather than a buffer, and the detailed info in the sample info
rather than caps.
2012-07-27 12:12:13 +02:00
Robert Swain
af7fee714d videocrop: Don't return NULL from _transform_caps
If _transform_caps () returns NULL, the basetransform _transform_caps
tries to call gst_caps_is_subset () with a NULL subset which hits an
assertion.
2012-07-27 11:33:12 +02:00
Mark Nauwelaerts
0bf9d8c6a6 rtpmparobustdepay: modify buffer data rather than buffer itself 2012-07-26 16:34:52 +02:00
Mark Nauwelaerts
c40807f6aa rtpmparobustdepay: avoid leaking bytewriter instance 2012-07-26 16:34:52 +02:00
Robert Swain
cc4941797d deinterlace: Fix timestamp adjustment and caps 2012-07-26 16:04:23 +02:00
Robert Swain
01016109d0 deinterlace: Fix/simplify telecine state checks 2012-07-26 16:03:57 +02:00
Robert Swain
db5bb81e36 deinterlace: Improve debug output 2012-07-26 12:31:52 +02:00
Robert Swain
f20d8f59c8 deinterlace: Fix low-latency pattern locking 2012-07-26 12:31:52 +02:00
Robert Swain
30a61f26ba deinterlace: RFF should be ignored in deinterlace
RFF only occurs on progressive frames in telecine sequences. For
deinterlace, we don't want these repeated fields as we will simply be
pushing the progressive frame and then moving on.

However, we need to consider RFF in order to correctly identify patterns
and adjust the timestamps.
2012-07-26 12:31:52 +02:00
Robert Swain
7c0af11fca deinterlace: Improve process logic
The logic now works better if we filter orphans, then progressive, then
telecine interlaced fields which need to be woven and fall through to
interlace. Telecine interlaced fields will be regularly deinterlaced if
there is no pattern lock for us to be sure that we have a telecine
pattern.

Telecine sequences that aren't 24fps progressive with RFF flags can't
really be tested until fieldanalysis is ported.
2012-07-26 12:31:52 +02:00
Wim Taymans
ef38efc2d7 rtsp: go and stay in the loop function on PLAY
When we have a PLAY request, go into the LOOP function next. When we are
looping, keep on looping until we are told otherwise.
This fixed rtsp and TCP connections.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680551
2012-07-25 12:50:01 +02:00
Wim Taymans
943b56ff8e rtsp: set caps after activating the pad 2012-07-25 12:49:35 +02:00
Wim Taymans
0ed9e07c5d h264depay: small cleanups 2012-07-25 12:49:07 +02:00
Wim Taymans
0cb11943e5 xqtdepay: fix buffer refcount error
After pushing the buffer into the adapter, we should not let the baseclass push
it out anymore. This error was introduced while porting to 0.11.

See https://bugzilla.gnome.org/show_bug.cgi?id=680540
2012-07-25 10:11:29 +02:00
Stefan Sauer
242321e376 level: remove obsolete liboil comment 2012-07-24 21:42:40 +02:00
Mark Nauwelaerts
1a46572aaa matroskademux: push mode: increase segment accuracy following seek
Conflicts:

	gst/matroska/matroska-demux.c
2012-07-24 21:15:49 +02:00
Mark Nauwelaerts
ea0729ff32 matroskademux: perform proper KEY_UNIT seek also in push mode
Conflicts:

	gst/matroska/matroska-demux.c
2012-07-24 21:15:49 +02:00
Tim-Philipp Müller
d6f4f1e01f udpsrc: don't crash dereferencing NULL error when leaving multicast group on shutdown
Strangely enough, if we do pass an error variable to be filled, we
no longer get an error on leaving.
2012-07-24 20:06:07 +01:00
Mark Nauwelaerts
6cc2ad4744 avidemux: rearrange some checks to avoid NULL use 2012-07-24 16:05:32 +02:00
Mark Nauwelaerts
6cb106d690 avidemux: use same fourcc to determine caps in determining uncompressed-ness
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=673898

Conflicts:

	gst/avi/gstavidemux.c
2012-07-24 16:05:31 +02:00
Mark Nauwelaerts
e5369901ad Revert "avidemux: Don't consider 0 fcc_handler as uncompressed."
This reverts commit c6b9f5b25a.

fourcc GST_RIFF_rgb = 0 still leads to raw uncompressed rgb caps.

See also https://bugzilla.gnome.org/show_bug.cgi?id=673898
2012-07-24 16:05:31 +02:00
Mark Nauwelaerts
7e9dffa226 matroskademux: avoid NULL access when checking subtitle
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680388
2012-07-24 12:33:41 +02:00
Edward Hervey
538c131b37 aacparse: Reset parser when we have caps without codec_data
This ensures the detection (and proper downstream caps settings) will
actually happen when we have new incoming caps without codec_data.

This was easily triggered by streams from matroskademux which initially
provided caps with a constructed codec_data, but then pushed new caps
without the codec_data once it detected the stream was adts.
2012-07-24 12:24:43 +02:00
Wim Taymans
f44808338f videomixer: prefix orc functions with video_mixer_orc_ 2012-07-24 09:17:09 +02:00
Wim Taymans
29743c3ed2 videobox: prefix orc functions with video_box_orc_ 2012-07-24 09:13:48 +02:00
Mark Nauwelaerts
d6ef204190 matroskademux: generate correct segment stream time
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680275
2012-07-23 17:38:43 +02:00
Wim Taymans
4b92022120 rtp: always use buffer lists 2012-07-23 16:42:56 +02:00
Patricia Muscalu
3dd99f06f4 rtpmp4vpay: always enable buffer-lists 2012-07-23 16:17:37 +02:00
Patricia Muscalu
15cce2dd26 rtpjpegpay: always enable buffer-lists 2012-07-23 16:15:59 +02:00
Wim Taymans
7fdd607561 deinterlace: get frame flags correctly
Also move the deinterlace plugin to ported status
2012-07-23 15:50:18 +02:00
Mark Nauwelaerts
a5dfa3d689 matroskademux: proper parse recovery after seek
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680427
2012-07-23 15:45:33 +02:00
Mark Nauwelaerts
33091e2bf5 flvdemux: clear old segment event when requesting new one
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680283
2012-07-23 12:50:21 +02:00
Alban Browaeys
7b16eb49b8 wavparse: convert all non GST_FORMAT_BYTES to format bytes.
Convert all non GST_FORMAT_BYTES to format bytes:
fixes:
GStreamer-CRITICAL **: gst_query_set_duration: assertion `format ==
g_value_get_enum (gst_structure_id_get_value (s, GST_QUARK (FORMAT)))'
failed
when playing more than one wav stream.
gst-plugins-base/tests/icles/playback/test7 uri1.wav uri2.wav
2012-07-23 09:49:51 +02:00
Sebastian Dröge
cbf3c2bac0 wavparse: Don't fail if more data then needed is available when parsing cue chunks
Fixes bug #680328.
2012-07-23 09:26:40 +02:00
Sebastian Dröge
e7977d2d64 wavparse: Some minor cleanup to the cue/labl parsing 2012-07-23 09:26:40 +02:00
Robert Swain
eac172c433 deinterlace: Port to 1.0
This requires the additional INTERLACED buffer flag recently added to
-base
2012-07-20 23:23:42 +02:00
Wim Taymans
ec7f7264dc interleave: convert the output segment to time
Convert the stored input segment to time before pushing it out.

Conflicts:

	gst/interleave/interleave.c
2012-07-20 16:09:33 +02:00
Wim Taymans
4dfb796527 interleave: try to fix segment handling
Conflicts:

	gst/interleave/interleave.c
2012-07-20 15:54:38 +02:00
Sebastian Dröge
b4621cbb3a matroskademux: Non-update seeks should still make sure that reverse playback status is reset
Conflicts:
	gst/matroska/matroska-demux.c
2012-07-20 15:33:43 +02:00
Sebastian Dröge
9a83a0749e matroskademux: Properly initialize from_offset and from_time 2012-07-20 15:33:04 +02:00
Sebastian Dröge
b02034dda1 matroskademux: We need an index and index entry for reverse playback
Reverse playback does not work with index-less files yet.
2012-07-20 14:28:37 +02:00
Mark Nauwelaerts
d90686f722 wavparse: clean up push mode segment handling
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680277
2012-07-20 14:10:41 +02:00
Mark Nauwelaerts
7247d136e5 qtdemux: properly transform incoming segment event
... which is really useful for proper push mode seeking.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680278
2012-07-20 13:35:29 +02:00
Sebastian Dröge
6dbc6ad3cf matroskademux: Fix reverse playback for seeks without stop position
Conflicts:
	gst/matroska/matroska-demux.c
	gst/matroska/matroska-demux.h
2012-07-20 11:23:16 +02:00
Sebastian Dröge
42b5065cc4 matroskademux: Only take the stream_start_time into account for SET seeks
For other seeks the stream_start_time is already added to the
segment values.

Conflicts:
	gst/matroska/matroska-demux.c
2012-07-20 11:18:27 +02:00
Anton Belka
cc6d533521 wavparse: Add TOC support
Add support for:
 * Cue Chunk
 * Associated Data List Chunk
 * Label Chunk

https://bugzilla.gnome.org/show_bug.cgi?id=677306
2012-07-20 09:55:50 +02:00
Maria Giovanna Chiossa
561b131e1a rtspsrc: also set UDP buffer size in multicast
Also set the UDP buffer size in multicast mode.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=675448
2012-07-19 15:26:36 +02:00
Tim-Philipp Müller
f879e4e0f0 avidemux: fix header parsing in push mode
Fix 'break' that got warped to the wrong place,
probably as part of a merge. Fixes GST_IS_BUFFER
criticals in parse_idit() when being accidentally
passed a NULL buffer because of the missing break.

gst-launch-1.0 playbin uri=http://docs.gstreamer.com/media/sintel_trailer-480i.avi
2012-07-18 23:43:59 +01:00
Wim Taymans
ac2a366a12 update for ghostpad changes 2012-07-18 18:07:02 +02:00
Sebastian Dröge
9fdcad4aee matroskademux: Pass seek rate to upstream seek events in push mode
Fixes bug #679435.

Conflicts:
	gst/matroska/matroska-demux.c
2012-07-18 11:40:56 +02:00
Wim Taymans
51371d26ee update for RTP buffer api changes 2012-07-17 16:38:27 +02:00
Patricia Muscalu
d38ac43a27 rtph264pay: use buffer lists
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679994
2012-07-17 10:10:14 +02:00
Sebastian Dröge
b01cf1561c flacparse: Fix parsing of ISRC from the cuesheets 2012-07-17 10:01:54 +02:00
Anton Belka
ffc204e6bd flacparse: add TOC support
Add support embedded cuesheets in flac files.
Parsing METADATA_BLOCK_CUESHEET as TOC.

https://bugzilla.gnome.org/show_bug.cgi?id=540891
2012-07-17 09:58:07 +02:00
Mark Nauwelaerts
a94d5d9f3b flacparse: avoid some more frame misparsing by additional header sanity check
... using a required constant blocking_strategy bit.

https://bugzilla.gnome.org/show_bug.cgi?id=679807
2012-07-13 15:37:18 +02:00
Edward Hervey
f063e40af7 demux: Push STREAM_START event when needed 2012-07-13 13:51:48 +02:00
Stefan Sauer
0cff483bd7 qtmux: avoid warning if both ts are equal 2012-07-11 13:54:00 +02:00
Tim-Philipp Müller
80245e2a70 multiudpsink: check the right size when warning about too large udp packets
What matters is the total size, not the size of any of the
individual memory chunks that make up the packet.
2012-07-11 12:31:13 +01:00
Wim Taymans
ab77c424be autodetect: proxy ts-offset properties
Proxy the ts-offset property in the audio*sink elements.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679343
2012-07-10 14:38:21 +02:00
Wim Taymans
2052cabdc4 fix for allocator API changes 2012-07-09 16:28:41 +02:00
Mark Nauwelaerts
f1b435d1b5 update for riff field rename 2012-07-09 12:53:47 +02:00
Tim-Philipp Müller
c6224443a4 rtph264pay: avoid some relocations 2012-07-06 19:11:02 +01:00
Tim-Philipp Müller
3ef35ecdbc rtpmp4vpay: remove deprecated send-config property
Use config-interval instead.
2012-07-06 14:49:18 +01:00
Tim-Philipp Müller
cd1da84bcc rtph264depay: remove deprecated "byte-stream" and "access-unit" properties
These will be picked automatically based on downstream caps now, so
if you want the depayloader to output a specific format, make sure
the element downstream advertises that preference or use a capsfilter
after the depayloader to force it.
2012-07-06 14:46:22 +01:00
Tim-Philipp Müller
cffbf8cfc3 rtph264pay: remove deprecated and non-functional "profile-level-id" property
This is now optionally taken from downstream caps, so can be
specified via a capsfilter after the payloader.
2012-07-06 14:46:22 +01:00
Mark Nauwelaerts
400bdee601 aacparse: perform additional sanity check before confirming ADTS format
... and tweak confusing debug message.
2012-07-06 15:29:37 +02:00
Mark Nauwelaerts
986286a8ea aacparse: remove unhelpful stray debug message 2012-07-06 15:29:28 +02:00
Tim-Philipp Müller
c22268b5d3 rtpsession: remove deprecated and unused "ntp-ns-base" property 2012-07-06 13:16:00 +01:00
Tim-Philipp Müller
c60625a5e4 docs: update isomp4 docs for gppmux -> 3gppmux change as well 2012-07-06 12:57:34 +01:00
Tim-Philipp Müller
cf9b2149dd isomp4: remove gppmux, which was deprecated in favour of 3gppmux 2012-07-06 12:54:02 +01:00
Tim-Philipp Müller
1cb8295bb0 smtp: remove deprecated "fps" property 2012-07-06 12:49:54 +01:00
Tim-Philipp Müller
080cbf322f multipartdemux: remove deprecated and unused "autoscan" property
Replaced by boundary=NULL.
2012-07-06 12:46:30 +01:00
Tim-Philipp Müller
48706beb70 rtph263ppay: accept any h263 input unless downstream forces specific requirements
rtph263ppay should accept any input compatible with its sink template
caps if it just outputs to e.g. udpsink or fakesink.

rtph263ppay ! rtph263pdepay should also work with any compatible input.
This would fail before with not-negotiated errors because the get_caps
function would see the encoding-name in the depayloader's template caps
and default to baseline H.263 because there's no profile/level information
in those caps, which is the right thing to do if downstream has filtercaps
from an SDP, but not if those fields are absent because they can be
anything like with the depayloader's template caps. Makes

  videotestsrc ! avenc_h263p ! rtph263ppay ! rtph263pdepay ! fakesink

work.
2012-07-06 11:57:38 +01:00
Wim Taymans
8eadb9c12c update for query api changes 2012-07-06 11:26:46 +02:00
Sebastian Dröge
aeafc3a093 gst: Implement segment-done event 2012-07-05 13:13:09 +02:00
Sebastian Dröge
2e90ff9bb9 matroskademux: Remove the TOC query handling 2012-07-05 12:35:49 +02:00
Sebastian Dröge
04e0bbef17 matroska: Update for new GstToc API
TOC support in matroskamux is disabled for now as it was broken anyway.
2012-07-05 12:28:59 +02:00
Tim-Philipp Müller
8098a2f0b2 imagefreeze: clear 0 DTS on buffers output, as sinks will prefer DTS over PTS for syncing
Since the initial decoded still image buffer will have dts=pts=0, and
we only set PTS on buffers we push out, all buffers pushed out would
have a DTS of 0. Sinks, however, will prefer DTS over PTS if both are
set, and will therefore always see a timestamp of 0 no matter what
the PTS is set to.

Fixes unit test too.
2012-07-04 19:03:12 +01:00
Tim-Philipp Müller
42cc0d1e48 deinterleave; downgrade caps change failure debug message
Add some more info and downgrade to warning, so
it doesn't look like the unit test failed.
2012-07-03 19:44:26 +01:00
Tim-Philipp Müller
0fa3992e37 audiopanorama: fix negotiation and unit test
Must remove a possibly-fixed channel-mask field if
we're going to set unfixed channels on the structure,
or a different channel count.
2012-07-03 17:54:22 +01:00
Sebastian Dröge
407bf06dc4 matroskademux: Only push the TOC event, the message is handled by the sinks 2012-07-03 17:34:10 +02:00
Javier Jardón
c740490c26 rtp: remove some outdated comments
https://bugzilla.gnome.org/show_bug.cgi?id=679301
2012-07-03 08:58:26 +01:00
Tim-Philipp Müller
b9d020ac4f rndbuffersize: add push mode support
https://bugzilla.gnome.org/show_bug.cgi?id=656317
2012-06-28 20:05:09 +01:00
David Corvoysier
c06cb7c145 isomp4: Try to seek upstream before processing seek push event
When it receives a seek in push mode, the qtdemux should first try to push the event upstream, and only if upstream fails fall back to
its own seek logic.
2012-06-28 14:44:58 +02:00
David Corvoysier
998534a2a1 isomp4: Allow duration queries to be forwarded upstream
When receiving a duration query for TIME format, try to query upstream, and only if upstream fails fall back to qtdemux duration handling.
2012-06-28 14:44:58 +02:00
Wim Taymans
6d158775bb rtph264pay: cleanups
Use the caps properties for alignment and format.
Remove some old properties, we always want to use bufferlists when we can now.
2012-06-28 12:00:09 +02:00
Wim Taymans
429bda6923 h264pay: prefer AVC, it's easier to parse etc 2012-06-28 11:32:03 +02:00
Tim-Philipp Müller
83cb4c63c3 matroska: update for GstToc API additions 2012-06-26 18:48:11 +01:00
Wim Taymans
e565f0d1ff matroska: set interlace-mode 2012-06-26 17:04:41 +02:00
Tim-Philipp Müller
2c04c30ec3 matroska-mux: update for GstTocSetter changes 2012-06-25 20:11:53 +01:00
Sebastian Dröge
dff2fec970 matroskademux: Return FALSE from queries if we can't answer POSITION/DURATION queries 2012-06-25 13:33:57 +02:00
Anton Belka
c3061f434b matroskademux: Return FALSE from TOC query if no TOC exists instead of an empty TOC 2012-06-25 09:47:59 +02:00
Tim-Philipp Müller
296783908c matroska: update for GstToc API changes 2012-06-24 22:51:16 +01:00
Tim-Philipp Müller
456847c66b rtspsrc: update for gst_element_make_from_uri() changes 2012-06-23 14:57:28 +01:00
Wim Taymans
30d3dfee36 update for task api change 2012-06-20 10:33:42 +02:00
Wim Taymans
dc04908412 update for clock api changes 2012-06-20 10:01:57 +02:00
Matej Knopp
c55e492e80 matroska-demux: Send gap events for subtitle streams 2012-06-19 11:21:52 +01:00
Tim-Philipp Müller
b6da022417 splitfilesrc: fix up docs for 0.11 2012-06-17 01:00:40 +01:00
Tim-Philipp Müller
3b94e44571 splitfilesrc: small uri handler fixup and some more docs
Get URI location using gst_uri_get_location(), so any
escaped bits get unescaped.

https://bugzilla.gnome.org/show_bug.cgi?id=609049
2012-06-17 00:59:54 +01:00
Tim-Philipp Müller
1d659d8e41 splitfilesrc: re-port to 0.11 2012-06-17 00:59:21 +01:00
Bastien Nocera
9b13a29f91 splitfilesrc: Implement splitfile:// URI scheme
https://bugzilla.gnome.org/show_bug.cgi?id=609049

Conflicts:

	gst/multifile/gstsplitfilesrc.c
2012-06-17 00:58:54 +01:00
Wim Taymans
540245894f theoradepay: fix buffer memory
The memory was added to the input buffer instead of the output buffer.
2012-06-14 10:43:56 +02:00
Wim Taymans
694be55c05 rtspsrc: Don't reset time in flush-stop
Don't reset the time in flush-stop. Live sources can do this flush in the
playing state and so the pipeline will never have a chance to update the
base_time of the elements, which only happens when going from paused to
playing.
2012-06-14 08:58:58 +02:00
Vincent Penquerc'h
fe45881a0f deinterlace: send QoS messages when dropping a frame
https://bugzilla.gnome.org/show_bug.cgi?id=657941
2012-06-12 15:40:37 +01:00
Wim Taymans
935472aba7 rtspsrc: Rework the async state handling
Always send the flushing events to the udp elements now that basesrc supports
this. This makes sure a segment event is sent correctly after a flush.
Keep track of the currently executing command and make it possible to specify
what command you want to cancel when starting a new async command.

See https://bugzilla.gnome.org/show_bug.cgi?id=677905
2012-06-12 16:05:40 +02:00
Stefan Sauer
ea17c457f9 childproxy: update api use 2012-06-11 18:24:20 +02:00
Mark Nauwelaerts
8b1da8adb2 matroskademux: always perform full seek if seek is flushing
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677838
2012-06-11 13:12:26 +02:00
Tim-Philipp Müller
17b422137a rndbuffersize: printf format fix for long -> int change 2012-06-11 11:20:18 +01:00
Tim-Philipp Müller
98e415dc9d debug: change rndbuffersize properties from long to int
These should all be int instead of long, to avoid bugs
when passing these as varargs with g_object_set(), and
there was no reason to use long in the first place here.
Fixes FIXME.
2012-06-09 16:53:54 +01:00
Sebastian Dröge
a1948e34d2 elements: Use gst_pad_set_caps() instead of manual event fiddling 2012-06-08 15:54:42 +02:00
Wim Taymans
f65495d405 update for audio api change 2012-06-08 10:11:12 +02:00
Wim Taymans
eb982e4bbe rtspsrc: only reset the manager object when we did a seek
Only reset the manager object when we used a Range header, ie. when we did a
seek. Otherwise we just paused and we can resume just fine.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677475
2012-06-07 12:11:14 +02:00
Sebastian Dröge
91ca34a0bb matroskademux: Update for TOC event API change 2012-06-06 14:17:08 +02:00
Wim Taymans
b5df4f0e62 update for tag event change 2012-06-06 13:02:12 +02:00
Wim Taymans
37df608fdc fix Y800 format 2012-06-06 13:00:58 +02:00
Thiago Santos
78ec03e32f Some printf variable format fixes
The osx compiler complains about those
2012-06-05 17:53:57 -03:00
Sebastian Dröge
ca4b5d795b audioparsers: Fix GstBaseParse::get_sink_caps() implementations
They should take the filter caps into account and always return
the template caps appended to the actual caps. Otherwise the
parsers stop to accept unparsed streams where upstream does not
know about channels, rate, etc.

Fixes bug #677401.
2012-06-05 09:21:08 +02:00
Wim Taymans
b8c08838bb qtdemux: set the palette size correctly 2012-05-31 13:44:46 +02:00
Wim Taymans
72b7d4884f video: remove duplicate format 2012-05-29 17:52:11 +02:00
Edward Hervey
5294edded2 flvdemux: Post error message if EOS before pads were created
Happens with some files with only headers
2012-05-29 16:59:06 +02:00
Tim-Philipp Müller
3986174aa9 flv, matroska: don't use GstStructure API on tag lists 2012-05-27 00:02:08 +01:00
Edward Hervey
923be8a85b rtpmp2tdepay: Only output integral mpeg-ts packets
From RFC 2250

2. Encapsulation of MPEG System and Transport Streams
...
   For MPEG2 Transport Streams the RTP payload will contain an integral
   number of MPEG transport packets.  To avoid end system
   inefficiencies, data from multiple small MTS packets (normally fixed
   in size at 188 bytes) are aggregated into a single RTP packet.  The
   number of transport packets contained is computed by dividing RTP
   payload length by the length of an MTS packet (188).
....

Since it needs to contain "an integral number of MPEG transport packets", a
simple fix is to check that's the case, and strip off any leftover data.

Fixes #676799

Conflicts:

	gst/rtp/gstrtpmp2tdepay.c
2012-05-26 12:04:54 +02:00
Alessandro Decina
51c8cd805d matroskademux: increase NEWSEGMENT accuracy after seeking
demux->common.segment is populated during seek handling with the target
start/stop positions. Don't override them when sending out a NEWSEGMENT.

Conflicts:

	gst/matroska/matroska-demux.c
2012-05-24 14:31:55 +02:00
Alessandro Decina
66d95d808c matroskademux: don't discard the incoming seek segment on push based seeking
The incoming seek segment was being discarded leading to push based seeking
being potentially inaccurate.
2012-05-24 14:26:23 +02:00
Luis de Bethencourt
c81fff0471 rtp: fix build issue in gstrtph264pay.c 2012-05-24 09:29:25 +01:00
Jonas Holmberg
7bf3a1bf95 rtph264pay: Add unrestricted caps
If there are no profile restrictions downstream, return caps with
profile=constrained-baseline in the first structure and append
unrestricted caps as the last structure.

Fixes bug #672019
2012-05-24 10:01:19 +02:00
Maria Giovanna Chiossa
ff019d05f6 rtsp: add the Scale header when needed
Setting GST_SEEK_FLAG_SKIP when sending a seek event in rtspsrc should
set the "Scale" field in the rtsp PLAY header.
Because the boolean "src->skip" is set after the call, "Speed" instead
of "Scale" is always set. Move the assignment before issuing the _play
request.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676618
2012-05-24 09:57:31 +02:00
Sreerenj Balachandran
f400a06ba5 videobox: Fix the sample pipeline. 2012-05-23 10:14:16 +02:00
Anton Novikov
eba7494ab0 icydemux: warning if setting srcpad caps fails 2012-05-23 10:05:41 +02:00
Anton Novikov
6c31088adc icydemux: activate srcpad before setting caps
Before gst_pad_set_active() is called, the pad has
FLUSHING flag set, so setting the caps fails
2012-05-23 10:04:09 +02:00
Thiago Santos
46083803d7 avimux: fix assertion when handling a date tag as a string
Date tags are GDate, not strings. Add a special case to convert
it to the exif date format representation in string to avoid
the assertion
2012-05-21 10:34:20 -03:00
Mark Nauwelaerts
182596b3ab rtpmp2tpay: respect mtu and packet boundaries
See #659915.
2012-05-18 12:53:44 +02:00
Youness Alaoui
7703a11073 rtpjpegpay: Allow U and V components to use different quant tables if they contain the same data
This allows some cameras (Logitech C920) that specify different quant
tables but both with the same data, to work.
Bug reported by Robert Krakora
2012-05-16 09:49:08 +02:00
Tim-Philipp Müller
aef0ad44d4 rndbuffersize: only send flush-stop if it was a flushing seek 2012-05-09 15:14:55 +01:00
Tim-Philipp Müller
338286cedf rndbuffersize: must send flush-stop after acquiring the stream lock
Otherwise the streaming thread might just keep on going and we
might never get the stream lock.
2012-05-09 12:24:37 +01:00
Tim-Philipp Müller
7e03f5f004 rndbuffersize: port seeking code to 0.11 2012-05-09 11:39:34 +01:00
Tim-Philipp Müller
84c842cfe9 rndbuffersize: add support for seeks
Useful for e.g. filesrc ! rndbuffersize ! queue2 ! ...
2012-05-09 11:39:34 +01:00
Tim-Philipp Müller
920e91e072 rndbuffersize: send SEGMENT event before pushing buffers
Conflicts:

	gst/debugutils/rndbuffersize.c
2012-05-09 11:39:34 +01:00
Wim Taymans
354e35a6ee interleave: fix compilation again 2012-05-09 11:19:10 +02:00
Pascal Buhler
8161daef4a rtpsession: creation should be signaled before validation
https://bugzilla.gnome.org/show_bug.cgi?id=667850
2012-05-09 10:36:18 +02:00
Alban Browaeys
a56361623c isomp4: set layout=interleaved on raw audio caps
This fixes a not-negotiated error at least on mov files with
twos audio with two channels and video dvcp. As playbin and gst-launch
sample coming from the qtdemux.c file uses audioconvert and the latter
require format interleaved.

https://bugzilla.gnome.org/show_bug.cgi?id=675326
2012-05-03 23:28:50 +01:00
Tim-Philipp Müller
2d249dcc29 videomixer: change sink pad template name from sink_%d to sink_%u 2012-05-01 18:58:03 +01:00
Wim Taymans
01db5dbff0 interleave: handle EOS on all pads
When all pads go to EOS immediately, we are not negotiated and our collected
function is called (without any available data). Handle this case gracefully.

Conflicts:

	gst/interleave/interleave.c
2012-05-01 13:35:56 +02:00
Wim Taymans
e0636feff8 interleave: improve debugging 2012-05-01 13:34:32 +02:00
Tim-Philipp Müller
b072c78270 alpha: don't set up stuff before the input and output formats are known
Fixes crash on startup.
2012-05-01 00:23:14 +01:00
Peter Seiderer
175f666293 multifilesink: don't write stream header twice for first file 2012-04-30 22:53:42 +01:00
Peter Seiderer
7112b93a97 multifilesink: fix buffer list size calculation in render_list
Fix uninitialized 'size' variable in call to gst_buffer_list_foreach().
2012-04-30 22:00:59 +01:00
Luis de Bethencourt
54c63dac31 multifile: unnecessary size check 2012-04-30 21:58:00 +01:00
Luis de Bethencourt
c7f124c8a8 avi: fix build errors
fix redundant declarations
and also style/indent issues
2012-04-30 21:30:56 +01:00
Vincent Penquerc'h
93ce50f9b9 matroska: implement forward snapping keyframe seeking
Requires an index.
2012-04-30 10:37:57 +01:00