platform/upstream/gstreamer.git
11 years agoavfvideosrc: fix checks for HAVE_IOS
Andoni Morales Alastruey [Thu, 7 Nov 2013 00:38:20 +0000 (01:38 +0100)]
avfvideosrc: fix checks for HAVE_IOS

11 years agoavfvideosrc: include config.h
Andoni Morales Alastruey [Thu, 7 Nov 2013 00:37:38 +0000 (01:37 +0100)]
avfvideosrc: include config.h

11 years agoavfvideosrc: add more debug
Andoni Morales Alastruey [Wed, 6 Nov 2013 17:53:25 +0000 (18:53 +0100)]
avfvideosrc: add more debug

11 years agoavfvideosrc: fix compilation with gcc
Andoni Morales Alastruey [Wed, 6 Nov 2013 17:50:46 +0000 (18:50 +0100)]
avfvideosrc: fix compilation with gcc

The synthesize block needs to be moved to fix a compiler error

11 years agoavfvideosrc: sort caps with the highest resolution first
Andoni Morales Alastruey [Wed, 6 Nov 2013 17:49:35 +0000 (18:49 +0100)]
avfvideosrc: sort caps with the highest resolution first

When started without any caps filter we prefer the highest
supported resolution.

11 years agoavfvideosrc: support screen capture on OSX
Matthieu Bouron [Mon, 4 Nov 2013 11:14:35 +0000 (11:14 +0000)]
avfvideosrc: support screen capture on OSX

https://bugzilla.gnome.org/show_bug.cgi?id=711432

11 years agoavfvideosrc: minor cosmetic
Matthieu Bouron [Thu, 31 Oct 2013 13:05:40 +0000 (13:05 +0000)]
avfvideosrc: minor cosmetic

11 years agoavfvideosrc: use input device formats to set/get caps if available
Matthieu Bouron [Thu, 31 Oct 2013 13:03:58 +0000 (13:03 +0000)]
avfvideosrc: use input device formats to set/get caps if available

https://bugzilla.gnome.org/show_bug.cgi?id=711211

11 years agoavfvideosrc: update caps if frame size has changed
Matthieu Bouron [Tue, 29 Oct 2013 15:37:16 +0000 (15:37 +0000)]
avfvideosrc: update caps if frame size has changed

On OSX, setting the pixel format on the output reset the capture device
to its native resolution, so we need to update the caps if the output
frame size has changed before a proper solution is found.

11 years agoavfvideosrc: check if low preset is available
Matthieu Bouron [Tue, 29 Oct 2013 15:36:06 +0000 (15:36 +0000)]
avfvideosrc: check if low preset is available

11 years agoavfvideosrc: use a dedicated queue for AVFoundation calls
Matthieu Bouron [Mon, 28 Oct 2013 18:22:13 +0000 (18:22 +0000)]
avfvideosrc: use a dedicated queue for AVFoundation calls

Replace the main queue with a dedicated queue for AVFoundation calls
so the execution on this queue won't block if the main queue
is not running.

11 years agoavfvideosrc: remove trailing space
Matthieu Bouron [Tue, 29 Oct 2013 17:33:11 +0000 (17:33 +0000)]
avfvideosrc: remove trailing space

11 years agoavfvideosrc: dispatch AVFoundation calls synchronously in the main queue
Matthieu Bouron [Wed, 30 Oct 2013 14:51:50 +0000 (14:51 +0000)]
avfvideosrc: dispatch AVFoundation calls synchronously in the main queue

11 years agoapplemedia: enable avfvideosrc if AVFoundation is present
Matthieu Bouron [Wed, 30 Oct 2013 12:40:01 +0000 (12:40 +0000)]
applemedia: enable avfvideosrc if AVFoundation is present

11 years agoavfvideosrc: only enable 1920x1080 preset on iOS
Matthieu Bouron [Wed, 30 Oct 2013 12:39:24 +0000 (12:39 +0000)]
avfvideosrc: only enable 1920x1080 preset on iOS

11 years agoconfigure.ac: detect presence of AVFoundation
Matthieu Bouron [Mon, 28 Oct 2013 11:20:27 +0000 (11:20 +0000)]
configure.ac: detect presence of AVFoundation

11 years agoapplemedia: port avfvideosrc to 1.0
Matthieu Bouron [Mon, 28 Oct 2013 11:53:26 +0000 (11:53 +0000)]
applemedia: port avfvideosrc to 1.0

11 years agoaudiomixer: Add unit test for handling unaligned buffers
Sebastian Dröge [Thu, 7 Nov 2013 13:12:17 +0000 (14:12 +0100)]
audiomixer: Add unit test for handling unaligned buffers

That is, buffers that start or end in the middle of an output block.

11 years agoaudiomixer: Fix EOS handling if we have some pending data
Sebastian Dröge [Thu, 7 Nov 2013 13:12:00 +0000 (14:12 +0100)]
audiomixer: Fix EOS handling if we have some pending data

11 years agoaudiomixer: Add test for the discont handling
Sebastian Dröge [Thu, 7 Nov 2013 12:57:35 +0000 (13:57 +0100)]
audiomixer: Add test for the discont handling

11 years agoaudiomixer: Refactor sync test to be more reusable
Sebastian Dröge [Thu, 7 Nov 2013 12:55:32 +0000 (13:55 +0100)]
audiomixer: Refactor sync test to be more reusable

11 years agoaudiomixer: Remove some racy-ness from the unit test
Sebastian Dröge [Thu, 7 Nov 2013 12:48:06 +0000 (13:48 +0100)]
audiomixer: Remove some racy-ness from the unit test

We might already be EOS when we start the mainloop, so only
set the pipeline to PLAYING from the main loop.

11 years agocodecparsers: Remove some unused functions
Sebastian Dröge [Thu, 7 Nov 2013 08:54:40 +0000 (09:54 +0100)]
codecparsers: Remove some unused functions

11 years agocamerabin: Make sure video-done is post only when file is closed
Thiago Santos [Thu, 7 Nov 2013 01:13:13 +0000 (22:13 -0300)]
camerabin: Make sure video-done is post only when file is closed

Force filesink to null before posting video-done to make sure the
file was closed.

Had to do it from a separate thread to avoid calling state_change from
a sync message handler.

https://bugzilla.gnome.org/show_bug.cgi?id=709373

11 years agowin32: add new codecparser API to .def file
Tim-Philipp Müller [Wed, 6 Nov 2013 23:11:14 +0000 (23:11 +0000)]
win32: add new codecparser API to .def file

11 years agovideoparsers: add H.265 HEVC video parser element
Sreerenj Balachandran [Wed, 9 Oct 2013 07:54:14 +0000 (10:54 +0300)]
videoparsers: add H.265 HEVC video parser element

https://bugzilla.gnome.org/show_bug.cgi?id=708438

11 years agocodecparsers: add H.265 HEVC bitstream parser
Sreerenj Balachandran [Tue, 1 Oct 2013 10:39:41 +0000 (13:39 +0300)]
codecparsers: add H.265 HEVC bitstream parser

https://bugzilla.gnome.org/show_bug.cgi?id=708438

11 years agoaiffparse: fix seeking in push mode
Wim Taymans [Tue, 5 Nov 2013 11:43:44 +0000 (12:43 +0100)]
aiffparse: fix seeking in push mode

11 years agoaudiomixer: Don't take channel mask in consideration in mono or stereo
Sebastian Dröge [Wed, 6 Nov 2013 14:50:08 +0000 (15:50 +0100)]
audiomixer: Don't take channel mask in consideration in mono or stereo

This could cause negotiation to fail.

https://bugzilla.gnome.org/show_bug.cgi?id=708633

11 years agoaudiomixer: Add test to the .gitignore file
Sebastian Dröge [Wed, 6 Nov 2013 14:31:31 +0000 (15:31 +0100)]
audiomixer: Add test to the .gitignore file

11 years agoaudiomixer: Add simply synchronization test
Sebastian Dröge [Wed, 6 Nov 2013 14:18:58 +0000 (15:18 +0100)]
audiomixer: Add simply synchronization test

11 years agoaudiomixer: Add new element based on adder that does synchronized audio mixing
Sebastian Dröge [Wed, 6 Nov 2013 14:18:50 +0000 (15:18 +0100)]
audiomixer: Add new element based on adder that does synchronized audio mixing

11 years agoAutomatic update of common submodule
Tim-Philipp Müller [Tue, 5 Nov 2013 11:19:37 +0000 (11:19 +0000)]
Automatic update of common submodule

From 865aa20 to dbedaa0

11 years agoeglglessink: Query upstream first to get a EGLDisplay
Sebastian Dröge [Mon, 4 Nov 2013 18:58:35 +0000 (19:58 +0100)]
eglglessink: Query upstream first to get a EGLDisplay

11 years agoapplemedia-nonpublic: Link with gmodule for g_module_open() and others
Sebastian Dröge [Mon, 4 Nov 2013 09:04:59 +0000 (10:04 +0100)]
applemedia-nonpublic: Link with gmodule for g_module_open() and others

11 years agoapplemedia: Link with gmodule for g_module_open() and others
Sebastian Dröge [Mon, 4 Nov 2013 09:04:42 +0000 (10:04 +0100)]
applemedia: Link with gmodule for g_module_open() and others

11 years agoconfigure: Always define AM_CONDITIONAL USE_EGLGLES
Sebastian Dröge [Fri, 1 Nov 2013 21:32:32 +0000 (22:32 +0100)]
configure: Always define AM_CONDITIONAL USE_EGLGLES

11 years agocurl: curlsftpsink - new libcurl-based sink element for SFTP
L. Sorin [Fri, 4 Oct 2013 10:48:10 +0000 (12:48 +0200)]
curl: curlsftpsink - new libcurl-based sink element for SFTP

Note: SFTP = SSH File Transfer Protocol
The sink acts as a client and uploads data to the SFTP server.

https://bugzilla.gnome.org/show_bug.cgi?id=709795

11 years agocdaudio: Remove cdaudio plugin
Reynaldo H. Verdejo Pinochet [Thu, 31 Oct 2013 20:36:25 +0000 (13:36 -0700)]
cdaudio: Remove cdaudio plugin

This element is being removed due to it been
considered obsolete and the functionaily it
provides no longer needed.

Details on the decision can be found here:

https://bugzilla.gnome.org/show_bug.cgi?id=711223

Fixes:

https://bugzilla.gnome.org/show_bug.cgi?id=711232

11 years agoyadif: Fix compiler warning caused by specifying const twice
Sebastian Dröge [Fri, 1 Nov 2013 09:41:16 +0000 (10:41 +0100)]
yadif: Fix compiler warning caused by specifying const twice

  yadif.c:49:24: warning: duplicate 'const' declaration specifier [-Wduplicate-decl-specifier]
  DECLARE_ASM_CONST (16, const xmm_reg, pb_1) = {
                       ^
  yadif.c:33:50: note: expanded from macro 'DECLARE_ASM_CONST'
  #define DECLARE_ASM_CONST(n,t,v)    static const t __attribute__((used)) __attribute__ ((aligned (n))) v
                                                 ^
  yadif.c:52:24: warning: duplicate 'const' declaration specifier [-Wduplicate-decl-specifier]
  DECLARE_ASM_CONST (16, const xmm_reg, pw_1) = {
                       ^
  yadif.c:33:50: note: expanded from macro 'DECLARE_ASM_CONST'
  #define DECLARE_ASM_CONST(n,t,v)    static const t __attribute__((used)) __attribute__ ((aligned (n)))

11 years agoyadif: Fix build with XCode
Sebastian Dröge [Fri, 1 Nov 2013 09:40:06 +0000 (10:40 +0100)]
yadif: Fix build with XCode

https://bugzilla.gnome.org/show_bug.cgi?id=710451

11 years agoh264parse: Remove the explicit PAR calculation based on VUI headers
Sreerenj Balachandran [Mon, 28 Oct 2013 13:04:16 +0000 (15:04 +0200)]
h264parse: Remove the explicit PAR calculation based on VUI headers

The PAR calculation based on VUI headers is already doing by the
h264 codecparser and we does't need to duplicate those code.

https://bugzilla.gnome.org//show_bug.cgi?id=711009

11 years agorotate: Fix angle property help text
Antonio Ospite [Thu, 17 Oct 2013 10:05:44 +0000 (12:05 +0200)]
rotate: Fix angle property help text

The help text of the angle property was probably copied from the circle
plugin, fix it to mention the rotation determined by the angle.

https://bugzilla.gnome.org/show_bug.cgi?id=710391

11 years agocdaudio: port to 1.X
Reynaldo H. Verdejo Pinochet [Thu, 31 Oct 2013 01:48:08 +0000 (18:48 -0700)]
cdaudio: port to 1.X

https://bugzilla.gnome.org/show_bug.cgi?id=711223

11 years agoandroidmedia: fix rank for more software decoders
Andoni Morales Alastruey [Wed, 30 Oct 2013 17:25:50 +0000 (18:25 +0100)]
androidmedia: fix rank for more software decoders

In Galaxy S4 the codecs list contains some OMX.SEC.foo.sw.dec
as software decoders

https://bugzilla.gnome.org/show_bug.cgi?id=711214

11 years agogeometrictransform: Fix setting black background for AYUV buffers
Antonio Ospite [Thu, 17 Oct 2013 10:53:31 +0000 (12:53 +0200)]
geometrictransform: Fix setting black background for AYUV buffers

When the frame buffer is AYUV writing all zeros does not set it to
black, in YUV colorspace 0x10 is the black level for luminance and 0x80
is the black level for chrominance.

Fix setting the background to black when the out_frame format is AYUV;
in all the other supported formats zeroing the data with memset is still
the right thing to do.

https://bugzilla.gnome.org/show_bug.cgi?id=710392

11 years agoapplemedia-nonpublic: fix plugin name
Matthieu Bouron [Wed, 23 Oct 2013 22:34:27 +0000 (23:34 +0100)]
applemedia-nonpublic: fix plugin name

https://bugzilla.gnome.org/show_bug.cgi?id=711135

11 years agovtenc: use proper release callback type in CVPixelBufferCreateWithPlanarBytes
Matthieu Bouron [Wed, 23 Oct 2013 16:22:16 +0000 (17:22 +0100)]
vtenc: use proper release callback type in CVPixelBufferCreateWithPlanarBytes

https://bugzilla.gnome.org/show_bug.cgi?id=711140

11 years agoavfvideosrc: fix truncated line
Matthieu Bouron [Fri, 20 Sep 2013 23:20:36 +0000 (00:20 +0100)]
avfvideosrc: fix truncated line

https://bugzilla.gnome.org/show_bug.cgi?id=710657

11 years agoeglglessink: remove unused functions in the eagl backend
Andoni Morales Alastruey [Wed, 30 Oct 2013 15:20:56 +0000 (16:20 +0100)]
eglglessink: remove unused functions in the eagl backend

https://bugzilla.gnome.org/show_bug.cgi?id=711159

11 years agoandroidmedia: fix access to invalid buffers in the decoding loop
Andoni Morales Alastruey [Fri, 18 Oct 2013 09:54:12 +0000 (11:54 +0200)]
androidmedia: fix access to invalid buffers in the decoding loop

Flushing the decoder invalidates all buffers, so it should be done
after quiting the decoding loop. Otherwise we can jump into
"failed_release" and stop everything

https://bugzilla.gnome.org/show_bug.cgi?id=711156

11 years agoh264parse: Unify value setting
Edward Hervey [Mon, 28 Oct 2013 08:33:47 +0000 (09:33 +0100)]
h264parse: Unify value setting

the initial par_n = par_d = 0; was always overwritten since the switch/case
handles all values

And remove the 0 case (it's the same handling as default)

11 years agoh264parse: Avoid ending up with undefined values
Edward Hervey [Mon, 28 Oct 2013 08:33:16 +0000 (09:33 +0100)]
h264parse: Avoid ending up with undefined values

If caps aren't fixed, we'd end up with undefined values for format
and align.

11 years agotsdemux: Demote GST_ERROR to GST_WARNING
Edward Hervey [Fri, 11 Oct 2013 09:23:16 +0000 (11:23 +0200)]
tsdemux: Demote GST_ERROR to GST_WARNING

discontinuities are not errors per-se and we handle them correctly.

11 years agohlsdemux: fix memory leak in gst_hls_demux_get_next_fragment
Alex Ashley [Fri, 25 Oct 2013 10:11:30 +0000 (11:11 +0100)]
hlsdemux: fix memory leak in gst_hls_demux_get_next_fragment

This patch fixes three memory leaks in hlsdemux, one that occurs
during normal operation and two that occur during error conditions.

The gst_hls_demux_get_next_fragment function calls
gst_fragment_get_buffer which increments the reference count
on the buffer but gst_hls_demux_get_next_fragment never calls unref on
the buffer. This means that the reference count for each downloaded
fragment never gets to zero and so its memory is never released.

This patch adds a call to gst_buffer_unref after the flags have been
updated on the buffer.

There is a leak-on-error in gst_hls_demux_decrypt_fragment if it fails
to download the key file. If the key fails to download, null is
returned without doing an unref on the encrypted fragment. The
semantics of gst_hls_demux_decrypt_fragment is that it takes ownership
of the encrypted fragment and releases it before returning.

There is a leak-on-error in gst_hls_src_buf_to_utf8_playlist in the
unlikely event that the gst_buffer_map fails. In the "happy path"
operation of gst_hls_src_buf_to_utf8_playlist the buffer gets an unref
before the function returns, therefore the error condition must do the
same.

https://bugzilla.gnome.org/show_bug.cgi?id=710881

11 years agompegtsmux: fix uninitialized variable warning
Matthieu Bouron [Wed, 23 Oct 2013 16:11:20 +0000 (17:11 +0100)]
mpegtsmux: fix uninitialized variable warning

https://bugzilla.gnome.org/show_bug.cgi?id=710759

11 years agompegtsdemux: fix uninitialized variable warning
Matthieu Bouron [Wed, 23 Oct 2013 15:58:49 +0000 (16:58 +0100)]
mpegtsdemux: fix uninitialized variable warning

https://bugzilla.gnome.org/show_bug.cgi?id=710759

11 years agoandroidmedia: make gst_amc_avc_profile_from_string recognize alt name
Chen Jie [Fri, 18 Oct 2013 02:12:56 +0000 (10:12 +0800)]
androidmedia: make gst_amc_avc_profile_from_string recognize alt name

https://bugzilla.gnome.org/show_bug.cgi?id=710433

11 years agopitch: Fix inverted condition in setcaps
Olivier Crête [Sat, 12 Oct 2013 20:04:25 +0000 (16:04 -0400)]
pitch: Fix inverted condition in setcaps

11 years agompegtspacketizer: Skip packets with corrupted length
Edward Hervey [Fri, 11 Oct 2013 08:32:52 +0000 (10:32 +0200)]
mpegtspacketizer: Skip packets with corrupted length

This is similar to what we do for packets with payload

11 years agotsdemux: Refactor language tag extraction
Edward Hervey [Fri, 11 Oct 2013 08:29:20 +0000 (10:29 +0200)]
tsdemux: Refactor language tag extraction

subtitling descriptor needs to be used with a different method to extract
language codes.

11 years agompegts: Add support for parsing DVB Subtitling descriptor (0x59)
Edward Hervey [Fri, 11 Oct 2013 08:21:25 +0000 (10:21 +0200)]
mpegts: Add support for parsing DVB Subtitling descriptor (0x59)

Essentially works in the same vein as the iso639 descriptor code

11 years agompegts: Fix assertion fault in ISO 639 parsing
Jesper Larsen [Thu, 10 Oct 2013 20:46:48 +0000 (22:46 +0200)]
mpegts: Fix assertion fault in ISO 639 parsing

https://bugzilla.gnome.org/show_bug.cgi?id=709180

11 years agospeed: Fix some bytes-per-frame vs. bytes-per-sample mixups
Sebastian Dröge [Wed, 9 Oct 2013 15:18:41 +0000 (17:18 +0200)]
speed: Fix some bytes-per-frame vs. bytes-per-sample mixups

Otherwise we will crash when handling multiple channels and
miscalculate timestamps.

https://bugzilla.gnome.org/show_bug.cgi?id=709734

11 years agoconfigure: Make sure to try window-system-agnostic EGL if nothing was auto-detected
Sebastian Dröge [Tue, 8 Oct 2013 09:10:49 +0000 (11:10 +0200)]
configure: Make sure to try window-system-agnostic EGL if nothing was auto-detected

11 years agompegpsdemux: log time format as name instead of the number
Stefan Sauer [Tue, 8 Oct 2013 05:56:11 +0000 (07:56 +0200)]
mpegpsdemux: log time format as name instead of the number

11 years agoegl: Allow disabling gstreamer-egl library
Gilles Dartiguelongue [Sun, 6 Oct 2013 15:37:38 +0000 (17:37 +0200)]
egl: Allow disabling gstreamer-egl library

https://bugzilla.gnome.org/show_bug.cgi?id=709531

11 years agotsdemux: Use mpegts-lib for ISO 639 language tags
Jesper Larsen [Sat, 5 Oct 2013 12:45:33 +0000 (14:45 +0200)]
tsdemux: Use mpegts-lib for ISO 639 language tags

https://bugzilla.gnome.org/show_bug.cgi?id=709180

11 years agotsdemux: Return descriptor in get_descriptor
Jesper Larsen [Sat, 5 Oct 2013 12:45:32 +0000 (14:45 +0200)]
tsdemux: Return descriptor in get_descriptor

https://bugzilla.gnome.org/show_bug.cgi?id=709180

11 years agompegts: Add ISO 639 parsing functions
Jesper Larsen [Sat, 5 Oct 2013 12:45:31 +0000 (14:45 +0200)]
mpegts: Add ISO 639 parsing functions

https://bugzilla.gnome.org/show_bug.cgi?id=709180

11 years agodvdspu: handle sticky dvd events
Matej Knopp [Fri, 4 Oct 2013 22:00:52 +0000 (00:00 +0200)]
dvdspu: handle sticky dvd events

palette-changed events are now sticky.

https://bugzilla.gnome.org/show_bug.cgi?id=709454

11 years agohlsdemux: Small improvement on always valid if condition
Thiago Santos [Thu, 3 Oct 2013 10:57:17 +0000 (07:57 -0300)]
hlsdemux: Small improvement on always valid if condition

No need to check for !cancelled as the above if guarantees it
to be true

11 years agohlsdemux: Do not call _stop holding the updates lock
Thiago Santos [Thu, 3 Oct 2013 10:56:21 +0000 (07:56 -0300)]
hlsdemux: Do not call _stop holding the updates lock

It will cause a deadlock and the calers for _get_next_fragment
will already call _stop if required when _get_next_fragment fails.

Fixes #690148

11 years agodashdemux: Improve if cause readability
Greg Rutz [Wed, 12 Jun 2013 16:50:51 +0000 (10:50 -0600)]
dashdemux: Improve if cause readability

Fixed up the error-handling code when downloading fragments.
Modifed the error-handling code to use positive logic when
testing for cancellation of the download loop.

https://bugzilla.gnome.org/show_bug.cgi?id=701404

11 years agodashdemux: actually return true on latency query
Thiago Santos [Thu, 26 Sep 2013 20:05:24 +0000 (17:05 -0300)]
dashdemux: actually return true on latency query

Do not forget to set the return for latency query

11 years agodashdemux: stop fetching live fragments that don't yet exist
Alex Ashley [Thu, 26 Sep 2013 19:13:33 +0000 (16:13 -0300)]
dashdemux: stop fetching live fragments that don't yet exist

There is an issue for live streams where download_loop will keep
downloading segments until it gets a 404 error for a segment
that has not yet been published. This is a problem because this
request for a segment that doesn't exist will propagate all the
way back to the origin server(s). This means that dashdemux causes
extra load on the origin server(s) for segments that aren't yet
available.

This patch uses availabilityStartTime, period
and the host's idea of UTC to decide if a fragment is available to
be requested from an HTTP server and filter out requests for fragments
that are not yet available.

https://bugzilla.gnome.org/show_bug.cgi?id=701404

11 years agoh264parse: Fix conversion to AVC if a SPS/PPS not from the first indizes is used
Sebastian Dröge [Thu, 3 Oct 2013 11:26:06 +0000 (13:26 +0200)]
h264parse: Fix conversion to AVC if a SPS/PPS not from the first indizes is used

https://bugzilla.gnome.org/show_bug.cgi?id=707974

11 years agoopenjpeg: Port OpenJPEG plugin to the 2.0 API
Sebastian Dröge [Wed, 2 Oct 2013 08:55:30 +0000 (10:55 +0200)]
openjpeg: Port OpenJPEG plugin to the 2.0 API

11 years agovtenc: Add support for I420
Dominik Röttsches [Wed, 2 Oct 2013 02:49:43 +0000 (05:49 +0300)]
vtenc: Add support for I420

https://bugzilla.gnome.org/show_bug.cgi?id=709241

11 years agovtenc: Use correct strides, etc from the GstVideoFrame
Dominik Röttsches [Wed, 2 Oct 2013 02:49:34 +0000 (05:49 +0300)]
vtenc: Use correct strides, etc from the GstVideoFrame

https://bugzilla.gnome.org/show_bug.cgi?id=706211

11 years agocodecparsers: h264: store quantization matrices in zig-zag order
Sreerenj Balachandran [Tue, 20 Aug 2013 14:03:38 +0000 (17:03 +0300)]
codecparsers: h264: store quantization matrices in zig-zag order

Quantizer matrices are encoded in zigzag scan order in the bitstream,
so always parse it as it is.

https://bugzilla.gnome.org/show_bug.cgi?id=708629

11 years agowin32: update with the new file libgstcodecparsers.def
Sreerenj Balachandran [Wed, 2 Oct 2013 08:40:05 +0000 (11:40 +0300)]
win32: update with the new file libgstcodecparsers.def

https://bugzilla.gnome.org/show_bug.cgi?id=708629

11 years agocodecparsers: h264: add helpers to convert quantization matrices
Sreerenj Balachandran [Wed, 2 Oct 2013 08:24:58 +0000 (11:24 +0300)]
codecparsers: h264: add helpers to convert quantization matrices

Add utility functions to convert quantization matrices from zig-zag scan
order into raster scan order and vice-versa

https://bugzilla.gnome.org/show_bug.cgi?id=708629

11 years agoAdd gstreamer-mpegts pkg-config file.
Brendan Long [Mon, 30 Sep 2013 21:32:55 +0000 (15:32 -0600)]
Add gstreamer-mpegts pkg-config file.

https://bugzilla.gnome.org/show_bug.cgi?id=709145

11 years agoopencv: don't unref NULL caps in finalize
Tim-Philipp Müller [Sun, 29 Sep 2013 22:43:23 +0000 (23:43 +0100)]
opencv: don't unref NULL caps in finalize

Fixes gst-inspect-1.0 -a and generic states unit test.

11 years agoiosassetsrc: Port to 1.0 and fix some bugs on the way
Sebastian Dröge [Thu, 26 Sep 2013 11:37:09 +0000 (13:37 +0200)]
iosassetsrc: Port to 1.0 and fix some bugs on the way

11 years agoiosassetsrc: Add new element from the GStreamer SDK project
Andoni Morales Alastruey [Thu, 26 Sep 2013 11:21:59 +0000 (13:21 +0200)]
iosassetsrc: Add new element from the GStreamer SDK project

11 years agoeglglessink: Port iOS part to 1.0
Sebastian Dröge [Mon, 23 Sep 2013 12:36:40 +0000 (14:36 +0200)]
eglglessink: Port iOS part to 1.0

11 years agoconfigure: Fix iOS check for eglglessink
Sebastian Dröge [Mon, 23 Sep 2013 11:20:46 +0000 (13:20 +0200)]
configure: Fix iOS check for eglglessink

11 years agoapplemedia: avfvideosrc is not ported to 1.0 yet
Sebastian Dröge [Mon, 23 Sep 2013 09:35:56 +0000 (11:35 +0200)]
applemedia: avfvideosrc is not ported to 1.0 yet

11 years agoliveadder: round when calculation length from duration
Michael Olbrich [Wed, 18 Sep 2013 15:51:26 +0000 (17:51 +0200)]
liveadder: round when calculation length from duration

liveadder sometimes calculates the offsets incorrectly before adding. The
resulting errors can easily be heard when mixing silence with a sine.
I'm not sure what the exact conditions are to trigger this, but it definitively
happens when the buffers of two streams have a different duration and buffer
length and duration don't match exactly for one stream because of rounding
errors (e.g.  duration=0:00:00.021333333)

I have to admit, I got lost in the math somewhere but it seems that not
rounding in gst_live_adder_length_from_duration() causes 1 sample overlaps in
consecutive buffers from the same stream.
When using gst_util_uint64_scale_int_round() instead of just truncating the
sine sound correctly again.

https://bugzilla.gnome.org/show_bug.cgi?id=708345

11 years agohlssink: Use floats for the EXTINF duration values
Javier Jardón [Wed, 25 Sep 2013 14:22:12 +0000 (15:22 +0100)]
hlssink: Use floats for the EXTINF duration values

https://bugzilla.gnome.org/show_bug.cgi?id=708851

11 years agohlssink: Write EXT-X-VERSION tag in the playlist file
Javier Jardón [Wed, 25 Sep 2013 14:18:39 +0000 (15:18 +0100)]
hlssink: Write EXT-X-VERSION tag in the playlist file

https://bugzilla.gnome.org/show_bug.cgi?id=708851

11 years agocheck: Update uvch264demux for behaviour change
Edward Hervey [Thu, 19 Sep 2013 12:53:46 +0000 (14:53 +0200)]
check: Update uvch264demux for behaviour change

Since 006e7a3428bd097fc6e6c648332bff583dd434f9 we no longer error out on
incomplete aux segment.

11 years agompegts: Add SCTE/EISS sections and table types
Steve Maynard [Fri, 27 Sep 2013 14:45:00 +0000 (14:45 +0000)]
mpegts: Add SCTE/EISS sections and table types

https://bugzilla.gnome.org/show_bug.cgi?id=708688

11 years agotsdemux: Wait for valid PCR/offset obvervations
Edward Hervey [Mon, 29 Jul 2013 06:10:07 +0000 (08:10 +0200)]
tsdemux: Wait for valid PCR/offset obvervations

It is quite possible that we might get PTS/DTS before the first
PCR/Offset observation.

In order to end up with valid timestamp we wait until at least one
stream was able to get a proper running-time for any PTS/DTS.
Until then, we queue up the pending buffers to push out.

Once we see a first valid timestamp, we re-evaluate the amount of
running-time elapsed (based on returned inital running-time and amount
of data/DTS queued up) for any given stream.

Taking the biggest amount of elapsed time, we set that on the packetizer
as the initial offset and recalculate all pending buffers running-time
PTS/DTS.

Note: The buffer queueing system can also be used later on for the
dvb fast start proposal (where we queue up all stream packets before
seeing PAT/PMT and then push them once we know if they belong to the
chosen program).

11 years agoexamples: Add descriptor dumping
Edward Hervey [Sun, 7 Jul 2013 13:04:18 +0000 (15:04 +0200)]
examples: Add descriptor dumping

11 years agompegtsdemux: New PCR<=>Offset estimation code
Edward Hervey [Fri, 26 Jul 2013 05:54:30 +0000 (07:54 +0200)]
mpegtsdemux: New PCR<=>Offset estimation code

This allows:
* Better duration estimation
* More accurate PCR location
* Overall more accurate running-time location and calculation

Location and values of PCR are recorded in groups (PCROffsetGroup)
with notable PCR/Offset observations in them (when bitrate changed
for example). PCR and offset are stored as 32bit values to
reduce memory usage (they are differences against that group's
first_{pcr|offset}.

Those groups each contain a global PCR offset (pcr_offset) which
indicates how far in the stream that group is.

Whenever new PCR values are observed, we store them in a sliding
window estimator (PCROffsetGroupCurrent).

When a reset/wrapover/gap is detected, we close the current group with
current values and start a new one (the pcr_offset of that new group
is also calculated).

When a notable change in bitrate is observed (+/- 10%), we record
new values in the current group. This is a compromise between
storing all PCR/offset observations and none, while at the same time
providing better information for running-time<=>offset calculation
in VBR streams.

Whenever a new non-contiguous group is start (due to seeking for example)
we re-evaluate the pcr_offset of each groups. This allows detecting as
quickly as possible PCR wrapover/reset.

When wanting to find the offset of a certain running-time, one can
iterate the groups by looking at the pcr_offset (which in essence *is*
the running-time of that group in the overall stream).
Once a group (or neighbouring groups if the running-time is between two
groups) is found, once can use the recorded values to find the most
accurate offset.

Right now this code is only used in pull-mode , but could also
be activated later on for any seekable stream, like live timeshift
with queue2.

Future improvements:
* some heuristics to "compress" the stored values in groups so as to keep
  the memory usage down while still keeping a decent amount of notable
  points.
* After a seek compare expected and obtained PCR/Offset and if the
  difference is too big, re-calculate position with newly observed
  values and seek to that more accurate position.

Note that this code will *not* provide keyframe-accurate seeking, but
will allow a much more accurate PCR/running-time/offset location on
any random stream.
For past (observed) values it will be as accurate as can be.
For future values it will be better than the current situation.
Finally the more you seek, the more accurate your positioning will be.

11 years agompegtspacketizer: No longer use a private struct
Edward Hervey [Fri, 5 Jul 2013 15:11:46 +0000 (17:11 +0200)]
mpegtspacketizer: No longer use a private struct

These are not public headers, it just adds complexity for no reason

11 years agohlsdemux: Fix dereferencing of NULL pointer
Alex Ashley [Thu, 26 Sep 2013 15:51:25 +0000 (16:51 +0100)]
hlsdemux: Fix dereferencing of NULL pointer

On some live HLS streams, gst_hls_demux_switch_playlist causes
assertion failures because it tried to dereference a NULL fragment.
This is because g_queue_peek_tail sometimes was returning NULL and
this case was not being checked.

This patch does two things:
* move the g_queue_peek_tail inside the semaphore protection
* check if q_queue_peek_tail returns NULL

https://bugzilla.gnome.org/show_bug.cgi?id=708849