Mark Nauwelaerts
a9b4ceefaf
flacdec: also support S24_32 output
2012-07-25 16:02:39 +02:00
Tim-Philipp Müller
e09ae5736d
Use new gst_element_class_set_static_metadata()
2012-04-10 00:51:41 +01:00
Mark Nauwelaerts
5550d8bc6f
flacdec: clean up obsolete log statement
2012-03-28 14:50:03 +02:00
Wim Taymans
c44cd8f55b
Merge branch 'master' into 0.11
...
unport gdkpixbuf
not merged: https://bugzilla.gnome.org/show_bug.cgi?id=654850
Conflicts:
docs/plugins/Makefile.am
docs/plugins/gst-plugins-good-plugins-docs.sgml
docs/plugins/gst-plugins-good-plugins-sections.txt
docs/plugins/gst-plugins-good-plugins.hierarchy
docs/plugins/inspect/plugin-avi.xml
docs/plugins/inspect/plugin-png.xml
ext/flac/gstflacdec.c
ext/flac/gstflacdec.h
ext/libpng/gstpngdec.c
ext/libpng/gstpngenc.c
ext/speex/gstspeexdec.c
gst/audioparsers/gstflacparse.c
gst/flv/gstflvmux.c
gst/rtp/gstrtpdvdepay.c
gst/rtp/gstrtph264depay.c
2012-03-22 11:53:24 +01:00
Mark Nauwelaerts
19121249bd
flacdec: improve error handling and resilience
...
... by noting that one occurred in the first place, and then appropriately
ignoring some transient ones.
2012-03-19 12:02:42 +01:00
Wim Taymans
ecaea36c3d
update for memory api changes
2012-03-15 13:36:17 +01:00
Mark Nauwelaerts
abc8c162ed
flacdec: shift in proper direction for audio sample conversion
2012-02-09 22:09:31 +01:00
Sebastian Dröge
161229a384
flac: Use new audio encoder/decoder base class API for srcpad caps
2012-02-01 16:27:47 +01:00
Wim Taymans
b4630dd3e0
more memory API porting
2012-01-25 12:30:29 +01:00
Mark Nauwelaerts
1911812572
flacdec: improve upstream peer duration querying
...
... to avoid accepting unhandled duration query result.
2012-01-20 17:10:19 +01:00
Wim Taymans
1584806634
port to new gthread API
2012-01-19 11:33:53 +01:00
Sebastian Dröge
93e3ed5a86
Merge branch 'master' into 0.11
...
Conflicts:
ext/cairo/gsttextoverlay.c
ext/pulse/pulseaudiosink.c
gst/audioparsers/gstaacparse.c
gst/avi/gstavimux.c
gst/flv/gstflvmux.c
gst/interleave/interleave.c
gst/isomp4/gstqtmux.c
gst/matroska/matroska-demux.c
gst/matroska/matroska-mux.c
gst/matroska/matroska-mux.h
gst/matroska/matroska-read-common.c
gst/multifile/gstmultifilesink.c
gst/multipart/multipartmux.c
gst/shapewipe/gstshapewipe.c
gst/smpte/gstsmpte.c
gst/udp/gstmultiudpsink.c
gst/videobox/gstvideobox.c
gst/videocrop/gstaspectratiocrop.c
gst/videomixer/videomixer.c
gst/videomixer/videomixer2.c
gst/wavparse/gstwavparse.c
po/ja.po
po/lv.po
po/sr.po
tests/check/Makefile.am
tests/check/elements/qtmux.c
tests/check/elements/rgvolume.c
2012-01-10 14:32:32 +01:00
Sebastian Dröge
a22a566c0b
flac: Port to the new raw audio caps
2012-01-06 09:40:55 +01:00
Tim-Philipp Müller
b8b8454bcb
Suppress deprecation warnings in selected files, for g_static_rec_mutex_* mostly
...
GStaticRecMutex is part of our API/ABI, not much we can do here
in 0.10 for most of these.
2011-12-12 09:46:27 +00:00
Vincent Penquerc'h
c0e101e93f
various: fix pad template leaks
...
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:30:27 +00:00
Tim-Philipp Müller
736a484129
More printf format warning fixes
2011-11-22 01:40:39 +00:00
Vincent Penquerc'h
8548b2c777
flacdec: fix spurious timestamp discontinuity
...
We need to tell the base class that we're dropping buffers,
so it drops the input timestamps corresponding to these.
Otherwise, the first actual audio buffers we output will be
stamped with those - GST_CLOCK_TIMESTAMP_NONE. That mismatch
between input buffer count and output buffer count will stay
while playing. With enough headers and long enough buffer
durations, the sink will have played enough before receiving
the first valid timestamp (usually 0), and will trigger an
audible discontinuity.
2011-11-15 13:36:15 +00:00
Vincent Penquerc'h
5a73374f2c
flacdec: fix off by one between granpos and last_stop
2011-11-07 12:38:10 +00:00
Tim-Philipp Müller
a49818f876
flacdec: parse stream headers from caps in set_format function
...
Not that this seems to be actually needed, libflac happily decodes
stuff even if we just drop all headers and never feed it to the
library.
2011-10-30 19:12:44 +00:00
Tim-Philipp Müller
ab591b6d53
flacdec: don't extract metadata, leave that to the parser or container
2011-10-30 19:12:44 +00:00
Tim-Philipp Müller
5ab43cdf91
flacdec: we expect framed input now, remove some more code
2011-10-30 19:12:39 +00:00
Tim-Philipp Müller
92361863e6
flacdec: naive port to GstAudioDecoder
...
This would probably have been too invasive to do in the 0.10
branch, with all the pull-mode and parser handling code in
there.
2011-10-30 17:39:40 +00:00
Tim-Philipp Müller
9cd17092d8
ext, gst: update for taglist API changes
2011-10-30 11:44:53 +00:00
Tim-Philipp Müller
3d01b9f398
flacdec: get rid of granulepos handling
...
Leave that to the parser or demuxer. There's still some
code for operating in DEFAULT (samples) format, but that
will be removed later.
2011-09-28 19:10:27 +01:00
Tim-Philipp Müller
5c28f426d7
flacdec: get rid of pull-mode support and focus on being a decoder
...
Leave all the other stuff to flacparse.
2011-09-28 19:03:13 +01:00
Wim Taymans
b4524858be
flac: port to 0.11
2011-09-28 17:40:01 +02:00
Wim Taymans
e9df54819c
Merge branch 'master' into 0.11
2011-08-24 14:16:44 +02:00
Monty Montgomery
799c8e3d04
flacdec: Correct sample number rounding resulting in timestamp jitter
...
flacdec converts the src timestamp to a sample number, uses that internally, then reconverts the sample number to a timestamp for the output buffer. Unfortunately, sample numbers can't be represented in an integer number of nanoseconds, and the conversion process was truncating rather than rounding, resulting in sample numbers and output timestamps that were often off by a full sample.
This corrects the time->sample convesion
2011-08-23 10:09:41 +02:00
Wim Taymans
ce1e7cb108
Merge branch 'master' into 0.11
...
Conflicts:
ext/flac/gstflacdec.c
2011-08-17 15:52:18 +02:00
Vincent Penquerc'h
3e0134f51f
flacdec: avoid timestamp/offset tracking going out of sync
...
The libFLAC API is callback based, and we must only call it to
output data when we know we have enough input data. For this
reason, a single processing step is done when receiving a buffer.
However, if there were metadata buffers still pending, a step
intended for the first audio frame might end up writing that
leftover metadata. Since a single step is done per buffer, this
will cause every buffer to be written one step late.
This would add some latency (a bufferfull's worth), possibly
lose a buffer when seeking or the like, and also cause timestamp
and offset to be applied to the wrong buffer, as updates to
the "current" segment last_stop (from incoming buffer timestamp)
will be applied to an output buffer originating from the previous
incoming buffer.
This fixes the issue by ensuring that, upon receiving the first
audio frame, processing is done till all metadata is processed,
so the next "single step" done will be for the audio frame. After
this, we should keep to 1 input buffer -> 1 output buffer and so
avoid getting out of sync.
https://bugzilla.gnome.org/show_bug.cgi?id=650960
2011-08-17 13:40:59 +01:00
Vincent Penquerc'h
e09eb95a5f
flacdec: bail on reserved value
...
Now that we look at the right bits, we can test against the reserved
value as we do for other fields.
https://bugzilla.gnome.org/show_bug.cgi?id=650960
2011-08-17 00:02:38 +01:00
Vincent Penquerc'h
64beef4610
flacdec: fix bit twiddling
...
Right shifting a 8 bit value by 8 bits is twice too much
to get the high 4 bits.
https://bugzilla.gnome.org/show_bug.cgi?id=650960
2011-08-17 00:01:37 +01:00
Vincent Penquerc'h
1549aaba27
flacdec: warn if we see a variable block size where unsupported
...
https://bugzilla.gnome.org/show_bug.cgi?id=650960
2011-08-17 00:01:07 +01:00
Wim Taymans
d89790d545
Merge branch 'master' into 0.11
...
Conflicts:
gst/avi/gstavidemux.c
gst/rtp/gstrtpac3depay.c
gst/rtp/gstrtpg726depay.c
gst/rtp/gstrtpmpvdepay.c
gst/videofilter/gstgamma.c
2011-05-24 17:34:19 +02:00
Tim-Philipp Müller
900b2fb63d
flacdec: also try upstream first for duration query in DEFAULT format
...
https://bugzilla.gnome.org/show_bug.cgi?id=650785
2011-05-23 13:25:44 +01:00
Wim Taymans
cf1248e566
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
2011-05-16 17:52:11 +02:00
Sebastian Dröge
d4b9cbc1ae
flacdec: Send EOS when seeking after the end of file instead of failing
...
Fixes bug #649780 .
2011-05-14 11:52:13 +02:00
Wim Taymans
2f9a7b1a1b
flac: port to 0.11
2011-04-19 18:55:31 +02:00
Tim-Philipp Müller
c365fbddba
flacdec: fix issues with large metadata blocks when streaming unframed flac
...
Parse metadata blocks when handling unparsed flac in push mode. This
works around a bunch of issues with the flac decoder when handling
metadata blocks that are larger than the max. flac framesize, which
coverart blocks often are. We need to have all the data for these
blocks available when we pass data to libflac.
http://gstreamer-devel.966125.n4.nabble.com/Flac-files-that-will-playback-but-not-stream-td3338198.html#a3395276
https://bugzilla.gnome.org/show_bug.cgi?id=566769
2011-03-28 23:46:47 +01:00
Sebastian Dröge
2f7c0d21b6
flacenc/dec: Don't use GST_FLOW_IS_FATAL()
...
And properly handle UNEXPECTED and WRONG_STATE.
2010-09-04 14:52:10 +02:00
Mark Nauwelaerts
eb4afca554
flacdec: fix event leak
2010-07-22 16:25:38 +02:00
Sebastian Dröge
e9b267ae02
flacdec: Improve debugging and add some FIXMEs
2010-03-26 14:55:53 +01:00
Sebastian Dröge
b139cad3aa
flacdec: Sample rate markers 0x01, 0x02 and 0x03 are valid
...
They are for 88.2kHz, 176.4kHz and 192kHz.
2010-03-26 14:42:06 +01:00
Sebastian Dröge
2e42e82037
flacdec: Take samplerate, width and number of channels from the STREAMINFO
...
...and update it from the frame headers if it should change for some reason.
This allows playback of files with odd sample rates.
2010-03-26 14:16:39 +01:00
Benjamin Otte
1055aaa9cb
Add -Wredundant-decls warning flag
...
Also fix compile issues
2010-03-17 19:35:10 +01:00
Tim-Philipp Müller
de56a874ae
flacdec: don't send second newsegment event in framed mode, fixes long playback delay
...
Don't send another newsegment event if the upstream muxer/parser has already
sent one (otherwise the sink will wait for $duration before starting playback).
Fixes long delay until playback starts with flac-in-ogg files.
Fixes #610959 .
2010-03-08 17:10:31 +00:00
Sebastian Dröge
27b203b030
flacdec: Only flush the FLAC decoder if it wasn't created right before
...
If the FLAC decoder is flushed, its state will be set to frame-sync mode,
which will sync to the next *audio* frame and makes it ignore all headers.
This prevented tags and everything else to show up when using flacdec
in push mode.
Fixes bug #608843 .
2010-02-12 10:54:18 +01:00
Mark Nauwelaerts
a76af918d0
flacdec: really use upstream timestamp if there is one
...
See/fixes #603471 .
2010-01-06 14:14:28 +01:00
Mark Nauwelaerts
636738d9f2
flacdec: use a single decoder field for both push and pull mode
2009-12-23 19:39:56 +01:00
Mark Nauwelaerts
d6633d6edc
flacdec: fix possible hanging in pull mode seeking
...
A seek in multi-sink pipeline typically leads to several seek events in a row,
which could lead to sending several newsegments in a row without intermediate
flushing. These would then accumulate, distort rendering times and as such
lead to 'hanging'.
2009-12-23 19:39:54 +01:00