Josep Torra [Thu, 31 May 2012 08:26:27 +0000 (10:26 +0200)]
osxvideosink: Really fix the build on 10.5
The API that we use to run the Cocoa loop in another
thread does not exist in 10.5 or earlier.
Alessandro Decina [Sat, 26 May 2012 10:21:18 +0000 (12:21 +0200)]
osxvideosink: fix race in starting the runloop thread
Block gst_osx_video_sink_run_cocoa_loop until the loop thread has started and
finished initializing NSApp. Fixes occasional warnings/crashes due to two
threads going inside NSApp before finishLaunching had completed.
Josep Torra [Wed, 30 May 2012 14:03:55 +0000 (16:03 +0200)]
osxvideosink: Fix last commit to actually work
MAC_OS_X_VERSION_10_6 is obviously not defined on 10.5.
Sebastian Dröge [Wed, 30 May 2012 11:51:35 +0000 (13:51 +0200)]
osxvideosink: Put the right flags in the right variable
Sebastian Dröge [Wed, 30 May 2012 11:24:03 +0000 (13:24 +0200)]
configure: Fix GST_OBJCFLAGS
Sebastian Dröge [Wed, 30 May 2012 10:45:23 +0000 (12:45 +0200)]
Automatic update of common submodule
From ec1c4a8 to 92b7266
Sebastian Dröge [Wed, 30 May 2012 10:43:37 +0000 (12:43 +0200)]
osxvideosink: NSWindowDelegate is available in all OSX versions newer than 10.6
Josep Torra [Wed, 30 May 2012 10:40:57 +0000 (12:40 +0200)]
osxvideosink: Fix build with older OSX versions
Sebastian Dröge [Wed, 30 May 2012 09:09:25 +0000 (11:09 +0200)]
configure: Add OBJC specific compiler flags
See bug #643939.
Sebastian Dröge [Wed, 30 May 2012 09:23:36 +0000 (11:23 +0200)]
Automatic update of common submodule
From 3429ba6 to ec1c4a8
Wim Taymans [Tue, 29 May 2012 15:50:21 +0000 (17:50 +0200)]
video: remove duplicate format
Edward Hervey [Tue, 29 May 2012 14:52:02 +0000 (16:52 +0200)]
flvdemux: Post error message if EOS before pads were created
Happens with some files with only headers
Sebastian Dröge [Mon, 28 May 2012 13:22:26 +0000 (15:22 +0200)]
png: Port to 0.11 again
Jens Georg [Mon, 14 May 2012 10:46:57 +0000 (12:46 +0200)]
soup: Drop transferMode.dlna.org header
Leave it to the application to decide on the header. No header at all
is better than having the wrong header as DLNA mandates that a missing
header has to be tolerated while a wrong header is an error.
https://bugzilla.gnome.org/show_bug.cgi?id=676020
Edward Hervey [Sat, 7 Apr 2012 07:52:09 +0000 (09:52 +0200)]
png: Port to base video classes
Conflicts:
ext/libpng/gstpngdec.c
ext/libpng/gstpngdec.h
ext/libpng/gstpngenc.c
ext/libpng/gstpngenc.h
Reverted to 0.10, needs to be ported again.
Tim-Philipp Müller [Sat, 26 May 2012 23:02:08 +0000 (00:02 +0100)]
flv, matroska: don't use GstStructure API on tag lists
Edward Hervey [Sat, 26 May 2012 09:57:16 +0000 (11:57 +0200)]
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
Andoni Morales Alastruey [Thu, 24 May 2012 18:43:16 +0000 (20:43 +0200)]
osxvideosink: make sure all selectors are performed on the same thread
When we are using a dedicated thread to run the main run loop we
must make sure that all selectors are performed on this same thread.
For instance if performSelectorOnMainThread is called from the real
main thread, it will not go through the message queue and will be
executed from the real main thread. By forcing the target thread,
we ensure that all functions will be called either from the real
main thread when the main run loop is running or from our thread
spinning the main loop.
Mathias Hasselmann [Thu, 24 May 2012 14:09:54 +0000 (16:09 +0200)]
jpegdec: remove framerate
The jpeg decoder doesn't need/care about the framerate to so it should
not be in the caps.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676302
Alessandro Decina [Thu, 24 May 2012 11:08:35 +0000 (13:08 +0200)]
osxvideosink: start the loop before calling [gstview haveSuperview]
...as haveSuperview requires the mainloop to be running
Alessandro Decina [Thu, 24 May 2012 11:08:13 +0000 (13:08 +0200)]
osxvideosink: fix indentation
Alessandro Decina [Tue, 22 May 2012 14:47:36 +0000 (16:47 +0200)]
osxvideosink: enable running the cocoa main runloop in a thread
Alessandro Decina [Tue, 22 May 2012 14:45:28 +0000 (16:45 +0200)]
osxvideosink: add code to optionally run the cocoa main runloop in a separate thread
Add a little hack to run the cocoa main runloop from a separate thread _when_
the main runloop is not being run (which means that the app doesn't use cocoa).
Runloops are thread specific, so the hack boils down to getting the runloop for
the main thread and setting it as the runloop for our dedicated thread.
Alessandro Decina [Tue, 22 May 2012 14:32:53 +0000 (16:32 +0200)]
osxvideosink: reset app_started to FALSE when shutting down
Alessandro Decina [Tue, 22 May 2012 12:49:17 +0000 (14:49 +0200)]
osxvideosink: rename cocoa runloop helper funcs
Alessandro Decina [Tue, 22 May 2012 12:26:13 +0000 (14:26 +0200)]
osxvideosink: don't create application menus
Andoni Morales Alastruey [Wed, 16 May 2012 19:52:45 +0000 (21:52 +0200)]
osxvideosink: reset the embed property for backward compatilibity
Andoni Morales Alastruey [Wed, 16 May 2012 19:12:22 +0000 (21:12 +0200)]
osxvideosink: fix navigation when force-aspect-ratio is activated
Andoni Morales Alastruey [Wed, 16 May 2012 16:52:45 +0000 (18:52 +0200)]
osxvideosink: add force-aspect-ratio property
Andoni Morales Alastruey [Mon, 14 May 2012 16:01:02 +0000 (18:01 +0200)]
osxvideosink: start internal window if no view is provided
Andoni Morales Alastruey [Mon, 14 May 2012 12:27:58 +0000 (14:27 +0200)]
osxvideosink: implement the navigation interface
Andoni Morales Alastruey [Fri, 11 May 2012 16:24:08 +0000 (18:24 +0200)]
osvideosink: create, destroy, resize and draw from the main thread
Alessandro Decina [Thu, 19 Apr 2012 06:37:28 +0000 (08:37 +0200)]
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
Alessandro Decina [Thu, 19 Apr 2012 06:31:00 +0000 (08:31 +0200)]
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.
Sebastian Rasmussen [Wed, 23 May 2012 16:12:24 +0000 (18:12 +0200)]
common: Update so the plugin scanner changes are included
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676674
Sebastian Rasmussen [Wed, 23 May 2012 16:07:35 +0000 (18:07 +0200)]
configure: suppress some warnings when debug is disabled
Warnings about unused variables should be suppressed if core has the
debug system disabled.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676671
Luis de Bethencourt [Thu, 24 May 2012 08:29:25 +0000 (09:29 +0100)]
rtp: fix build issue in gstrtph264pay.c
Jonas Holmberg [Mon, 21 May 2012 10:17:35 +0000 (12:17 +0200)]
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
Maria Giovanna Chiossa [Thu, 24 May 2012 07:57:31 +0000 (09:57 +0200)]
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
Sreerenj Balachandran [Thu, 17 May 2012 13:23:59 +0000 (16:23 +0300)]
videobox: Fix the sample pipeline.
Anton Novikov [Tue, 22 May 2012 08:35:04 +0000 (12:35 +0400)]
icydemux: warning if setting srcpad caps fails
Anton Novikov [Tue, 22 May 2012 08:35:29 +0000 (12:35 +0400)]
icydemux: activate srcpad before setting caps
Before gst_pad_set_active() is called, the pad has
FLUSHING flag set, so setting the caps fails
Luis de Bethencourt [Tue, 22 May 2012 12:46:27 +0000 (13:46 +0100)]
mng: remove ext/libmng
Port to 0.10 was never finished.
Interest was lost.
https://bugzilla.gnome.org/show_bug.cgi?id=324364
Thiago Santos [Fri, 18 May 2012 19:37:04 +0000 (16:37 -0300)]
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
Sjoerd Simons [Mon, 21 May 2012 09:47:07 +0000 (11:47 +0200)]
pulsesrc: Listen to source output events, not sink input
Mark Nauwelaerts [Fri, 18 May 2012 10:53:44 +0000 (12:53 +0200)]
rtpmp2tpay: respect mtu and packet boundaries
See #659915.
Edward Hervey [Fri, 18 May 2012 09:10:46 +0000 (11:10 +0200)]
jpeg: Remove dead code
Conflicts:
ext/jpeg/gstjpegdec.c
Sebastian Dröge [Fri, 18 May 2012 09:05:35 +0000 (11:05 +0200)]
jpegdec: Fix compilation
Edward Hervey [Fri, 18 May 2012 09:02:52 +0000 (11:02 +0200)]
jpegdec: When dropping frames on EOS, flush out data
Cleaner way of handling stray data
Edward Hervey [Thu, 17 May 2012 07:34:03 +0000 (09:34 +0200)]
jpegdec: Remove unused variable
Conflicts:
ext/jpeg/gstjpegdec.c
Edward Hervey [Thu, 17 May 2012 07:33:18 +0000 (09:33 +0200)]
jpegdec: Only parse for SOI when we didn't see it before
Edward Hervey [Thu, 17 May 2012 07:31:41 +0000 (09:31 +0200)]
jpegdec: Remember if we saw SOI and handle stray data on EOS
Youness Alaoui [Tue, 15 May 2012 20:58:25 +0000 (20:58 +0000)]
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
Tim-Philipp Müller [Mon, 14 May 2012 14:51:29 +0000 (15:51 +0100)]
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.
Sebastian Dröge [Wed, 16 May 2012 07:12:55 +0000 (09:12 +0200)]
configure: Require core/base 0.11.91
Matej Knopp [Fri, 13 Jan 2012 23:09:50 +0000 (18:09 -0500)]
.gitignore: add visual studio IDE files and OS X .DS_Store files
https://bugzilla.gnome.org/show_bug.cgi?id=667899
Sebastian Dröge [Thu, 3 May 2012 07:32:50 +0000 (09:32 +0200)]
jpeg: Port to 0.11 again
Edward Hervey [Fri, 6 Apr 2012 10:13:24 +0000 (12:13 +0200)]
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.
Tim-Philipp Müller [Sun, 13 May 2012 18:21:19 +0000 (19:21 +0100)]
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.
Sebastian Dröge [Sun, 13 May 2012 14:59:58 +0000 (16:59 +0200)]
Back to development
Sebastian Dröge [Sun, 13 May 2012 14:31:03 +0000 (16:31 +0200)]
Release 0.11.91
Sebastian Dröge [Sun, 13 May 2012 14:30:03 +0000 (16:30 +0200)]
Update .po files
Sebastian Dröge [Sun, 13 May 2012 13:56:05 +0000 (15:56 +0200)]
Automatic update of common submodule
From dc70203 to 3429ba6
Tim-Philipp Müller [Wed, 9 May 2012 14:14:55 +0000 (15:14 +0100)]
rndbuffersize: only send flush-stop if it was a flushing seek
Peter Seiderer [Wed, 9 May 2012 10:54:11 +0000 (12:54 +0200)]
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.
Tim-Philipp Müller [Wed, 9 May 2012 11:24:37 +0000 (12:24 +0100)]
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.
Tim-Philipp Müller [Wed, 9 May 2012 10:15:21 +0000 (11:15 +0100)]
rndbuffersize: port seeking code to 0.11
Tim-Philipp Müller [Tue, 8 May 2012 18:07:04 +0000 (19:07 +0100)]
rndbuffersize: add support for seeks
Useful for e.g. filesrc ! rndbuffersize ! queue2 ! ...
Tim-Philipp Müller [Tue, 8 May 2012 17:45:34 +0000 (18:45 +0100)]
rndbuffersize: send SEGMENT event before pushing buffers
Conflicts:
gst/debugutils/rndbuffersize.c
Wim Taymans [Wed, 9 May 2012 09:15:57 +0000 (11:15 +0200)]
interleave: fix compilation again
Pascal Buhler [Fri, 13 Jan 2012 09:49:43 +0000 (10:49 +0100)]
rtpsession: creation should be signaled before validation
https://bugzilla.gnome.org/show_bug.cgi?id=667850
Thiago Santos [Fri, 4 May 2012 18:20:47 +0000 (15:20 -0300)]
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
Alban Browaeys [Wed, 2 May 2012 19:17:43 +0000 (21:17 +0200)]
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
Руслан Ижбулатов [Wed, 2 May 2012 17:49:56 +0000 (21:49 +0400)]
waveform: No more gstinterfaces
Fixes #675319
Руслан Ижбулатов [Wed, 2 May 2012 16:14:24 +0000 (20:14 +0400)]
directsound: No more gstinterfaces
Fixes #675319
Tim-Philipp Müller [Tue, 1 May 2012 17:58:03 +0000 (18:58 +0100)]
videomixer: change sink pad template name from sink_%d to sink_%u
Wim Taymans [Mon, 30 Apr 2012 09:00:19 +0000 (11:00 +0200)]
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
Wim Taymans [Mon, 30 Apr 2012 08:59:31 +0000 (10:59 +0200)]
interleave: improve debugging
Sebastian Dröge [Tue, 1 May 2012 11:31:51 +0000 (13:31 +0200)]
v4l2src: Update for basesrc API changes
Tim-Philipp Müller [Mon, 30 Apr 2012 22:57:28 +0000 (23:57 +0100)]
alpha: don't set up stuff before the input and output formats are known
Fixes crash on startup.
Peter Seiderer [Mon, 30 Apr 2012 12:09:23 +0000 (14:09 +0200)]
multifilesink: don't write stream header twice for first file
Peter Seiderer [Mon, 30 Apr 2012 11:32:41 +0000 (13:32 +0200)]
multifilesink: fix buffer list size calculation in render_list
Fix uninitialized 'size' variable in call to gst_buffer_list_foreach().
Luis de Bethencourt [Mon, 30 Apr 2012 20:58:00 +0000 (21:58 +0100)]
multifile: unnecessary size check
Luis de Bethencourt [Mon, 30 Apr 2012 20:30:56 +0000 (21:30 +0100)]
avi: fix build errors
fix redundant declarations
and also style/indent issues
Vincent Penquerc'h [Thu, 26 Apr 2012 11:47:27 +0000 (12:47 +0100)]
matroska: implement forward snapping keyframe seeking
Requires an index.
Vincent Penquerc'h [Thu, 26 Apr 2012 11:46:11 +0000 (12:46 +0100)]
avi: implement forward snapping keyframe seeking
In pull mode with an index.
Tim-Philipp Müller [Sat, 28 Apr 2012 22:14:24 +0000 (23:14 +0100)]
tests: fix matroskamux unit test after media type changes
Tim-Philipp Müller [Sat, 28 Apr 2012 18:57:51 +0000 (19:57 +0100)]
matroska: update for media type changes
idc-dragon [Tue, 24 Apr 2012 14:08:47 +0000 (16:08 +0200)]
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
Wim Taymans [Tue, 24 Apr 2012 13:57:19 +0000 (15:57 +0200)]
pulsesink: improve debug
Wim Taymans [Tue, 24 Apr 2012 13:34:57 +0000 (15:34 +0200)]
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
Wim Taymans [Wed, 25 Apr 2012 07:41:46 +0000 (09:41 +0200)]
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.
Wim Taymans [Tue, 24 Apr 2012 10:37:33 +0000 (12:37 +0200)]
v4l2: use driver timestamps
Use the drive timestamps for timestamping outgoing buffers.
Wim Taymans [Mon, 23 Apr 2012 16:01:31 +0000 (18:01 +0200)]
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.
Wim Taymans [Mon, 23 Apr 2012 14:51:28 +0000 (16:51 +0200)]
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.
Wim Taymans [Mon, 23 Apr 2012 14:10:17 +0000 (16:10 +0200)]
v4l2: mark memory as no-share
We don't support sharing our mmapped memory so mark it as NO_SHARE.
Wim Taymans [Mon, 23 Apr 2012 14:09:55 +0000 (16:09 +0200)]
v4l2: remove old unused file
Wim Taymans [Mon, 23 Apr 2012 11:32:48 +0000 (13:32 +0200)]
v4l2: remove unused function
Bastien Nocera [Wed, 11 Apr 2012 11:42:17 +0000 (12:42 +0100)]
soup: Handle icy and icyx URI schemes
As handled by QuickTime (for icy), and Orban/Coding Technologies
AAC/aacPlus Player (for icyx). See also:
https://bugzilla.gnome.org/show_bug.cgi?id=394207
https://bugzilla.gnome.org/show_bug.cgi?id=403285
https://bugzilla.gnome.org/show_bug.cgi?id=673899
Mart Raudsepp [Mon, 23 Apr 2012 07:03:19 +0000 (10:03 +0300)]
docs: Add Since tag for new GstV4l2Src::prepare-format signal