Jochen Henneberg
88a6832b2a
flacdec: Use new channel count for audio info
2018-12-14 09:22:33 +00:00
Jochen Henneberg
d74f964407
flacdec: Caps may have changed on FLAC metadata change
...
If the decoder signals metadata change we need to update the output
format and negotiate with downstream elements.
2018-12-14 09:22:33 +00:00
Jochen Henneberg
a5d71c597d
flacdec: Reset decoder on set_format()
...
Any call to set_format() could mean that the stream type changed so we
reset the decoder and mark got_headers FALSE.
2018-12-14 09:22:33 +00:00
Mathieu Duponchelle
34abfbff18
flacdec: flush flac decoder on lost sync.
...
This to allow the decoder to start searching for a new
frame again.
https://bugzilla.gnome.org/show_bug.cgi?id=791473
2018-01-11 15:13:31 +01:00
Vineeth TM
1071309870
good: use new gst_element_class_add_static_pad_template()
...
https://bugzilla.gnome.org/show_bug.cgi?id=763076
2016-03-24 14:32:20 +02:00
Thiago Santos
65676c22ee
audiodecoders: use default pad accept-caps handling
...
Avoids useless check of downstream caps when handling an
accept-caps query
Elements: flacdec, speexdec, wavpackdec, mulawdec, alawdec
2015-08-15 11:46:34 -03:00
Vineeth TM
3f6a868f7e
flacdec: improve error handling
...
for files which have corrupted header, libflac is not able to
process the metadata properly. We just try to ignore the error
and continue with the processing, since metadata parsing is not
making much of a difference to libflac
https://bugzilla.gnome.org/show_bug.cgi?id=751334
2015-07-06 14:57:11 +01:00
Vincent Penquerc'h
0b36fe59e1
flacdec: set the channel positions using the appropriate API
...
This avoids _set_format setting the unpositioned flag when passed
NULL as channel positions, as it would not be cleared when setting
actual channel positions later.
2014-11-12 14:10:40 +00:00
Vincent Penquerc'h
592c34336e
flacdec: add const where appropriate
2014-06-10 12:15:15 +01:00
Sebastian Dröge
f5b2b6e696
flacdec: Add support for variable block size files and remove dead code
...
This dead code wasn't used since the 1.0 port and would need to
be modified heavily for variable block size support.
https://bugzilla.gnome.org/show_bug.cgi?id=729894
2014-05-10 09:30:16 +02:00
Vincent Penquerc'h
d2f66f5394
flacdec: fix theoretical integer overflow
...
This code isn't actually used at the moment, unsure if I should
just remove it or not...
Coverity 1139811
2014-05-02 13:59:07 +01:00
Vincent Penquerc'h
14ceb5727c
flacdec: remove dead code
...
For 8 bit width, we always have depth==gdepth==width==8.
Coverity 1139678
2014-04-30 18:06:40 +01:00
Rafał Mużyło
ac4df5e2c5
gst: Don't use endianness-specific S8 audio format
...
It does not exist.
https://bugzilla.gnome.org/show_bug.cgi?id=723331
2014-02-04 13:44:29 +01:00
Sebastian Dröge
774e56b051
flacdec: Require caps to be set before accepting any data
2013-12-05 12:13:10 +01:00
Tim-Philipp Müller
230cf41cc9
Fix FSF address
...
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:07:18 +00:00
Tim-Philipp Müller
e4cb67fad8
docs: gst-launch-0.11 -> gst-launch-1.0
2012-08-27 21:20:29 +01:00
Mark Nauwelaerts
94ab6e17f5
flacdec: improve and relax audio frame parsing
...
... so as to properly recognize first audio frame.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681077
Conflicts:
ext/flac/gstflacdec.c
2012-08-03 14:02:23 +02:00
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