Commit graph

17476 commits

Author SHA1 Message Date
Sebastian Dröge 9bcc1aa274 intervideo: Add support for arbitrary video formats 2014-10-22 19:31:31 +02:00
Sebastian Dröge 1363a244a0 inter: Truncate the caps as part of the fixating 2014-10-22 19:28:48 +02:00
Sebastian Dröge 04dbd095a1 interaudio: Fix timestamp, latency and period handling 2014-10-22 19:09:15 +02:00
Sebastian Dröge 8c5a8c76f6 interaudio: Use GST_DEBUG_OBJECT() instead of GST_DEBUG() 2014-10-22 19:09:15 +02:00
Sebastian Dröge 6f72e8ceab interaudio: Properly pass through caps from the sink to the source
Otherwise a magic capsfilter after the source is required with
exactly the same caps as the input.
2014-10-22 19:09:15 +02:00
Sebastian Dröge 211a39e55e inter: Clean up surfaces after the last user is gone 2014-10-22 19:09:15 +02:00
Sebastian Dröge f3ce87d1bd inter: Whitespace cleanup 2014-10-22 19:09:15 +02:00
Sebastian Dröge b7ed4e9355 intervideo: Properly pass through caps from the sink to the source
Otherwise a magic capsfilter after the source is required with
exactly the same caps as the input.

This would've failed before with invalid buffer sizes:
gst-launch-1.0 videotestsrc ! intervideosink  intervideosrc ! "video/x-raw,width=640,height=480" ! xvimagesink
2014-10-22 19:09:01 +02:00
Sebastian Dröge 1dd83ca6ee rawparse: Check for 0-size after adjusting the size for the frame size
If we don't have a complete raw audio frame we would otherwise still
ask for a 0 sized buffer from the adapter.
2014-10-22 15:07:04 +02:00
Sebastian Dröge ee0ccf64c5 rawparse: Don't try to retrieve 0 byte buffers from the adapter in multi-frame mode 2014-10-22 14:44:20 +02:00
Tim-Philipp Müller 871ec4693c configure: improve openh264 check
The openh264 API is still unstable, so check for
structure member that we need to prevent building
against an older incompatible version.
2014-10-22 13:03:30 +01:00
Tim-Philipp Müller 6c8446ffa6 configure: simplify openh264 check
Of course PTHREADS_CFLAGS is not used anywhere now
for the check, but that was the case before as well.
2014-10-22 12:36:36 +01:00
Sebastian Dröge af6e2228b2 gl/cocoa: Fix compiler warning
gstglwindow_cocoa.m: In function '-[GstGLNSView drawRect:]':
gstglwindow_cocoa.m:555: warning: 'GstGLNSView' may not respond to '-reshape'
gstglwindow_cocoa.m:555: warning: (Messages without a matching method signature
gstglwindow_cocoa.m:555: warning: will be assumed to return 'id' and accept
gstglwindow_cocoa.m:555: warning: '...' as arguments.)
2014-10-21 16:22:06 +02:00
Sebastian Dröge 68c067e3c9 vtenc: Fix locking
The object lock only protects the session, as we modify
the session from other threads when the bitrate property
is changed. Don't hold it much longer than for session
related things.

And we need to release the video decoder stream lock before
enqueueing a frames. It might wait for our callback to dequeue
a frame from another thread, which will then take the stream
lock too and deadlock.
2014-10-21 16:22:06 +02:00
Tim-Philipp Müller 42fe743a8d Automatic update of common submodule
From a8c8939 to 84d06cd
2014-10-21 13:01:45 +01:00
Stefan Sauer 27d6a70acc configure: use a macro to check for pthread
Replace the hardcoded -lpthread in most of the places with $PTHREAD_LIBS. For
openh264 also add $PTHREAD_LIBS to OPENH264_LIBS until upstream ships a .pc
file.
2014-10-21 13:43:03 +02:00
Stefan Sauer fc419662e2 Automatic update of common submodule
From 36388a1 to a8c8939
2014-10-21 12:58:39 +02:00
Matthieu Bouron 7fb584b087 hlsdemux: reset end_of_playlist attribute when we receive a seek
https://bugzilla.gnome.org/show_bug.cgi?id=738696
2014-10-21 12:55:42 +02:00
Vineeth T M aec1f2a001 audiomixer: critical error for blocksize, timeout min/max values
Audiomixer blocksize, cant be 0, hence adjusting the minimum value to 1
timeout value of aggregator is defined with MAX of MAXINT64,
but it cannot cross G_MAXLONG * GST_SECOND - 1
Hence changed the max value of the same

https://bugzilla.gnome.org/show_bug.cgi?id=738845
2014-10-21 10:58:48 +02:00
Matthew Waters 73a484d500 glmixer: fixup eglimage include path 2014-10-21 06:04:10 +11:00
Matthew Waters 75413ae9aa videoaggregator: fixate the parts of the caps we don't know how to deal with
fixes glvideomixer with video/x-raw,width=foo i.e. no format field.
2014-10-21 02:53:02 +11:00
Matthew Waters 2e49c99db3 glbufferpool: add the GstVideoGLTextureUploadMeta buffer pool option 2014-10-21 02:00:09 +11:00
Matthew Waters f0caf04ad6 videoaggregator: operate on caps rather than video info
Otherwise the CapsFeatures will be lost along with the possibility
of multiple output types and formats.

https://bugzilla.gnome.org/show_bug.cgi?id=738129
2014-10-21 01:14:36 +11:00
Aurélien Zanelli 4cc6c7fe3b vc1parse: introduce a helper to make sequence-layer
It will be useful to implement stream-format conversion.

https://bugzilla.gnome.org/show_bug.cgi?id=738526
2014-10-20 13:17:57 +02:00
Brendan Long eee5110fb4 gl: Check for GLU before trying to use it in configure.ac
https://bugzilla.gnome.org/show_bug.cgi?id=738816
2014-10-20 13:05:27 +02:00
Wang Xin-yu (王昕宇) 5eb538f9e2 glcolorconvert: support RGB16/BGR16 video format upload
https://bugzilla.gnome.org/show_bug.cgi?id=738842
2014-10-20 12:55:39 +02:00
Aurélien Zanelli 81c5fd3c1e vc1parser: fix expected level in sequence-layer parsing unit test
Sequence-layer used for unit test have a level set to 2 which should
match the medium level, not the high.

https://bugzilla.gnome.org/show_bug.cgi?id=738230
2014-10-20 12:40:54 +02:00
Aurélien Zanelli de327bf45b vc1parser: fix level values for simple/main profile
In simple profile, level set to 0 or 2 indicate low and medium level
respectively. In main profile, level set to 0, 2 or 4 indicate low,
medium and high level respectively.

Level values are defined in Annex J.1.2 of the SMPTE 421M.

https://bugzilla.gnome.org/show_bug.cgi?id=738230
2014-10-20 12:40:54 +02:00
Tim-Philipp Müller 2cd4f5d0c1 tsdemux: send initial GAP event on sparse streams for faster startup with playbin
Signal sparse streams properly in stream-start event and force sending
of pending sticky events which have been stored on the pad already and
which otherwise would only be sent on the first buffer or serialized
event (which means very late in case of subtitle streams). Playsink in
playbin waits for stream-start or another serialized event, and if we
don't do this it will wait for the multiqueue to run full before
starting playback, which might take a couple of seconds.

https://bugzilla.gnome.org/show_bug.cgi?id=734040
2014-10-20 12:32:19 +02:00
Edward Hervey b59a9262c0 tsdemux: GAP detection
All pads of a stream are now added at the beginning. In order to cope with
streams that don't get any data (forever or for a long time) we detect gaps
and push out GAP events when needed.

Cleanups and commenting by Jan Schmidt <jan@centricular.com>

https://bugzilla.gnome.org/show_bug.cgi?id=734040
2014-10-20 12:32:10 +02:00
Aurélien Zanelli 89455b7106 vc1parse: select caps according to wmv format at negotiation
Some VC1 decoder can have different caps according to wmv format, ie
WMV3 or WVC1.
So instead of keeping the first available caps, we interserct with
current WMV format.

https://bugzilla.gnome.org/show_bug.cgi?id=738532
2014-10-20 12:18:50 +02:00
Stefan Sauer ca5971850d configure: add pthread to the configure check for openh264 2014-10-20 11:22:54 +02:00
Sebastian Dröge a4d8efde0f rtmpsink: Declare sink variable that was forgotten in last commit 2014-10-20 09:47:27 +02:00
Havard Graff a1e948cddd rtmpsink: Free URI string in finalize()
https://bugzilla.gnome.org/show_bug.cgi?id=738674
2014-10-20 09:36:40 +02:00
Brion Vibber 88b19bcf99 gl/cocoa: Fix for building on Mac OS X 10.10
Using NSApp directly seems to confuse something, as the compiler
was expecting an id<NSFileManagerDelegate>. Switched to using
[NSApplication sharedApplication], and specified the delegate
protocol on the window class as well.

https://bugzilla.gnome.org/show_bug.cgi?id=738740
2014-10-19 20:01:55 +02:00
Sebastian Dröge ad649138aa vtenc: Use kVTProfileLevel_H264_Baseline_AutoLevel only on iOS
It is not required on OSX apparently and was only added in 10.9.6 there.
Calculating the correct level from the configuration is not trivial, so let's
just not set a level at all here.
2014-10-19 14:57:43 +02:00
Sebastian Dröge b57f255f26 vtenc: VTCompressionSessionPrepareToEncodeFrames only exists since 10.9.6
Check with configure for it instead of using one of the availability macros
as those wouldn't work as expected with minor versions.
2014-10-19 14:51:40 +02:00
Sebastian Dröge e79355078e vtenc: Remove unused #define 2014-10-19 14:32:31 +02:00
Sebastian Dröge fff292438c rtpbad: Fix make dist by removing non-existing file from EXTRA_DIST
It's used by the rtp plugin in gst-plugins-good for VP8 but not needed
or used here.
2014-10-19 13:44:38 +02:00
Thijs Vermeir a7ec281c43 rtpbad: include plugins base cflags (fix build on jenkins) 2014-10-17 16:51:27 +02:00
Thijs Vermeir 293522d418 rtp: add h265 RTP payloader + depayloader 2014-10-17 10:40:24 +02:00
Stefan Sauer 24fd4cd74c curlbasesink: strip newlines from curl debug messages
The messages we receive in the custom log handler might end with a newline and
are not \0 terminated. Copy the messages, trim and terminate them.
2014-10-16 14:12:19 +02:00
Stefan Sauer 9b459b52f6 curlbasesink: small code cleanup
Use a local var and save a local var.
2014-10-16 14:12:19 +02:00
Thijs Vermeir fb9248b8ea tests/x265enc: add simple unit test 2014-10-15 17:11:47 +02:00
Thijs Vermeir f241294662 x265enc: add x265 encoder element 2014-10-15 17:11:39 +02:00
Matthew Waters 771b94b3ca gldeinterlace: ref the uploaded buffer
Instead of the possibly non-GL input buffer.
2014-10-14 16:54:01 +02:00
Matthew Waters 4b019ba268 glfilter: add uploaded_buffer field 2014-10-14 16:54:01 +02:00
Aurélien Zanelli 6375fce925 vc1parse: parse frame header when stream format is ASF/raw for simple/main profile
When stream-format is ASF or sequence-layer-raw-frame, we basically have
a raw frame so we can parse it to extract some information such the
keyframe flag. The only requirement is to have a valid sequence-header.

This commit parse the frame header and set the DELTA_UNIT buffer flag in
case the frame is not a keyframe.

https://bugzilla.gnome.org/show_bug.cgi?id=738519
2014-10-14 14:02:30 +02:00
Sebastian Dröge 981b5595d9 libde265: Change rank to SECONDARY, gst-libav has PRIMARY rank 2014-10-14 10:51:22 +02:00
Joachim Bauch 51fc68e196 Integrate libde265 into gst-plugins-bad. 2014-10-14 10:48:27 +02:00