Greg Rutz
4d4fd09a3a
mpegtsmux: Fix memory leak when using prepare_func
...
prepare_func will allocate a new buffer to replace the original
one. Instead of using gst_buffer_replace (which causes an extra
refcount increment on the new buffer), we just unref the original
buffer.
https://bugzilla.gnome.org/show_bug.cgi?id=699786
2013-05-07 16:37:49 +02:00
Matej Knopp
946ffd0da5
mpegvideoparse: don't compare buffer size when checking whether to update caps
...
https://bugzilla.gnome.org/show_bug.cgi?id=699398
2013-05-03 12:52:18 +02:00
Tim-Philipp Müller
f1a6d84a6c
mpegvideoparse: don't announce incomplete source caps
...
Don't send any source caps yet if we're still in
drop-buffers-until-we-get-a-sequence-header mode.
Fixes transmuxing of many MPEG-TS/PS streams into
formats which require things like width, height or
codec_data on the input caps.
Also fixes issues when using playbin with decoder
sinks that want width/height etc.
https://bugzilla.gnome.org/show_bug.cgi?id=695879
2013-05-01 17:42:11 +01:00
Olivier Crête
6e5db57d24
liveadder: Document that the latency is in milliseconds
...
Bug #698896
2013-04-26 15:33:18 -04:00
Edward Hervey
65ba9b4756
tsdemux: convert packet PTS/DTS as soon as possible
...
We let the mpegtspacketizer deal with pcr wraparound/resets.
https://bugzilla.gnome.org/show_bug.cgi?id=674536
2013-04-26 15:49:18 +02:00
Edward Hervey
05b51dfec0
mpegtsdemux: header cleanups/updates
2013-04-26 15:49:18 +02:00
Josep Torra
b946de7211
h264parse: Update src pad caps when it was explicitly signaled
...
Fixes src pad caps aren't updated when converting from AVC to bytestream
and new caps had been received in the sink pad.
https://bugzilla.gnome.org/show_bug.cgi?id=698679
2013-04-26 10:38:36 +02:00
Thiago Santos
d8b8809d57
tsdemux: Fix caps string leak
2013-04-24 12:28:17 +02:00
Wim Taymans
57ed87f51b
aiff: port to 1.0
2013-04-18 17:18:49 +02:00
Greg Rutz
2306d51d9d
tsdemux: Add support for Motorola DigiCipher II MPEG2 video
...
Since there is a conflict between the DCII stream type and BluRay
stream types, moved the processing of BluRay-specific stream types
to the beginning of the function. Only if a BluRay stream type
IS NOT found do we proceed to check the rest of the stream type
identifiers
Previous code was also "sort-of" handling a similar conflict between
BluRay AC3 audio and standard AC3 audio. Moved the special case BluRay
AC3 handling in the main switch statement to the new BluRay-specific
switch.
https://bugzilla.gnome.org/show_bug.cgi?id=697892
2013-04-18 09:30:58 +02:00
Youness Alaoui
ece3d1c2f6
h264parse: Do not check for VUI parameters if they were not present in the SPS
2013-04-16 19:58:06 -04:00
David Schleef
303a2eaec4
mpegtsdemux: check value before using as denominator
2013-04-15 17:05:30 -07:00
Sebastian Dröge
e51cd4fe2f
gst: Add better support for static plugins
2013-04-15 15:59:22 +02:00
Wim Taymans
9699a974ca
sdpdemux: fix timeout value
...
Timeout on udpsrc is in nanoseconds in 1.0
2013-04-15 09:28:05 +02:00
Alexander Olsson
90229af34c
jpegparse: accept any jpeg input - parsed, unparsed or unmarked
...
The src element may not include information about whether
the data is parsed or not. Hence do not require parsed=false.
Fixes multipartdemux ! jpegparse ! ...
https://bugzilla.gnome.org/show_bug.cgi?id=697884
2013-04-13 13:54:52 +01:00
David Schleef
8552396c36
videoanalyse: port to 1.0
2013-04-12 14:11:09 -07:00
David Schleef
83862968a3
videofiltersbad: port to 1.0
2013-04-12 14:11:06 -07:00
Matej Knopp
13ac73bef4
mpegdemux: decrease log priority for repeating messages
...
https://bugzilla.gnome.org/show_bug.cgi?id=697834
2013-04-12 00:18:36 +01:00
Sebastian Dröge
2713fd1058
tsdemux: Check the continuity counter for non-section packets too
...
And if we detect a discontinuity there (like... when losing packets
or having MPEGTS over raw UDP with out-of-order packets) we just
drop the corresponding packet.
A future version could try to implement a re-ordering algorithm based
on that, similar to what rtpjitterbuffer does.
2013-04-11 13:11:44 +02:00
Stefan Sauer
2991e1ed48
mfxdemus: update todo (ther eis a muxer)
2013-04-11 10:06:23 +02:00
Sebastian Dröge
4ca886c53b
mpegtsbase: Call ::program_stopped after removing all streams
...
Subclasses want to access the program while removing the streams
and will currently crash because of dereferencing NULL in some cases.
2013-04-10 16:19:00 +02:00
Alexander Schrab
3320f29a88
watchdog: race between g_main_loop_run/_quit fixed
...
https://bugzilla.gnome.org/show_bug.cgi?id=697694
2013-04-10 10:36:19 +01:00
David Schleef
329c250a41
watchdog: fix event handling
2013-04-09 15:43:35 -07:00
David Schleef
63a2fac9a9
yadif: remove extra template code
2013-04-09 15:43:35 -07:00
David Schleef
45cb1195a6
ivtc: remove transform_size, it's not needed
2013-04-09 15:43:35 -07:00
David Schleef
9fd00c01a3
interaudiosink: fix leak when not connected
2013-04-09 15:36:17 -07:00
Edward Hervey
98265d0b28
tsdemux: Add support for TrueHD audio
2013-04-07 18:41:38 +02:00
Tim-Philipp Müller
a84e2ccbb8
audiovisualizer: shaders assume 32bpp
...
Backport fix for crashes and invalid writes in totem from libvisual
in -base, to minimise differences to version in -base and to make
sure the bug doesn't sneak back in later when the base class is
made public.
The shader code looks like it makes assumptions that are not
necessarily always true, even if they're true for now for the
existing elements, namly that pixel stride is 4, for example.
See https://bugzilla.gnome.org/show_bug.cgi?id=683527
2013-04-05 00:53:54 +01:00
Matthew Waters
bf502f5502
audiovisualizer: handle non-existant pool in the default allocation query
...
gst_query_set_nth_allocation_pool() requires there to be a pool in the
query already. This is not always the case when we get the query from
upstream. Use gst_query_add_allocation_pool() instead in such case.
https://bugzilla.gnome.org/show_bug.cgi?id=681719
2013-04-05 00:38:36 +01:00
Wim Taymans
5d72759fec
audiovisualizer: improve allocation
...
Based on patch by Matthew Waters
Add private data
Add decide_allocation vmethod
Refactor bufferpool negotiation
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681719
2013-04-05 00:37:08 +01:00
Edward Hervey
2296296a51
mpegvideoparse: Only add meta if downstream needs it
...
It's not perfect, because in the cases where upstream doesn't
initiate an allocation query, we won't know.
2013-03-31 19:04:12 +02:00
Edward Hervey
14e7e78b7a
mpegvideoparse: Store information in GstMpegVideo12Meta
...
FIXME : Only do so if we know downstream will need it
2013-03-31 18:55:33 +02:00
Edward Hervey
ca3146a2cd
tsparse: Ensure segment events are forwarded
...
We skip them for tsdemux though (recreated later)
Fixes #690949
2013-03-30 13:54:37 +01:00
Wim Taymans
d7bcf7206f
mpegpsdemux: push stream start event
2013-03-30 11:15:48 +01:00
Josep Torra
b6719fe0e3
midiparser: ensure variable is initialized and fix debug message access
2013-03-30 10:57:08 +01:00
Josep Torra
030cf658e6
mpeg4videoparser: Fix a compiler warning about uninitialised variable use
2013-03-30 09:52:45 +01:00
David Schleef
a1bb437ece
watchdog: new element
2013-03-27 15:31:21 -07:00
David Schleef
65cb59912b
mxfdemux: Use %03u for format in gst_pad_create_stream_id_printf()
2013-03-25 18:57:32 -07:00
Wim Taymans
f468979dea
interlaced: set both DTS and PTS
...
Handle both dts and pts on output buffers.
2013-03-25 10:10:28 +01:00
Douglas Bagnall
0c9db072ce
tsdemux: remove unused current_program_number field
...
https://bugzilla.gnome.org/show_bug.cgi?id=690934
2013-03-24 20:58:28 +00:00
Tim-Philipp Müller
0002f7638b
rawparse: send segment event in time format also in push mode
...
When converting the incoming segment from byte to time format,
don't just convert the start/stop/time values, but also change
the segment format to TIME.
https://bugzilla.gnome.org/show_bug.cgi?id=696361
2013-03-22 19:40:58 +00:00
Sebastian Dröge
dfa6c17de5
y4mdec: Use the correct strides as used by y4m and convert to GStreamer strides if necessary
...
https://bugzilla.gnome.org/show_bug.cgi?id=696361
2013-03-22 15:53:08 +01:00
Sebastian Dröge
58bfdb2798
y4mdec: Use the default event/query handlers for the default handling
...
Especially don't forward caps events from the sinkpad to the srcpad.
https://bugzilla.gnome.org/show_bug.cgi?id=696282
2013-03-22 14:52:54 +01:00
Sebastian Dröge
5dba06113d
y4mdec: Properly handle segment and time values of -1
2013-03-22 14:50:28 +01:00
Wim Taymans
5981ad182e
midi: set midi parser rank primary
...
Now that it supports seeking and all, mark it primary
2013-03-22 14:48:52 +01:00
Wim Taymans
5474532f57
midiparse: always seek back to beginning
...
We always need to seek back to the beginning because when we do a flushing seek,
we might have lost events downstream.
2013-03-22 13:49:49 +01:00
Wim Taymans
803f564013
midiparse: implement seeking
...
Seek back to 0 for backward seeking and let things run and clip for forwards
seeking.
2013-03-22 12:25:16 +01:00
Wim Taymans
661989bcb7
midiparse: simplify the callbacks
...
We only need one callback to send bytes out.
2013-03-21 18:18:29 +01:00
Wim Taymans
06e06b6159
midiparse: clean up tracks
2013-03-21 17:25:32 +01:00
Wim Taymans
7a14606b51
midiparse: don't leak midi data
2013-03-21 17:16:24 +01:00
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
Tim-Philipp Müller
796708b3e3
hls: minor Makefile clean-up
...
Remove superfluous SOUP_CFLAGS and SOUP_LIBS.
2012-12-12 00:40:20 +00:00
Michael Esemplare
91bf909469
hls: link to the right gst-plugins-base libs and fix libs order
...
https://bugzilla.gnome.org/show_bug.cgi?id=690030
2012-12-11 21:13:21 +00:00
Sebastian Dröge
3478231790
mxfdemux: Don't allow any wrapping other than frame wrapping
...
Bad things will happen otherwise, like reading a complete,
multiple GB large video track into a single buffer.
Conflicts:
gst/mxf/mxfdemux.c
2012-12-06 10:10:05 +01:00
Sebastian Dröge
76ca3c77d7
mxfdemux: Add function to get the essence track wrapping
2012-12-06 10:09:21 +01:00
Sebastian Dröge
28c11b2762
mxf: Add support for parsing filler structural components
...
This does not add support for actually producing filler data
if there's a filler component in a timeline.
2012-12-05 12:24:30 +01:00
Sebastian Dröge
a83b798312
mxf: Improve debug output during metadata resolval
2012-12-05 12:10:44 +01:00
Tim-Philipp Müller
caa9014bce
resindvd, frei0r: link to libgmodule-2.0 in plugins that use g_module_* API
...
Probably needed for other plugins as well.
2012-11-30 20:01:16 +00:00
Sebastian Dröge
84e5418cfc
mxf: Add more support for RP2008 (AVC in the MPEG mapping)
...
Conflicts:
gst/mxf/mxfmpeg.c
2012-11-30 15:19:35 +01:00
Krzysztof Konopko
13910f5154
mpegtsmux: crashes when trying to re-use the element
...
A crash occured after pushing buffers and changing mpegtsmux state to
NULL/READ and then back to PLAYING/PAUSED.
The crash was caused by holding a dangling pointer in the MpegTsMux
program table.
Additionally stream headers were leaked when resetting the element:
mux->streamheader set to NULL in mpegtsmux_reset() before it's released
later in the same function.
Added a unit test: test_multiple_state_change
https://bugzilla.gnome.org/show_bug.cgi?id=689107
2012-11-27 19:00:25 +00:00
Krzysztof Konopko
76b8e8be51
mpegtsmux: propagate flow returns
...
And add a unit test.
https://bugzilla.gnome.org/show_bug.cgi?id=688870
2012-11-23 00:14:53 +00:00
Tim-Philipp Müller
c6343ae5b5
hlssink: add doc chunk with example command line
2012-11-20 23:20:38 +00:00
Thibault Saunier
d53a447731
mpeg4videoparse: Fix nitpick
2012-11-15 11:40:05 -03:00
Thibault Saunier
daed78039e
mpeg4videoparse: Make sure pad template caps are not fixed from the begging
...
Right now decodebin will concider the pad template caps as fixed and if a decoder
has restriction on for example height/width it won't be autoplugged because
gst_caps_is_subset fails as those fields are missing from the pad template caps.
We fix the issue here making sure that the pad caps are fixed using data from
the stream.
2012-11-15 10:45:53 -03:00
Josep Torra
3d012665f0
tsdemux: forward upstream time segments after flushes
...
Also reset segment info and drop the segment event when demuxer is
flushed.
Restore demuxer segment with the info stored in base when demuxer is
going to push data again if needed.
Drop code to recover the segment info from base in the initial program
becauses it's superseded by the new code.
2012-11-14 22:51:35 +01:00
Tim-Philipp Müller
9f7e7d305d
gst_adapter_prev_timestamp -> gst_adapter_prev_pts
2012-11-14 12:41:27 +00:00
Tim-Philipp Müller
3abce95e61
hls: dist all header files needed to build
2012-11-14 11:35:23 +00:00
Tim-Philipp Müller
acd20a7960
accurip: fix linker flags
...
Spotted by Rico Tzschichholz.
2012-11-14 10:46:55 +00:00
Josep Torra
0b3e0ed080
tsdemux: reset the stream some more in the flushes
...
Now that we handle flushing in the FLUSH_STOP event we need to make
the streams ready if they were flushing.
2012-11-12 22:57:19 +01:00
Josep Torra
150376efe4
mpegtspacketizer: flush observations too
...
Flush the previous observations when the packetizer is flushed.
Also don't leak them in the dispose.
2012-11-12 22:57:19 +01:00
Josep Torra
1fc5fffe08
mpegtsbase: fix double unref of seek event
2012-11-12 22:57:19 +01:00
Josep Torra
cc40d49bed
mpegtsbase: flush in FLUSH_STOP to avoid race conditions
...
Ensure the chain is not running before reset the state to avoid race
conditions and random corruptions downstream.
Also fixes segfaults in the packetizer due wrong available values that
causes gst_adapter_map to return a NULL pointer.
2012-11-12 22:57:19 +01:00
Josep Torra
996da425a9
Revert "tspacketizer: ensure that a null pointer isn't accessed"
...
This reverts commit 6efd611b8c
.
Also this extra check won't be needed if it's fixed the race by moving
flush actions to FLUSH_STOP.
2012-11-10 19:52:46 +01:00
Josep Torra
80dd130fb0
Revert "tsbase: add a guard with an atomic boolean when flushing"
...
This reverts commit e14e310f71
.
Would be better move the packetizer flushing to FLUSH_STOP and avoid
the race that way. Without introducing a memory barrier that could
have impact in the performance.
2012-11-10 19:46:40 +01:00
Alessandro Decina
51c4f255be
hlssink: remove vim .swp files that I just committed accidentally...
2012-11-10 14:43:17 +01:00
Alessandro Decina
48431d76e6
hlssink: port to 1.0
2012-11-10 14:40:50 +01:00
Alessandro Decina
8cc1400488
hlssink: cut segments using the running-time
2012-11-10 14:40:50 +01:00
Alessandro Decina
b9018b2870
hlssink: don't unref ->multifilesink.
...
We gst_bin_add it to ourself so no need to unref in _dispose.
2012-11-10 14:40:50 +01:00
Alessandro Decina
b46886643b
hlssink: rework _reset a bit
2012-11-10 14:40:38 +01:00
Josep Torra
e14e310f71
tsbase: add a guard with an atomic boolean when flushing
2012-11-10 00:08:35 +01:00
Josep Torra
6efd611b8c
tspacketizer: ensure that a null pointer isn't accessed
...
Mitigates segfault due race condition in FLUSH_START handling and
mpegts_base_chain.
2012-11-09 22:17:11 +01:00
Edward Hervey
651203de07
mpegts: Only use timestamp-based PCR/PTS estimation when needed
...
When dealing with non-time based push-mode streams, we need to revert
to using the offset-based PCR/PTS estimation logic of packetizer.
This solves uses cases such as:
pushfile:// ! tsdemux
src ! queue ! tsdemux
https://bugzilla.gnome.org/show_bug.cgi?id=687178
2012-11-09 12:15:24 +01:00
Kevin Thornberry
c2d4c0da5e
mpegtsmux: fix DTS value being used for PTS
...
https://bugzilla.gnome.org/show_bug.cgi?id=687806
2012-11-07 20:34:38 +00:00
Thibault Saunier
b3abd51656
h264parse: don't rewind to the NAL length size in bytewriter if the format is bytestream
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=687548
Signed-off-by: Kevin Thornberry
2012-11-06 12:44:29 -03:00
Thibault Saunier
72933e3929
h264parse: Actually add PPS data to the output buffer
2012-11-06 11:54:39 -03:00
Will Thompson
b4bf05b32e
hlssink: add a playlist-length property
...
Probably not particularly useful in general, but handy
to cut down the latency on a stream.
https://bugzilla.gnome.org/show_bug.cgi?id=687133
2012-11-05 12:50:11 +00:00
Luciana Fujii Pontello
40325be3a4
hlssink: reset when going to NULL state
...
https://bugzilla.gnome.org/show_bug.cgi?id=687133
2012-11-05 12:50:07 +00:00
Luciana Fujii Pontello
dda3106650
hlssink: Fix segment names on playlist
...
When the playlist-root is not set, the segment name must not be
appended by the path.
https://bugzilla.gnome.org/show_bug.cgi?id=687133
2012-11-05 12:50:04 +00:00
Tim-Philipp Müller
9e1b75fda3
Fix FSF address
...
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:09:59 +00:00
Sebastian Dröge
6fbf96d3e4
scaletempo: Use a better plugin filename
2012-11-02 13:44:02 +01:00
Tim-Philipp Müller
854626c908
rtpvp8: remove and move to -good
...
https://bugzilla.gnome.org/show_bug.cgi?id=687263
2012-11-01 20:50:56 +00:00
Jan Schmidt
119c27c9b9
tsmux: Slightly reflow collected buffer handler for clarity.
2012-10-30 10:00:08 +11:00
Sebastian Pölsterl
43938bbf54
tsdemux: Fix name of CAT GstStructure
...
The structure previously was assigned the name "pat".
https://bugzilla.gnome.org/show_bug.cgi?id=686948
2012-10-29 13:16:46 +01:00
Tim-Philipp Müller
72353aeb71
docs: add new accurip element to docs
...
https://bugzilla.gnome.org/show_bug.cgi?id=685163
2012-10-28 16:54:07 +00:00
Christophe Fergeau
8c81e39de0
accuraterip: new element for AccurateRip calculation
...
https://bugzilla.gnome.org/show_bug.cgi?id=685163
2012-10-28 16:36:01 +00:00
Michael Smith
0c8a7fa46f
mxf: Port mxfdemux to 1.0
...
Also ports mxfmux to 1.0 to the extent that it compiles, but is 100% untested,
so remains disabled.
Conflicts:
gst/mxf/mxfdemux.c
gst/mxf/mxfmux.c
2012-10-26 13:48:06 -07:00
Mark Nauwelaerts
0d1c7f6ea2
videoparsers: use parsed or upstream fps to set some baseparse parameters
2012-10-25 18:02:38 +02:00
Mark Nauwelaerts
58441bf262
h264parse: extract structure from correct caps
...
... which are known != NULL.
2012-10-25 18:02:38 +02:00
Mark Nauwelaerts
821c8519e0
videoparsers: preserve upstream fps and par
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=660866
2012-10-25 17:07:18 +02:00
Sebastian Dröge
36680b1190
vc1parse: Give vc1parse a rank of NONE for now
2012-10-25 14:05:48 +02:00
Sebastian Dröge
6d5fc5a771
vc1parse: Port to 1.0
2012-10-25 14:05:48 +02:00
Alessandro Decina
00abb674ca
vc1parse: disable BDU parsing until it's more mature
...
Parsing and splitting BDUs seems to trigger a few bugs in
downstream decoders so disable it for now.
2012-10-25 14:05:48 +02:00
Alessandro Decina
d03f5499bd
vc1parse: set duration on output buffers
...
This has the nice side effect of avoiding hanging at EOS with truncated asf
clips.
Conflicts:
gst/videoparsers/gstvc1parse.c
2012-10-25 14:05:48 +02:00
Alessandro Decina
f287dec1a2
vc1parse: workaround for simple/main codec_data being 5 bytes long
...
Sometimes the codec_data buffer for simple/main pushed by asfdemux is 5 bytes
instead of 4. When that happens, codec_data is still valid but it seems to have
one 0x00 trailing byte. Might be a bug in the demuxer, needs more investigation.
2012-10-25 14:05:48 +02:00
Alessandro Decina
8aec23ac05
vc1parse: remove stub stream conversion code
2012-10-25 14:05:48 +02:00
Alessandro Decina
cbecbbe23e
vc1parse: add some more debugging to _renegotiate
2012-10-25 14:05:48 +02:00
Sebastian Dröge
5af8f82ecd
vc1parse: Add VC1 parser plugin
2012-10-25 14:05:48 +02:00
Thijs Vermeir
1d710ad13a
mpegdemux: check base_time before calculating new_start
...
https://bugzilla.gnome.org/show_bug.cgi?id=623387
2012-10-24 12:01:46 +02:00
Sebastian Dröge
df12aae15b
scaletempo: Fix event leak
2012-10-23 14:33:21 +02:00
Sebastian Dröge
7c136f1166
scaletempo: Fix timestamp tracking
2012-10-23 14:32:24 +02:00
Sebastian Dröge
bb0c2d40c4
scaletempo: Implement LATENCY query
2012-10-23 14:20:12 +02:00
Sebastian Dröge
9319b48d24
scaletempo: Store instance private data in the instance struct
...
Getting it over and over again via G_TYPE_INSTANCE_GET_PRIVATE()
is really slow.
2012-10-23 13:39:17 +02:00
Sebastian Dröge
1bafd6191a
hls: Link to $(LIBM) for isfinite()
2012-10-23 10:07:31 +02:00
Tim-Philipp Müller
2c02e25640
subenc: port to 1.0
2012-10-22 11:00:38 +01:00
Jan Schmidt
5888c60570
mpegtsmux: Don't make the same buffer writable twice.
...
Fixes Bug 686327 - mpegtsmux: fix refcount issue with input buffers
2012-10-22 01:41:41 +11:00
Mark Nauwelaerts
88f407bb5b
mpegdemux: forward non-processed dvd events
...
... such as notably dvd-spu-clut-change.
2012-10-19 16:17:45 +02:00
Mark Nauwelaerts
a2b6f46f00
mpegdemux: segment event should be sent before gap event
2012-10-19 16:17:45 +02:00
Tim-Philipp Müller
465374f3c8
tsdemux: fix program packet sequence counter parsing in PES header
2012-10-19 01:05:44 +01:00
Tim-Philipp Müller
10c881b107
tsdemux: fix some inconsequential PES header parsing issues
...
additional_copy_info: need to get rid of the highest
bit, not the lowest one
program_packet_sequence_counter: also need to get rid
of the highest bit instead of multiplying with a random
value
original_stuff_length: want to AND 0x3f to extract the
lowest 6 bits, not multiply by it.
None of these fields are actually used though, so these
should not have caused any issues.
2012-10-19 01:05:34 +01:00
Raimo Järvi
9640669689
tsdemux: Fix parsing P-STD_buffer in PES header
...
https://bugzilla.gnome.org/show_bug.cgi?id=686294
2012-10-19 00:29:40 +01:00
Andoni Morales Alastruey
f768dfd925
tsdemux: fix potential crash dereferencing NULL program pointer
...
https://bugzilla.gnome.org/show_bug.cgi?id=686358
2012-10-18 17:54:41 +01:00
Tim-Philipp Müller
32ba17cd0f
Use gst_element_class_set_static_metadata()
...
where possible. Avoids some string copies. Also re-indent
some stuff. Also some indent fixes here and there.
2012-10-17 17:46:34 +01:00
Sebastian Dröge
5e6783f5af
mpegdemux: Fix unitialized variable compiler warning
2012-10-16 11:38:08 +02:00
Sebastian Dröge
932c7175d3
hlsdemux: And fix another deadlock caused by the update thread not correctly shutting down
...
Conflicts:
gst/hls/gsthlsdemux.c
2012-10-15 11:46:45 +02:00
Sebastian Dröge
477b04a282
hlsdemux: Also hold the mutex before signalling the condition variable
...
Conflicts:
gst/hls/gsturidownloader.c
2012-10-15 11:04:06 +02:00
Sebastian Dröge
113ccb1a53
hlsdemux: Also cancel the downloader before stopping the playlist update task
2012-10-15 10:55:12 +02:00
Sebastian Dröge
b335f5a68e
hlsdemux: Only lock the mutex when it's not locked already
...
Conflicts:
gst/hls/gsthlsdemux.c
2012-10-15 10:39:52 +02:00
Sebastian Dröge
443703a08e
hlsdemux: Fix another race condition by holding the mutex that the condition variable uses
...
Conflicts:
gst/hls/gsthlsdemux.c
2012-10-15 10:38:36 +02:00
Sebastian Dröge
e3f00d6252
hlsdemux: Port some things from the last commits
2012-10-15 09:47:35 +02:00
Sebastian Dröge
4df3fad9e4
hlsdemux: Never ever stop a task from the task function
...
This will deadlock. Also make sure to always post an error message
if required before pausing tasks from the task function.
Should fix another bunch of deadlocks.
Conflicts:
gst/hls/gsthlsdemux.c
2012-10-15 09:45:14 +02:00
Sebastian Dröge
ca57dd81e4
hlsdemux: Fix lots of deadlocks caused by race conditions in the task state handling
2012-10-15 09:44:09 +02:00
Mark Nauwelaerts
953e94ac78
mpegdemux: advance stream time when sending GAP event
2012-10-12 22:35:05 +02:00
Mark Nauwelaerts
c24eb1db9b
mpegdemux: send language info downstream if available
...
... as extracted from dvd event.
2012-10-12 22:35:05 +02:00
Mark Nauwelaerts
f708ab8de9
mpegdemux: remove obsolete struct field
2012-10-12 22:34:56 +02:00
Michael Smith
e3a1e489d2
audioparse: Set framesize and properties correctly when taking format
...
from caps.
2012-10-12 12:29:59 -07:00
Mark Nauwelaerts
ba47769823
mpegdemux: tweak flow return aggregation
2012-10-12 17:51:51 +02:00
Mark Nauwelaerts
a9c0609ae8
mpegdemux: handle upstream TIME segments
2012-10-12 17:03:38 +02:00
Mark Nauwelaerts
69cfbcbd0b
mpegdemux: handle and combine downstream flow return
2012-10-12 17:03:38 +02:00
Mark Nauwelaerts
acc0530f33
mpegdemux: handle new style dvd event
2012-10-12 17:03:38 +02:00
Mark Nauwelaerts
61849aad61
mpegdemux: do not add pad after no-more-pads
2012-10-12 17:03:38 +02:00
Mark Nauwelaerts
44583eae90
mpegdemux: clean up segment sending
...
... to use the src_segment as a basis for the sent segment,
thereby properly conveying accumulated base_time etc.
Also ensure src_segment is only adjusted once, so that
all downstream segments are identical to avoid stream
misalignment.
2012-10-12 17:03:38 +02:00
Mark Nauwelaerts
b8312df0a3
mpegdemux: send GAP event rather than segment updates
2012-10-12 17:03:38 +02:00
Mark Nauwelaerts
20cd96f5c3
mpegdemux: refactor segment sending
2012-10-12 17:03:37 +02:00
Mark Nauwelaerts
aca6237b3e
mpegdemux: refactor init and reset
2012-10-12 17:03:37 +02:00
Mark Nauwelaerts
08d2fff2fd
mpegdemux: no more segment closing in 1.0
2012-10-12 16:48:54 +02:00
Mark Nauwelaerts
ab337317fa
mpegdemux: clean up some debug statements
2012-10-12 16:48:54 +02:00
Sebastian Dröge
e5eceaaa73
mpegtsdemux: First push EOS, then destroy all programs
...
And also properly remove the program from the subclass
2012-10-12 15:38:44 +02:00
Sebastian Dröge
80a3a014f5
hlsdemux: Fix invalid read
2012-10-12 15:09:07 +02:00
Sreerenj Balachandran
0b5fde7ed8
mpegvideoparse: signal interlacing properly in video caps
...
The field is called "interlace-mode" mode now and is a string.
https://bugzilla.gnome.org/show_bug.cgi?id=685895
2012-10-10 16:56:38 +01:00
Wim Taymans
380b23af90
replace some playbin2 -> playbin
2012-10-10 14:14:43 +02:00
Mark Nauwelaerts
a17b1f4c91
mpeg4videoparse: reset frame parser after parsing caps codec data
...
... so as to arrange for a proper fresh state upon first frame.
2012-10-10 09:59:46 +02:00