Commit graph

292 commits

Author SHA1 Message Date
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
bb2bd604e0 update for HEADER flag 2012-01-30 17:16:51 +01:00
Wim Taymans
b4630dd3e0 more memory API porting 2012-01-25 12:30:29 +01:00
Wim Taymans
1584806634 port to new gthread API 2012-01-19 11:33:53 +01:00
Tim-Philipp Müller
8580dd86c9 eqMerge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	ext/jack/gstjackaudiosink.c
	ext/jack/gstjackaudiosrc.c
	gst/matroska/matroska-mux.c
	gst/matroska/matroska-read-common.c
	gst/rtpmanager/gstrtpssrcdemux.c
2012-01-12 23:48:50 +00:00
Vincent Penquerc'h
483514528a flacenc: do not drop the first data buffer on the floor (and leak it either) 2012-01-12 10:30:56 +00: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
Wim Taymans
07cc855b24 Merge branch 'master' into 0.11
Conflicts:
	ext/speex/gstspeexenc.c
	gst/rtpmanager/rtpsession.c
2011-11-17 17:17:11 +01:00
Wim Taymans
105650127e add parent to pad functions 2011-11-17 15:02:55 +01:00
Mark Nauwelaerts
413f445455 flacenc: reset tag setter interface when appropriate 2011-11-16 19:06:07 +01:00
Wim Taymans
e7918a5aba _query_peer_*() -> _peer_query_*() 2011-11-15 18:04:44 +01: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
Wim Taymans
7e12b58e37 update for adapter api changes 2011-11-10 18:32:58 +01:00
Vincent Penquerc'h
5a73374f2c flacdec: fix off by one between granpos and last_stop 2011-11-07 12:38:10 +00:00
Wim Taymans
e038ab5a0b tags: update for tag API removal 2011-11-02 12:09:20 +01:00
Wim Taymans
22eb0d2300 Merge branch 'master' into 0.11 2011-11-02 10:40:12 +01:00
Tim-Philipp Müller
d6e1f53233 flacenc: remove dead code from header
We require a new-enough libflac that this condition will never apply.
2011-10-30 19:30:14 +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
Edward Hervey
1a10116bbe flacenc: Properly register type
It's a subclass of GstAudioEncoder and not of GstElement
2011-10-13 17:12:23 +02: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
Tim-Philipp Müller
e0d994c9e1 flac, jpeg: fix compiler warning 2011-09-28 17:39:06 +01:00
Wim Taymans
b4524858be flac: port to 0.11 2011-09-28 17:40:01 +02:00
Wim Taymans
762602d56a Merge branch 'master' into 0.11
Conflicts:
	ext/flac/gstflacenc.c
2011-09-28 17:39:12 +02:00
Mark Nauwelaerts
e8bcd41d73 flacenc: port to audioencoder 2011-09-28 16:14:46 +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
Sebastian Dröge
18eee7719d flacenc: Properly interprete the result of strcmp() 2011-04-13 16:17:41 +02:00
Sebastian Dröge
16f82e46f5 flacenc: Don't store image tags inside the vorbiscomments and the flac metadata
Instead only store them inside the flac metadata. There's
no point in storing them twice and the flac metadata is
still the official way to store image tags inside flac.
2011-04-13 16:11:44 +02:00
Sebastian Dröge
6fd1546bce flacenc: Add support for writing METADATA_BLOCK_PICTURE blocks for GST_TAG_IMAGE and GST_TAG_PREVIEW_IMAGE 2011-04-01 13:18:55 +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
Stefan Kost
45f6707784 various (ext): add a missing G_PARAM_STATIC_STRINGS flags 2010-10-13 17:39:36 +03:00