platform/upstream/gst-plugins-bad.git
12 years agodocs: minor Makefile.am clean-up
Tim-Philipp Müller [Sun, 11 Dec 2011 16:05:57 +0000 (16:05 +0000)]
docs: minor Makefile.am clean-up

GST_BAD_CFLAGS and GST_BAD_LIBS don't exist.

12 years agotests: disable failing jifmux, camerabin2, and colorspace tests
Tim-Philipp Müller [Sun, 11 Dec 2011 15:29:31 +0000 (15:29 +0000)]
tests: disable failing jifmux, camerabin2, and colorspace tests

jifmux: general:test_jifmux_tags:0: Assertion 'entry->components == 2' failed
camerabin2: test_multiple_video_recordings:0: gst_caps_get_structure: assertion `GST_IS_CAPS (caps)
colorspace: bad memory accesses in orc code for odd width buffers (see bug #663248)

12 years agotests: fix g_usleep() in camerabin2 test
Tim-Philipp Müller [Sun, 11 Dec 2011 15:03:17 +0000 (15:03 +0000)]
tests: fix g_usleep() in camerabin2 test

g_usleep() takes a microsecond value, GST_SECOND is nanoseconds, so
we were sleeping for more than 3 minutes here instead of 200ms.

12 years agopo: update translations
Tim-Philipp Müller [Sun, 11 Dec 2011 00:59:15 +0000 (00:59 +0000)]
po: update translations

12 years agompegpsmux: put stream headers into output caps
Tim-Philipp Müller [Sun, 25 Sep 2011 22:57:34 +0000 (23:57 +0100)]
mpegpsmux: put stream headers into output caps

Basic version with only the system header and the program
stream map. An advanced version could include codec-specific
bits like SPS/PPS too. This is useful in connection with
e.g. multifilesink to make sure new files always start with
the stream headers.

12 years agompegpsmux: add "aggregate-gops" property to aggregate GOPs into buffer lists
Tim-Philipp Müller [Fri, 16 Sep 2011 18:32:38 +0000 (19:32 +0100)]
mpegpsmux: add "aggregate-gops" property to aggregate GOPs into buffer lists

Useful in connection with multifilesink, for example, to make sure
the new file always starts with a keyframe.

12 years agompegpsmux: remember primary video stream
Tim-Philipp Müller [Sat, 10 Dec 2011 20:08:20 +0000 (20:08 +0000)]
mpegpsmux: remember primary video stream

12 years agompegpsmux: remember whether an incoming buffer is a keyunit or not
Tim-Philipp Müller [Wed, 31 Aug 2011 18:40:05 +0000 (19:40 +0100)]
mpegpsmux: remember whether an incoming buffer is a keyunit or not

12 years agoopusenc: add upstream negotiation for multistream ability
Vincent Penquerc'h [Fri, 9 Dec 2011 17:25:41 +0000 (17:25 +0000)]
opusenc: add upstream negotiation for multistream ability

This will help elements that cannot deal with multistream,
such as the RTP payloader.

The caps now do not include a "streams" field anymore, but
a "multistream" boolean, since we have no real use for knowing
the exact amount of streams.

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

12 years agoAdding opus RTP payloader/depayloader element
Danilo Cesar Lemes de Paula [Wed, 7 Dec 2011 17:13:11 +0000 (15:13 -0200)]
Adding opus RTP payloader/depayloader element

Adding OPUS RTP module based on the current draft:
http://tools.ietf.org/id/draft-spittka-payload-rtp-opus-00.txt

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

12 years agoopus: include streams count in caps
Vincent Penquerc'h [Thu, 8 Dec 2011 19:47:55 +0000 (19:47 +0000)]
opus: include streams count in caps

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

12 years agoopus: properly create channel mapping tables
Vincent Penquerc'h [Thu, 8 Dec 2011 18:45:27 +0000 (18:45 +0000)]
opus: properly create channel mapping tables

There are two of them, unintuitively enough; the one passed
to the encoder should not be the one that gets written to the
file. The former maps the input to an ordering which puts
paired channels first, while the latter moves the channels
to Vorbis order. So add code to calculate both, and we now
have properly paired channels where appropriate.

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

12 years agovideoparsers: fix LIBS order in Makefile.am
Tim-Philipp Müller [Thu, 8 Dec 2011 22:49:50 +0000 (22:49 +0000)]
videoparsers: fix LIBS order in Makefile.am

12 years agompegtsdemux: only offset timestamps when live
Vincent Penquerc'h [Thu, 8 Dec 2011 12:42:57 +0000 (12:42 +0000)]
mpegtsdemux: only offset timestamps when live

This code is to sync to a live source when there is a delay
between start and when we receive the first buffer, so it does
not make sense in a non live case.

This fixes playback of streams where the input timestamps are
based off some arbitrary offset.

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

12 years agobasevideoencoder: Only make the header buffer metadata writable, not the buffer
Sebastian Dröge [Thu, 8 Dec 2011 10:51:36 +0000 (11:51 +0100)]
basevideoencoder: Only make the header buffer metadata writable, not the buffer

12 years agobasevideoencoder: Fix handling of force-keyunit events
Sebastian Dröge [Thu, 8 Dec 2011 09:19:40 +0000 (10:19 +0100)]
basevideoencoder: Fix handling of force-keyunit events

12 years agoopusdec: header cleanup
Olivier Crête [Wed, 7 Dec 2011 05:06:11 +0000 (00:06 -0500)]
opusdec: header cleanup

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

12 years agoopusdec: Truncate caps first
Olivier Crête [Wed, 7 Dec 2011 05:06:11 +0000 (00:06 -0500)]
opusdec: Truncate caps first

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

12 years agoopusdec: default to stereo 48000 Hz if possible when no headers seen
Vincent Penquerc'h [Mon, 28 Nov 2011 19:47:34 +0000 (19:47 +0000)]
opusdec: default to stereo 48000 Hz if possible when no headers seen

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

12 years agorsndec: Don't use the initial-identity property on autoconvert
Sebastian Dröge [Wed, 7 Dec 2011 12:48:53 +0000 (13:48 +0100)]
rsndec: Don't use the initial-identity property on autoconvert

It was removed, see bug #599469, #665205

12 years agoautoconvert: Remove the initial-identity property from autoconvert
Sebastian Dröge [Wed, 7 Dec 2011 12:46:43 +0000 (13:46 +0100)]
autoconvert: Remove the initial-identity property from autoconvert

Initially creating an identity element to forward serialized
events downstream before any caps are known is broken behaviour.

Serialized events should only be forwarded downstream if the
caps are already known, otherwise autopluggers and other elements
using pad-blocks will fail.

This behaviour also doesn't work anymore after basetransform
was fixed to queue serialized events until the caps are known
as a result of fixing bug #659571.

See bug #599469, #665205.

12 years agovideoparsers: Do not not skip startcode when needed
Thibault Saunier [Tue, 6 Dec 2011 19:27:25 +0000 (16:27 -0300)]
videoparsers: Do not not skip startcode when needed

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

12 years agocodecparsers: first video_packet_header doesn't start with resync_marker
Zhao Halley [Tue, 6 Dec 2011 00:55:19 +0000 (08:55 +0800)]
codecparsers: first video_packet_header doesn't start with resync_marker

12 years agocodecparsers: return NO_PACKET if needed
Zhao Halley [Tue, 6 Dec 2011 00:53:07 +0000 (08:53 +0800)]
codecparsers: return NO_PACKET if needed

12 years agocodecparsers: fix an issue in check resync marker
Zhao Halley [Tue, 6 Dec 2011 00:31:14 +0000 (08:31 +0800)]
codecparsers: fix an issue in check resync marker

12 years agocodecparsers: fix an issue in finding the last video packet in vop
Zhao Halley [Tue, 6 Dec 2011 00:25:59 +0000 (08:25 +0800)]
codecparsers: fix an issue in finding the last video packet in vop

12 years agocodecparsers: include resync marker in video packet size
Zhao Halley [Tue, 6 Dec 2011 00:21:19 +0000 (08:21 +0800)]
codecparsers: include resync marker in video packet size

12 years agocodecparsers: scan next resync marker after current one
Zhao Halley [Tue, 6 Dec 2011 00:19:05 +0000 (08:19 +0800)]
codecparsers: scan next resync marker after current one

12 years agocodecparsers: fix < 0 issue of guint in mpeg4 parser
Zhao Halley [Tue, 6 Dec 2011 00:17:38 +0000 (08:17 +0800)]
codecparsers: fix < 0 issue of guint in mpeg4 parser

gst_byte_reader_masked_scan_uint32 returns a guint, not a gint, which
explains the issue we sometime get using < 0 instead of == -1;

12 years agocodecparsers: fix pattern/mask of resync_marker parsing of mpeg4
Zhao Halley [Tue, 6 Dec 2011 00:15:46 +0000 (08:15 +0800)]
codecparsers: fix pattern/mask of resync_marker parsing of mpeg4

12 years agoh264parse: handle force key unit events
Alessandro Decina [Tue, 6 Dec 2011 12:06:06 +0000 (13:06 +0100)]
h264parse: handle force key unit events

Send SPS/PPS on force key unit events. Useful for example when serving HLS
without transcoding.

12 years agocodecparsers: fix compile warnings in gstmpeg4parser.c
Alessandro Decina [Tue, 6 Dec 2011 11:55:26 +0000 (12:55 +0100)]
codecparsers: fix compile warnings in gstmpeg4parser.c

12 years agotests: Add more files to .gitignore
Edward Hervey [Mon, 5 Dec 2011 10:56:02 +0000 (11:56 +0100)]
tests: Add more files to .gitignore

12 years agoh264parse: Use faster parsing variant when input is packetized
Edward Hervey [Mon, 5 Dec 2011 10:50:17 +0000 (11:50 +0100)]
h264parse: Use faster parsing variant when input is packetized

Reduces latency and cpu usage

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

12 years agocodecparsers: Variant of _identify_nalu without checks
Edward Hervey [Mon, 5 Dec 2011 10:47:57 +0000 (11:47 +0100)]
codecparsers: Variant of _identify_nalu without checks

This is useful for cases where the caller *knows* that the provided
input contains a whole NALU and can therefore avoid:
* the expensive checks for the next start code (which won't be present)
* delaying the input parsing (since we would need the next incoming NALU
  in order for the parsing code to detect the next start code)

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

12 years agoh264parse: reflow slice nal processing
Mark Nauwelaerts [Mon, 5 Dec 2011 12:09:17 +0000 (13:09 +0100)]
h264parse: reflow slice nal processing

12 years agoh264parse: optimize slice nal processing
Mark Nauwelaerts [Mon, 5 Dec 2011 11:57:47 +0000 (12:57 +0100)]
h264parse: optimize slice nal processing

Only minimal slice info is needed here to determine real frame start,
so no need to parse extensively.

Fixes #665418.

12 years agocodecparser: unbreak h264 slice header parsing
Mark Nauwelaerts [Mon, 5 Dec 2011 11:53:59 +0000 (12:53 +0100)]
codecparser: unbreak h264 slice header parsing

.. introduced by refactoring in commit 177451c9216f4e3959e7358675fbb9731d2c81a2

12 years agoautoconvert: Implement iterate_internal_links function on the sinkpad and srcpad
Sebastian Dröge [Mon, 5 Dec 2011 07:56:43 +0000 (08:56 +0100)]
autoconvert: Implement iterate_internal_links function on the sinkpad and srcpad

12 years agoopusdec: guard against decoding 0 samples
Vincent Penquerc'h [Mon, 28 Nov 2011 19:38:34 +0000 (19:38 +0000)]
opusdec: guard against decoding 0 samples

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

12 years agoconfigure: Require XVID API >= 4.3
Sebastian Dröge [Fri, 2 Dec 2011 10:46:03 +0000 (11:46 +0100)]
configure: Require XVID API >= 4.3

This is required for encoding the simple profile
with levels 4a, 5 or 6.

Fixes bug #665378.

12 years agoxvidenc: Don't add the profile/level to the video/x-xvid caps
Sebastian Dröge [Thu, 1 Dec 2011 09:54:49 +0000 (10:54 +0100)]
xvidenc: Don't add the profile/level to the video/x-xvid caps

12 years agoxvidenc: Add profile/level to the caps and negotiate them with downstream
Sebastian Dröge [Thu, 1 Dec 2011 08:54:08 +0000 (09:54 +0100)]
xvidenc: Add profile/level to the caps and negotiate them with downstream

Still keep the profile property to select profile/level if there
are no downstream constraints.

Fixes bug #652261.

12 years agoxvidenc: Add support for levels 4a/5/6 of the simple profile
Sebastian Dröge [Thu, 1 Dec 2011 08:39:11 +0000 (09:39 +0100)]
xvidenc: Add support for levels 4a/5/6 of the simple profile

12 years agoh264parse: let upstream PAR override in-stream PAR
Alessandro Decina [Thu, 1 Dec 2011 08:02:46 +0000 (09:02 +0100)]
h264parse: let upstream PAR override in-stream PAR

12 years agoh264parse: rework PAR parsing
Alessandro Decina [Wed, 23 Nov 2011 17:26:44 +0000 (18:26 +0100)]
h264parse: rework PAR parsing

And in the process refactor _update_src_caps a bit

12 years agoh264parse: respect pixel-aspect-ratio
Luciana Fujii Pontello [Wed, 16 Nov 2011 05:03:12 +0000 (00:03 -0500)]
h264parse: respect pixel-aspect-ratio

Parse pixel-aspect-ratio in vui information.

12 years agospacespace: whitespace cleanups
Stefan Sauer [Wed, 30 Nov 2011 21:12:27 +0000 (22:12 +0100)]
spacespace: whitespace cleanups

12 years agowavescape: also add colormodes like in spacescope
Stefan Sauer [Wed, 30 Nov 2011 21:11:40 +0000 (22:11 +0100)]
wavescape: also add colormodes like in spacescope

12 years agoaudiovisualizer: update README
Stefan Sauer [Wed, 30 Nov 2011 14:13:04 +0000 (15:13 +0100)]
audiovisualizer: update README

12 years agospacescope: add color-modes
Stefan Sauer [Wed, 30 Nov 2011 13:20:38 +0000 (14:20 +0100)]
spacescope: add color-modes

In colormode we split the signal in low,mid,high frequency parts and draw them
separately into red, gree, blue color channels.

12 years agoreplace propset_mutex with GST_OBJECT_LOCK
Nicola Murino [Tue, 30 Aug 2011 12:37:42 +0000 (14:37 +0200)]
replace propset_mutex with GST_OBJECT_LOCK

12 years agoaudiovisualizers: streamline the line_aa code
Stefan Sauer [Fri, 25 Nov 2011 21:32:11 +0000 (22:32 +0100)]
audiovisualizers: streamline the line_aa code

Have a reusable dot_aa code and reuse in the line drawing.

12 years agompegtsmux: fix build in uninstalled setup
Tim-Philipp Müller [Wed, 30 Nov 2011 10:35:12 +0000 (10:35 +0000)]
mpegtsmux: fix build in uninstalled setup

Add -base libs includes to CFLAGS, fix order of LIBS.

12 years agompegtsmux: add support for force key unit events
Alessandro Decina [Sun, 21 Aug 2011 09:01:37 +0000 (11:01 +0200)]
mpegtsmux: add support for force key unit events

Handle force key unit events outputting PAT and PMT when all_headers=TRUE

12 years agoopencv: allow to build against 2.3.1
Stefan Sauer [Tue, 29 Nov 2011 22:41:22 +0000 (23:41 +0100)]
opencv: allow to build against 2.3.1

12 years agobuild: add old mpeg4videoparse directory to CRUFT_DIRS
Tim-Philipp Müller [Tue, 29 Nov 2011 18:18:36 +0000 (18:18 +0000)]
build: add old mpeg4videoparse directory to CRUFT_DIRS

12 years agocodecparsers: h264: record ref_pic_list_modification().
Gwenole Beauchesne [Tue, 22 Nov 2011 08:47:58 +0000 (09:47 +0100)]
codecparsers: h264: record ref_pic_list_modification().

12 years agocodecparsers: h264: rename ref_pic_list_reordering() to ref_pic_list_modification().
Gwenole Beauchesne [Tue, 22 Nov 2011 08:47:57 +0000 (09:47 +0100)]
codecparsers: h264: rename ref_pic_list_reordering() to ref_pic_list_modification().

Upgrade to current AVC specification.

12 years agompegpsdemux: recalculate adjust if difference is negative
Alexey Fisher [Tue, 29 Nov 2011 11:20:51 +0000 (12:20 +0100)]
mpegpsdemux: recalculate adjust if difference is negative

One of my dvds jump on some position and miss about 1 minute of stream.
The reason was mpeg timestamps. On some position scr difference is negative.
It produced negative timestamps. Since it was converted to unsigned value,
gstreamer timestamps was invalid. Instead of increasing mpeg ts,
they was decreasing till it started to be positive.

The jump in timestamps caused mpeg2dec to skip frames to make QoS happy.

This patch just make diff unsigned to avoid negative values.

Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>
https://bugzilla.gnome.org/show_bug.cgi?id=656115

12 years agobasevideoencoder: Pass the all-headers field of the force-key-unit event to the subclass
Sebastian Dröge [Tue, 29 Nov 2011 11:12:33 +0000 (12:12 +0100)]
basevideoencoder: Pass the all-headers field of the force-key-unit event to the subclass

12 years agobasevideoencoder: Implement full support for the new force-key-unit event
Sebastian Dröge [Tue, 29 Nov 2011 11:12:04 +0000 (12:12 +0100)]
basevideoencoder: Implement full support for the new force-key-unit event

Including support for the running-time and count fields.

12 years agobasevideoencoder: Use new force-keyunit event API from gst-plugins-base
Sebastian Dröge [Tue, 29 Nov 2011 08:31:11 +0000 (09:31 +0100)]
basevideoencoder: Use new force-keyunit event API from gst-plugins-base

12 years agobasevideoencoder: Adjusting padding is not required for -bad libraries
Sebastian Dröge [Tue, 29 Nov 2011 08:18:19 +0000 (09:18 +0100)]
basevideoencoder: Adjusting padding is not required for -bad libraries

12 years agobasevideoencoder: Move some fields to the private part of the instance struct
Sebastian Dröge [Mon, 28 Nov 2011 18:48:01 +0000 (19:48 +0100)]
basevideoencoder: Move some fields to the private part of the instance struct

12 years agobasevideoencoder: Make headers metadata writable before pushing downstream
Sebastian Dröge [Mon, 28 Nov 2011 18:36:56 +0000 (19:36 +0100)]
basevideoencoder: Make headers metadata writable before pushing downstream

The timestamp, duration, etc of the headers has to be changed.

12 years agobasevideoencoder: Push the downstream force-keyframe event after the next keyframe
Sebastian Dröge [Mon, 28 Nov 2011 18:35:40 +0000 (19:35 +0100)]
basevideoencoder: Push the downstream force-keyframe event after the next keyframe

Even if the corresponding GstVideoFrame doesn't have the is_sync_point
flag set.

12 years agobasevideoencoder: Don't push an upstream force-keyunit event downstream
Sebastian Dröge [Mon, 28 Nov 2011 18:29:13 +0000 (19:29 +0100)]
basevideoencoder: Don't push an upstream force-keyunit event downstream

12 years agobasevideoencoder: Add initial support for the all-headers field of the force-keyframe...
Jonas Larsson [Fri, 25 Nov 2011 10:48:08 +0000 (11:48 +0100)]
basevideoencoder: Add initial support for the all-headers field of the force-keyframe event

See bug #607742.

12 years agokate: fix set-but-not-used-variable compiler warning
Tim-Philipp Müller [Tue, 29 Nov 2011 09:22:38 +0000 (09:22 +0000)]
kate: fix set-but-not-used-variable compiler warning

gstkatetiger.c:1156:15: error: variable 'height' set but not used
gstkatetiger.c:1156:8: error: variable 'width' set but not used

12 years agocodecparsers: minor fixes
Tim-Philipp Müller [Tue, 29 Nov 2011 09:15:11 +0000 (09:15 +0000)]
codecparsers: minor fixes

Const-ify one more VLC table. Fix spelling of 'hybrid'.
No need to explicitly call ensure_debug_category() everywhere,
that will be done automatically from GST_LOG() and friends
via GST_CAT_DEFAULT.

12 years agocodecparser: mpeg4: Look for resync code in _mpeg4_parse
Thibault Saunier [Tue, 8 Nov 2011 13:44:11 +0000 (10:44 -0300)]
codecparser: mpeg4: Look for resync code in _mpeg4_parse

This way the API is simpler and users can call 1 single function for packet
detection.

12 years agompeg4videoparse: Properly handle profile and level in caps
Thibault Saunier [Thu, 29 Sep 2011 17:37:59 +0000 (14:37 -0300)]
mpeg4videoparse: Properly handle profile and level in caps

Fix #660234

12 years agompeg4videoparse: Port to the new mpeg4parser library
Thibault Saunier [Mon, 26 Sep 2011 19:58:58 +0000 (16:58 -0300)]
mpeg4videoparse: Port to the new mpeg4parser library

12 years agompeg4videoparse: Move to the videoparsers plugin
Thibault Saunier [Mon, 26 Sep 2011 13:39:31 +0000 (10:39 -0300)]
mpeg4videoparse: Move to the videoparsers plugin

Rename a few variables to use the same convention as others elements in this
plugin

Conflicts:

gst/videoparsers/gstmpeg4videoparse.c

12 years agocodecparsers: Declare private arrays as static all around
Thibault Saunier [Wed, 2 Nov 2011 12:14:42 +0000 (09:14 -0300)]
codecparsers: Declare private arrays as static all around

12 years agocodecparsers: mpeg4: Implement an Mpeg4 part 2 parsing library
Thibault Saunier [Wed, 21 Sep 2011 22:49:36 +0000 (19:49 -0300)]
codecparsers: mpeg4: Implement an Mpeg4 part 2 parsing library

12 years agocodecparsers: Move shared code to a parser utils file
Thibault Saunier [Wed, 21 Sep 2011 22:40:47 +0000 (19:40 -0300)]
codecparsers: Move shared code to a parser utils file

12 years agopkgconfig: remove references to codecparsers from -bad.pc.in
Thibault Saunier [Thu, 29 Sep 2011 19:25:29 +0000 (16:25 -0300)]
pkgconfig: remove references to codecparsers from -bad.pc.in

12 years agocamerabin2: viewfinderbin: use faster cast macro
Thiago Santos [Mon, 28 Nov 2011 21:47:50 +0000 (18:47 -0300)]
camerabin2: viewfinderbin: use faster cast macro

Use cast macro without type checks when we know it should work.

12 years agocamerabin2: viewfinderbin: Link elements directly to use faster version
Thiago Santos [Mon, 28 Nov 2011 21:43:40 +0000 (18:43 -0300)]
camerabin2: viewfinderbin: Link elements directly to use faster version

ffmpegcolorspace and videoscale should always link successfully, use
the fast pad linking version instead of calling the generic helper
function.

12 years agocamerabin2: micro optimize linking some more
Thiago Santos [Mon, 28 Nov 2011 19:35:48 +0000 (16:35 -0300)]
camerabin2: micro optimize linking some more

12 years agokate: support for rendering on several YUV formats
Vincent Penquerc'h [Thu, 29 Sep 2011 21:43:30 +0000 (22:43 +0100)]
kate: support for rendering on several YUV formats

This speeds up rendering a fair bit by not requiring colorspace
conversion, whether there is anything to overlay or not.

The blending code was nicked from textoverlay. I would think
this might be a helpful thing to put in, say, libgstvideo at
some point.

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

12 years agompeg4videoparse: fix number of bytes read for fixed time increment
Vincent Penquerc'h [Thu, 18 Aug 2011 10:39:37 +0000 (11:39 +0100)]
mpeg4videoparse: fix number of bytes read for fixed time increment

The spec I found says "16 bits".
The existing code used log2(somevalue)+1.
ffmpeg uses log2(somevalue-1)+1.
The code now uses log2(somevalue-1)+1, and this makes it work with
some sample video without breaking another sample.
Now, I'm far from certain I've got the right spec, I found it by
searching the internet, so...

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

12 years agompegdemux: Try to add all streams early
Vincent Penquerc'h [Mon, 28 Nov 2011 15:10:39 +0000 (15:10 +0000)]
mpegdemux: Try to add all streams early

This will allow us to signal no-more-pads to avoid hitting
the decodebin2 overrun.

12 years agompegtsdemux: handle pads with no data
Vincent Penquerc'h [Mon, 26 Sep 2011 11:43:27 +0000 (12:43 +0100)]
mpegtsdemux: handle pads with no data

Some streams declare PIDs but will not send data for them.
Ensure we time out on those, and both send new segments to
keep their time synchronized with the rest, and do not wait
forever before deciding to signal no-more-pads.

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

12 years agompegtsdemux: signal no-more-pads when appropriate
Vincent Penquerc'h [Mon, 26 Sep 2011 11:16:30 +0000 (12:16 +0100)]
mpegtsdemux: signal no-more-pads when appropriate

We track streams for which a data callback is set (and for which
pads will be added only when data is received), and signal
no-more-pads when the last pad is added.

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

12 years agompegdemux: take into account offset of first buffer
Vincent Penquerc'h [Mon, 5 Sep 2011 16:40:07 +0000 (17:40 +0100)]
mpegdemux: take into account offset of first buffer

This fixes playback when the source starts later than the playback
pipeline, and when a source drops for a while then restarts.

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

12 years agompegdemux: fix some more video freezing
Vincent Penquerc'h [Sat, 3 Sep 2011 13:37:40 +0000 (14:37 +0100)]
mpegdemux: fix some more video freezing

There was a second threshold, which apparently needs to be smaller
than the first, though I'm not certain of it as I don't understand
yet this nest of wtf that is the mpeg demuxer timing logic.

Fixes video freezing on one (corrupted) MPEG sample. It would
previously never think it was out of the discontinuity, and would
push buffers with no timestamp.

Now this took me more than a day's poking at the thing, for just
one constant change, and I'm scared to have to touch this again :S

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

12 years agompegdemux: catch smaller PTS dicontinuities
Vincent Penquerc'h [Tue, 30 Aug 2011 13:50:52 +0000 (14:50 +0100)]
mpegdemux: catch smaller PTS dicontinuities

In a test stream, I get one buffer with a PTS of about 15 seconds
in the future compared to the previous one, and next buffers with
timestamps continuing where the original ones left off.

This caused the sink to wait 15 seconds to display the frame while
more frames queued up, and then dump all the subsequent frames as
they "arrived too late".

Maybe that threshold should be made configurable, but for now,
make it more smaller to catch more of these.

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

Non AV streams keep using the larger threshold (10 minutes), as
subtitles may arrive only every so often.

12 years agovarious: fix pad template ref leaks
Vincent Penquerc'h [Mon, 28 Nov 2011 13:08:27 +0000 (13:08 +0000)]
various: fix pad template ref leaks

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

12 years agortmp: add WSAStartup and WSACleanup on Win32
Julien Isorce [Thu, 6 Oct 2011 15:43:19 +0000 (17:43 +0200)]
rtmp: add WSAStartup and WSACleanup on Win32

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

12 years agoaiffparse: extract ID3 tags embedded in ID3 chunks
Tim-Philipp Müller [Thu, 24 Nov 2011 13:49:12 +0000 (13:49 +0000)]
aiffparse: extract ID3 tags embedded in ID3 chunks

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

12 years agoopusenc: Fixing "Unused var" compiling error for opus codec
Danilo Cesar Lemes de Paula [Fri, 25 Nov 2011 13:41:19 +0000 (11:41 -0200)]
opusenc: Fixing "Unused var" compiling error for opus codec

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

12 years agoopusenc: only use mono streams for > 2 channels
Vincent Penquerc'h [Fri, 25 Nov 2011 14:00:18 +0000 (14:00 +0000)]
opusenc: only use mono streams for > 2 channels

I'm getting odd results with packing streams into stereo
streams, and using only mono streams is enough in all cases.

12 years agoopus: add some more debug information about channel mapping
Vincent Penquerc'h [Fri, 25 Nov 2011 12:47:42 +0000 (12:47 +0000)]
opus: add some more debug information about channel mapping

12 years agoopusparse: remove dead assigments
Vincent Penquerc'h [Fri, 25 Nov 2011 12:46:55 +0000 (12:46 +0000)]
opusparse: remove dead assigments

We now only keep a ref to the headers for later reuse.

12 years agoopusenc: do not cause the decoder to apply the channel mapping again
Vincent Penquerc'h [Fri, 25 Nov 2011 12:40:31 +0000 (12:40 +0000)]
opusenc: do not cause the decoder to apply the channel mapping again

Since we already reorder channels, we do not want to write that
reordering in the header, or the decoder will do it again.

12 years agoopusdec: fix bogus assertion
Vincent Penquerc'h [Fri, 25 Nov 2011 12:39:20 +0000 (12:39 +0000)]
opusdec: fix bogus assertion

12 years agotests: add unit test for voamrwbenc
Mark Nauwelaerts [Fri, 25 Nov 2011 14:49:05 +0000 (15:49 +0100)]
tests: add unit test for voamrwbenc