Commit graph

11509 commits

Author SHA1 Message Date
Edward Hervey
9c4e195e79 jpegdec: When dropping frames on EOS, flush out data
Cleaner way of handling stray data
2012-05-18 11:05:17 +02:00
Edward Hervey
d243fb9178 jpegdec: Remove unused variable
Conflicts:

	ext/jpeg/gstjpegdec.c
2012-05-18 11:05:02 +02:00
Edward Hervey
d811797186 jpegdec: Only parse for SOI when we didn't see it before 2012-05-18 11:04:39 +02:00
Edward Hervey
c6c4906770 jpegdec: Remember if we saw SOI and handle stray data on EOS 2012-05-18 11:04:32 +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
95f6e0dbe4 souphttpsrc: fix possible data corruption after seeking
Consider a downstream element that may issue seeks in very short
succession (e.g. queue2), depending on the access pattern of
the downstream element (e.g. qtdemux with audio/video chunks
interleaved so that there's always a sizeable gap between the
current chunks for each stream). In this case, queue2 will maintain
two ranges, and even when it serves a chunk from memory, it will
switch ranges and make souphttpsrc seek to the end of the available
data for that range, assuming that that's where we'll want to
continue reading from next.

This may lead to the following seek request pattern:

 - source reading position A
 - seek to B
 - now reading position still A, requested_postion is B
 - streaming thread to be restarted to continue from B
 - seek to A, before streaming thread had time to do the seek
 - do_seek() now sees reading position == seek position and
   returns early.
 - however, requested position is still B from the earlier
   seek request
 - streaming thread starts up, sees that a seek to B is pending
   and requests data from B from the server, while the GstBaseSrc
   segment has of course been updated/reset to position A, which
   was the last seek request.
 - we will now send data for position B and pretend that's the
   data from position A (via the newsegment event, etc.)
 - this causes data corruption

Reproducible doing seek-emulated fast-forward/backward on 006648.
2012-05-16 08:31:15 +01:00
Sebastian Dröge
5203e5500e configure: Require core/base 0.11.91 2012-05-16 09:13:00 +02:00
Matej Knopp
728e81c2a2 .gitignore: add visual studio IDE files and OS X .DS_Store files
https://bugzilla.gnome.org/show_bug.cgi?id=667899
2012-05-16 08:05:32 +01:00
Sebastian Dröge
62580b14f6 jpeg: Port to 0.11 again 2012-05-14 14:39:34 +02:00
Edward Hervey
8e9eb77816 jpeg: Port jpegdec/jpegenc to base video classes
Conflicts:

	ext/jpeg/gstjpegdec.c
	ext/jpeg/gstjpegdec.h
	ext/jpeg/gstjpegenc.c
	ext/jpeg/gstjpegenc.h

Reverted to 0.10 versions for now, next port again.
2012-05-14 13:01:48 +02:00
Tim-Philipp Müller
dd75c21670 annodex: remove annodex plugin and CMML elements
This never really took off and is most likely completely
unused. If there is still a need for this, it should
probably be done differently, perhaps inside oggdemux/mux.
2012-05-13 19:21:19 +01:00
Sebastian Dröge
3f833f7574 Back to development 2012-05-13 16:59:58 +02:00
Sebastian Dröge
979a6a3373 Release 0.11.91 2012-05-13 16:31:03 +02:00
Sebastian Dröge
c0c9e8809e Update .po files 2012-05-13 16:30:03 +02:00
Sebastian Dröge
d2fdf9e5fc Automatic update of common submodule
From dc70203 to 3429ba6
2012-05-13 15:56:05 +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
Peter Seiderer
65a28698db v4l2src: fix v4l2_std_id logging
input.std is of type v4l2_std_id which is defined as 64-bit unsigned integer.
Casting to uint means the higher bits, wich are used for the private video
standards of the TI video capture/display driver for example, are lost.
2012-05-09 15:12:28 +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
Thiago Santos
db74901b6a jpegenc: do not proxy our filter caps downstream on caps queries
Downstream likely won't accept video/x-raw and the caps query
will return EMPTY caps. Instead, create a copy of the caps that
has all structure names replaced by 'image/jpeg'

Simple pipeline that shows the problem:
gst-launch-1.0 videotestsrc num-buffers=1 ! "video/x-raw, \
  width=(int)640, height=(int)480" ! videoscale ! jpegenc ! \
  "image/jpeg, width=(int)800, height=(int)600" ! filesink \
  location=/tmp/image.jpg
2012-05-04 16:25:31 -03: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
Руслан Ижбулатов
cb4f470c7e waveform: No more gstinterfaces
Fixes #675319
2012-05-03 09:33:29 +02:00
Руслан Ижбулатов
ccc0c9c313 directsound: No more gstinterfaces
Fixes #675319
2012-05-03 09:33:29 +02: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
Sebastian Dröge
982148c07c v4l2src: Update for basesrc API changes 2012-05-01 13:33:46 +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
Vincent Penquerc'h
cfd0da4146 avi: implement forward snapping keyframe seeking
In pull mode with an index.
2012-04-30 10:20:40 +01:00
Tim-Philipp Müller
95da93fcb7 tests: fix matroskamux unit test after media type changes 2012-04-28 23:14:24 +01:00
Tim-Philipp Müller
9c236b290d matroska: update for media type changes 2012-04-28 19:57:51 +01:00
idc-dragon
e0945d0a2d celtdepay: calculate size correctly
The summation was done wrong, causing the de-payloader to exit its loop too
early, before all frames are processed.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=674472
2012-04-25 10:29:56 +02:00
Wim Taymans
373333c2b3 pulsesink: improve debug 2012-04-25 10:29:45 +02:00
Wim Taymans
c0140982ee pulsesink: start unmuted when requested
When we explicitely set the mute property to FALSE, connect to pulseaudio with
the PA_STREAM_START_UNMUTED flag set, otherwise pulseaudio will use its
previously used value (which might start the stream muted).

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=672401
2012-04-25 10:29:45 +02:00
Wim Taymans
a473750350 v4l2: improve timestamp code
Sample the pipeline clock and device clock closer to eachother to reduce jitter.
Don't subtract the frame duration from the timestamp when we can use the device
timestamps.
Assume a delay of 1 frame in read-write mode.
2012-04-25 09:41:46 +02:00
Wim Taymans
46045316ce v4l2: use driver timestamps
Use the drive timestamps for timestamping outgoing buffers.
2012-04-24 12:37:33 +02:00
Wim Taymans
eecb9a96a6 v4l2: Improve buffer management
Query the amount of available buffers when doing set_config(). This allows us to
configure the parent bufferpool with the number of buffers to preallocate.
Keep track of the provided allocator and use it when we need to allocate a
buffer in RW mode.
When we are can not allocate the requested max_buffers amount of buffers, make
sure we keep 2 buffers around in the pool and copy them into an output buffer.
This makes sure that we always have a buffer to capture into. We also need to
detect those copied buffers and unref them when they return to the pool.
2012-04-23 18:10:33 +02:00
Wim Taymans
713ddbf541 v4l2: free the queued buffers
Only free the queued buffers that we keep track of in our buffer array. for rw
io-mode, we do allocate buffers but we don't keep track of them in the buffer
array.
2012-04-23 18:10:33 +02:00
Wim Taymans
5d7d4e0d9b v4l2: mark memory as no-share
We don't support sharing our mmapped memory so mark it as NO_SHARE.
2012-04-23 18:10:33 +02:00
Wim Taymans
9fe11d0d11 v4l2: remove old unused file 2012-04-23 18:10:33 +02:00
Wim Taymans
37e7a41771 v4l2: remove unused function 2012-04-23 18:10:33 +02:00