Commit graph

5331 commits

Author SHA1 Message Date
Wim Taymans
15f07e7f12 midiparse: small cleanups in error paths 2013-03-21 16:06:46 +01:00
Wim Taymans
adae7f1859 midiparse: duration is max of all track durations 2013-03-21 16:06:46 +01:00
Wim Taymans
7498d104a7 midiparse: fix klass 2013-03-21 16:06:46 +01:00
Wim Taymans
5492631d84 midiparse: Update duration
Rework things a bit so that we can run over the midi events and fire callbacks
for each of them. We can then use that for calculating the duration and also for
doing playback.
Only parse as many tracks as specified in the header.
Fix default tempo;
Send MIDI tick events every 10ms
2013-03-21 15:00:16 +01:00
Wim Taymans
76cd090503 midiparse: handle midi in RIFF 2013-03-21 09:30:41 +01:00
Wim Taymans
a093d65310 midiparse: small fixes 2013-03-21 07:21:41 +01:00
Wim Taymans
10cb1a7a3a midi: set rank as marginal
Set the mark to marginal until we implement more features.
2013-03-21 07:21:41 +01:00
Wim Taymans
235f2a962e midiparse: add basic midi parser
Parses midi files and outputs buffers with midi events.
2013-03-21 07:21:40 +01:00
Tim-Philipp Müller
3af6effcf2 ivtc: fix make dist 2013-03-20 15:29:51 +00:00
David Schleef
160f996c2f combdetect,ivtc: code cleanup 2013-03-19 18:08:53 -07:00
David Schleef
db40edff17 combdetect: output progressive video 2013-03-19 16:26:45 -07:00
David Schleef
16091ef422 combdetect: code cleanup 2013-03-19 16:26:45 -07:00
David Schleef
f1993545cf combdetect: switch to zebra striping 2013-03-19 16:26:45 -07:00
David Schleef
cac6b94922 ivtc: drop early fields 2013-03-19 16:26:45 -07:00
David Schleef
91310bd4c5 ivtc: new inverse telecine filter
This filter converts interlaced content that was originally
telecine'd from 24 fps (or similar) progressive content.  It works
approximately like videorate, but with awareness of interlacing.
It merges neighboring fields in the input interlaced stream with
the goal of minimizing combing artifacts, while keeping the output
framerate constant.  If it cannot avoid combing artifacts, it will
reconstruct the image from a single field.  Note that this filter
does not autodetect the framerate, but will automatically fixate
at 24 fps.
2013-03-19 16:26:45 -07:00
Alessandro Decina
d2d6798087 Make the hls plugin depend on gnutls and move to ext/hls/
gnutls is used to implement AES decryption
2013-03-19 10:54:18 +01:00
Alessandro Decina
5c77ef61ed hlsdemux: use gnutls instead of openssl 2013-03-19 10:26:54 +01:00
Alessandro Decina
7d982d3418 hlsdemux: support encrypted streams 2013-03-19 10:26:54 +01:00
Alessandro Decina
1f177beb33 hlsdemux: fix invalid free() introduced by last commit 2013-03-18 21:03:50 +01:00
Kevin Thornberry
72c5c70b90 mpegtsmux: fix creation of ADTS header for AAC audio in MPEG-TS
https://bugzilla.gnome.org/show_bug.cgi?id=695412
2013-03-18 10:31:51 +00:00
Alessandro Decina
175498434c hlsdemux: parse #EXT-X-KEY tags 2013-03-18 07:34:13 +01:00
Alessandro Decina
4ca7426f2a hlsdemux: factor out URI joining utility 2013-03-18 07:27:51 +01:00
Alessandro Decina
cb7ee940d2 hlsdemux: fix URI parsing for absolute fragment paths 2013-03-18 07:02:54 +01:00
Jean-François Fortin Tam
7b268f6965 frei0r: improve readability of RGB and XY property nickname strings
Also fix the Y prop nickname string being incorrect.

https://bugzilla.gnome.org/show_bug.cgi?id=695884
2013-03-16 18:16:34 +00:00
Jean-François Fortin Tam
53d33062e1 frei0r: fix nicknames for color and position properties
https://bugzilla.gnome.org/show_bug.cgi?id=695884
2013-03-16 18:14:37 +00:00
David Schleef
a80726c8d7 videosegmentclip: Don't leak buffers after segment 2013-03-15 00:16:16 -07:00
David Schleef
aa8918411e videosignal: add FIXME for future revival 2013-03-15 00:16:16 -07:00
David Schleef
6005ab322d mxfdemux: Add a second MXF UL for uncompressed audio 2013-03-14 14:41:38 -07:00
David Schleef
f0ab12fe89 mxfdemux: Ignore missing metadata descriptors 2013-03-14 14:41:37 -07:00
Wim Taymans
88492ff72e hlsdemux: don't stop tasks in paused
A non-live element is supposed to continue streaming in the paused state so
don't stop the tasks when going to paused.
We also always want to start the update task after we prerolled enough data,
not only in the playing state.
2013-03-14 12:17:13 +01:00
Wim Taymans
3de57b9754 hlsdemux: add more debug 2013-03-14 12:17:13 +01:00
Greg Rutz
c66fd54e78 audiovisualizer: fix improper video frame clear operation
The current code is memsetting the GstVideoFrame.data address to 0s (which
causes a segfault). This member is actually an array of data buffers (one for
each plane).  This fix iterates over each data plane to clear them all.

https://bugzilla.gnome.org/show_bug.cgi?id=695655
2013-03-13 00:40:24 +00:00
Tim-Philipp Müller
c2446a70f6 Remove DTMF plugin, moved to -good
https://bugzilla.gnome.org/show_bug.cgi?id=687416
2013-03-09 01:06:31 +00:00
Sebastian Dröge
acacef9fbb mpegtsdemux: Fix various compiler warnings 2013-03-03 12:30:32 +01:00
Sebastian Dröge
ac6967a843 mpeg4videoparse: Use correct type specifiers for format strings to fix compiler warnings 2013-03-03 12:30:21 +01:00
Sebastian Dröge
570f012b58 freeverb: Fix compiler warning caused by wrong format specifier 2013-03-03 10:54:10 +01:00
Vincent Penquerc'h
b6f50c51f3 rawparse: fix caps leak 2013-02-28 16:55:36 +00:00
Tim-Philipp Müller
6325b06204 dvbsuboverlay: add all supported video formats to template caps
We now use gst_video_overlay_composition_blend(), so can support
all video formats supported by that, not just I420.
2013-02-19 13:04:21 +00:00
Tim-Philipp Müller
f2f9e4b68a dvbsuboverlay: proxy the allocation query
Pass allocation query downstream.
2013-02-19 13:04:14 +00:00
Tim-Philipp Müller
79f419c82d dvbsuboverlay: don't forward CAPS event from subtitle pad
May results in not-negotiated flow errors otherwise.
2013-02-19 11:14:11 +00:00
Stefan Sauer
57ff02f485 freeverb: remove channel-mask from caps
The channel-mask is only needed for channels>2 which we don't do.
2013-02-15 21:30:33 +01:00
Tim-Philipp Müller
829076358e Revert "mpeg4videoparse: set 0 duration when vop_coded is 0"
This reverts commit d3219a261a.

vop_coded 0 means that the previous frame should be repeated,
so it should have valid duration after all.

https://bugzilla.gnome.org/show_bug.cgi?id=683169
2013-02-14 09:40:08 +00:00
Olivier Crête
f25b0eda09 pngparse: Declare the width/height outside the loop
Also initialize them to make gcc happy
2013-02-12 18:11:34 -05:00
Olivier Crête
41afff88e0 videoparsers: Add png file parser
https://bugzilla.gnome.org/show_bug.cgi?id=690639
2013-02-12 17:04:38 -05:00
David Schleef
168c8406b5 Unrevert: mpegvideoparse: set timestamp based on pic offset
API is now in baseparse in gstreamer.

Timestamps in MPEG-TS streams are based on the last timestamp
before the start code of the picture.  GstBaseParse sets the
timestamp based on the beginning of the sequence header, if
one exists before the picture.  This fixes the case where the
timestamp occurs in the MPEG-TS stream between the seq header
and picture start code.
2013-02-12 12:23:03 -08:00
David Schleef
e614bd037e yadif: Add mode property
Copy mode from deinterlace element.  Isn't actually implemented
in yadif, every frame is deinterlaced, so effectively mode=1.
2013-02-12 12:23:03 -08:00
David Schleef
e5e7fccd03 yadif: Fix non-x86_64 builds 2013-02-12 11:48:21 -08:00
David Schleef
aeee2084ff mpegdemux: add parsed=false to mpeg2 caps 2013-02-12 11:48:21 -08:00
Tim-Philipp Müller
aedc136926 Revert "mpegvideoparse: set timestamp based on pic offset"
This reverts commit 63718da919.

The required baseparse API addition has not been pushed yet,
which breaks the build.
2013-02-12 09:38:35 +00:00
David Schleef
63718da919 mpegvideoparse: set timestamp based on pic offset
Timestamps in MPEG-TS streams are based on the last timestamp
before the start code of the picture.  GstBaseParse sets the
timestamp based on the beginning of the sequence header, if
one exists before the picture.  This fixes the case where the
timestamp occurs in the MPEG-TS stream between the seq header
and picture start code.
2013-02-11 17:41:17 -08:00
Tim-Philipp Müller
b738115ebd yadif: fix distcheck 2013-02-11 23:46:27 +00:00
Tim-Philipp Müller
d3c79a6079 yadif: fix build in uninstalled setup 2013-02-11 22:40:35 +00:00
David Schleef
b339812c07 yadif: Add YADIF deinterlacing filter
Code copied from Libav, commit 26e4f0c70.  Will eventually be
moved to -ugly because underlying code is GPL.
2013-02-11 12:30:29 -08:00
David Schleef
10b44cc81b fieldanalysis: Add Y42B and Y444 formats 2013-02-11 12:30:29 -08:00
Tim-Philipp Müller
dee6536421 mxfdemux: fix taglist leak
Don't leak demuxer tag list.
2013-02-11 20:24:14 +00:00
Tim-Philipp Müller
453438a9dd mxfdemux: fix push mode unit test failure
In the sink event handler we end up sending multiple EOS
events per pad. Don't return FALSE when sending the
second EOS on an already-EOS pad fails. Not sure if there
was a reason for sending a second EOS, so leaving the
code in there for now, but assume all went fine if there
are source pads, which is slightly less wrong than before.
This function needs work.
2013-02-11 19:59:20 +00:00
Tim-Philipp Müller
e63027f198 gdp: actually log generic dataprotocol stuff to gdp category 2013-02-11 12:34:24 +00:00
Tim-Philipp Müller
632f2ac1c6 inter: don't use deprecated GLib threading API 2013-02-11 12:01:19 +00:00
Tim-Philipp Müller
eef2324e4d liveadder: don't use deprecated GLib threading API 2013-02-11 12:01:19 +00:00
Marc Leeman
6aa399ec9f mxfdemux: deprecated GStaticRWLock -> GRWLock
https://bugzilla.gnome.org/show_bug.cgi?id=693322
2013-02-09 18:35:48 +00:00
Marc Leeman
f7b16f6185 chromahold: deprecated GStaticMutex -> GMutex
https://bugzilla.gnome.org/show_bug.cgi?id=693322
2013-02-09 18:35:33 +00:00
Tim 'mithro' Ansell
c8cbe98d90 gdppay: fix buffer leak when new caps are same as old caps
The leak occurs when you got a message with identical caps to the ones you
already had.

https://bugzilla.gnome.org/show_bug.cgi?id=693324
2013-02-07 14:07:17 +00:00
Jan Schmidt
0344b33f40 dvdspu: Fix the rendering of PGS windows with left != 0
When rendering a PGS window area where the left edge is not at
pixel 0, the chroma was being rendered in the wrong place since
commit 4dc648d343
2013-02-07 22:51:05 +11:00
Tim Ansell
12255ff660 inter: fix leaks in test
https://bugzilla.gnome.org/show_bug.cgi?id=693300
2013-02-07 11:31:12 +00:00
Stefan Sauer
998cfde158 freeverb: port to 1.0 2013-02-07 08:56:37 +01:00
Stefan Sauer
09764eca37 audiovisualizers: add comments for monoscope porting 2013-02-07 07:29:17 +01:00
David Schleef
65927acc45 interlace: fix negotiation for true interlaced modes 2013-02-06 15:51:01 -08:00
Josep Torra
7fafbe2e22 tsdemux: expose VC1 streams with missing descriptor.
Fixes playback of VC1 streams when the descriptor is missing.
2013-02-05 23:07:12 +01:00
Robert Swain
4513a48e8a interlace: Add support for more telecine patterns 2013-02-05 13:40:39 +01:00
Robert Swain
0fc9b0b289 interlace: Add more verbose hints about field patterns 2013-02-05 13:40:32 +01:00
David Schleef
a19c0b5697 tsdemux: Add descriptors for SMPTE 302m audio 2013-02-04 18:07:17 -08:00
Mark Nauwelaerts
7df753165f h264parse: separate fields for distinct functional uses of codec_data field
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=692789
2013-02-02 19:29:40 +01:00
Tim-Philipp Müller
74d1f8a400 rtpdtmfsrc: fix compiler warning
gstrtpdtmfsrc.c: In function 'gst_dtmf_src_prepare_message.isra.1':
gstrtpdtmfsrc.c:669:3: error: 's' may be used uninitialized in this function
2013-01-26 22:58:29 +00:00
Olivier Crête
bbc8fda864 rtpdtmfdepay: Fix missing work in doc 2013-01-25 21:06:05 -05:00
Olivier Crête
a2384408f0 rtpdtmfsrc: Post the messages after the clock wait
This way, the messages will be closer in time to when the packets are sent out
2013-01-25 20:45:43 -05:00
Olivier Crête
b69f09e26f rtpdtmfsrc: Only set the duration when starting to send
The duration depends on the clock rate, which could change due to renegotiation
2013-01-25 20:45:43 -05:00
Olivier Crête
917d491d63 rtpdtmfsrc: remove "ssrc" from caps
ssrc is uint and we don't have a uint range type
2013-01-25 20:45:43 -05:00
Olivier Crête
81b452ba5d dtmf/spandsp: Move dtmfdetect to use libspandsp
Remove our copy of the tone_detect.c file and use the original
from libspandsp. Also move the element to the spandsp plugin.
2013-01-09 20:05:16 -05:00
Victor Gottardi
21477d37e2 hlssink: don't forward multifilesink messages to application
These messages are usually only needed internally.

https://bugzilla.gnome.org/show_bug.cgi?id=689822
2013-01-06 22:53:11 +00:00
Victor Gottardi
e6f5c5674c hlssink: m3u8 add EXT-X-ALLOW-CACHE
https://bugzilla.gnome.org/show_bug.cgi?id=689822
2013-01-06 22:53:11 +00:00
Victor Gottardi
4fb227b340 hlssink: round segment duration to nearest number of seconds
E.g. for 1s period, duration can be 0.99s, rounds down to 0, results in invalid
playlist

https://bugzilla.gnome.org/show_bug.cgi?id=689822
2013-01-06 22:53:10 +00:00
Tim-Philipp Müller
c313b7e212 hlssink: don't leak old playlist entries when using max-files
Based on patch by: Victor Gottardi <vgottardi@hotmail.com>

https://bugzilla.gnome.org/show_bug.cgi?id=689822
2013-01-06 22:53:00 +00:00
Tim-Philipp Müller
5522cceb55 inter: don't use deprecated GStaticMutex API 2013-01-04 17:19:25 +00:00
Tim-Philipp Müller
d1e9a96a69 mpegpsmux: use DTS in addition to PTS
And refactor choose_best_stream() a little.

videotestsrc pattern=ball ! x264enc ! mpegpsmux ! ...

plays much nicer now.
2013-01-01 11:59:39 +00:00
Tim-Philipp Müller
37de5a081c mpegpsmux: use gstreamer debug logging system everywhere 2012-12-31 19:45:54 +00:00
Tim-Philipp Müller
c056ecb02b mpegpsmux: port to 0.11
Naive port. Barely tested.
2012-12-31 19:42:03 +00:00
Matthias Hardt
0e3fdb1e16 tsdemux: extract ISO 639 language codes for subtitles into taglists
https://bugzilla.gnome.org/show_bug.cgi?id=680200
2012-12-28 23:32:55 +00:00
Thijs Vermeir
471ad809f6 videoparsers: use appropriate printf format for gsize 2012-12-18 16:52:26 +01:00
Thijs Vermeir
35a5100bc3 mxf: use appropriate printf format for gsize 2012-12-18 16:50:37 +01:00
Thijs Vermeir
67bbe5ebaf jpeg: use appropriate printf format for gsize 2012-12-18 16:40:59 +01:00
Thijs Vermeir
775cf6ab3e inter: use appropriate printf format for gsize 2012-12-18 16:20:08 +01:00
Sebastian Dröge
f623a78924 videoparsers: Make sure the caps are actually writable before changing them 2012-12-17 15:16:48 +01:00
Sebastian Dröge
9f1257330d videoparsers: Use the peer caps for restrictions instead of the srcpad allowed caps
Otherwise we will intersect with the srcpad template caps and add all the caps fields
that the parser will ever set, no matter if downstream restricts this field or not.
This requires upstream to set this field on the caps to successfully negotiate.

https://bugzilla.gnome.org/show_bug.cgi?id=690184
2012-12-17 15:04:44 +01:00
Tim-Philipp Müller
02ab609c11 rtpmux: remove rtpmux plugin, moved to -good
Move rtpmux and rtpdtmfmux into rtpmanager plugin in -good.

https://bugzilla.gnome.org/show_bug.cgi?id=629117
2012-12-16 17:36:45 +00:00
Tim-Philipp Müller
7ab936fa7e scaletempo: remove scaletempo plugin, moved to -good
https://bugzilla.gnome.org/show_bug.cgi?id=687262
2012-12-15 13:37:23 +00:00
Tim-Philipp Müller
8b2641805f autoconvert: don't use deprecated threading API 2012-12-14 18:09:06 +00:00
Wim Taymans
0e0dd05fd6 h264parse: use upstream width/height when given
The upstream width and height should override the dimension detected in the
file.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=683142
2012-12-13 14:15:04 +01:00
Arnaud Vrac
0d15c8a7a5 mpeg4videoparse: export number of sprite warping points in caps
This allows filtering out videos for hardware decoders that do not
support GMC at all or only support a limited number of sprite warping
points (usually 1).
2012-12-13 11:01:00 +00:00
Arnaud Vrac
07c2a82e5d mpeg4videoparse: handle divx caps
DivX 4/5 are MPEG4 part 2 videos, so they can be parsed by this plugin.
2012-12-13 11:01:00 +00:00
Tim-Philipp Müller
b0c30383ca mxfdemux: printf format fixes for debug messages 2012-12-12 18:50:09 +00:00