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
Sebastian Dröge
0827f54b93
tag: Update for taglist/tag event API changes
2012-07-28 00:19:51 +02:00
Mark Nauwelaerts
2e8260a787
flacenc: obtain image type from the sample info
2012-07-27 11:26:18 +02:00
Mark Nauwelaerts
e31bfd6ddb
flacenc: remove extraneous _unref
...
... since we did not obtain a buffer ref from the GstSample.
2012-07-27 11:25:49 +02:00
Robert Swain
7c94509243
flacenc: Update to use GstSample tag setting API
2012-07-27 10:14:23 +02:00
Mark Nauwelaerts
0f18a9aaaa
flacenc: only set complete output caps once
...
... so as to avoid downstream complaints about missing streamheaders.
2012-07-25 16:02:39 +02:00
Mark Nauwelaerts
a9b4ceefaf
flacdec: also support S24_32 output
2012-07-25 16:02:39 +02:00
Mark Nauwelaerts
c340deb8b6
flacenc: pass correct parameters to encoder lib
2012-07-25 16:02:38 +02:00
Mark Nauwelaerts
7e6338044c
flacenc: adjust to modified audioencoder getcaps helper API
2012-07-25 16:02:38 +02:00
Wim Taymans
f65495d405
update for audio api change
2012-06-08 10:11:12 +02:00
Wim Taymans
b5df4f0e62
update for tag event change
2012-06-06 13:02:12 +02:00
Tim-Philipp Müller
e09ae5736d
Use new gst_element_class_set_static_metadata()
2012-04-10 00:51:41 +01:00
Sebastian Dröge
aa2cd462da
gst: Update for GST_PLUGIN_DEFINE() API changes
2012-04-05 17:36:38 +02:00
Sebastian Dröge
5cdd49bf25
gst: Update versioning
2012-04-04 14:37:47 +02:00
Sebastian Dröge
b16f5637e8
ext: Update for GstAudioEncoder API changes
2012-03-30 12:18:45 +02:00
Mark Nauwelaerts
12d7acf6f6
flacenc: plug ref leak
2012-03-29 17:21:53 +02:00
Mark Nauwelaerts
03bde3f0d2
flacenc: query downstream for BYTE seeking support
2012-03-28 14:50:03 +02: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
Wim Taymans
89105970f0
flacenc: fix streamheaders
...
Fix the caps of flacenc, the reference encoder only support 24 bits in
32 bits.
Set streamheader on output caps.
2012-03-13 12:40:37 +01:00
Ross Burton
265a5bfa9b
flacenc: generate seektables every 10 sec by default
...
Since this is what the command line tool does as well, it seems like
a better default.
2012-03-12 15:27:27 +01:00
Wim Taymans
a51ce46d90
flacenc: fix event handling
...
Fix dodgy segment event handling
Chain up to parent event handler
2012-02-27 13:05:33 +01:00
Tim-Philipp Müller
61d3a215a0
Merge commit '38516ad367128d83f9e156529018adb4433cd328' into 0.11
...
Conflicts:
ext/pulse/pulseaudiosink.c
gst/audioparsers/gstmpegaudioparse.c
2012-02-27 00:48:57 +00:00
Tim-Philipp Müller
3e9f191262
flacenc: fix get_caps function some more so that all structures have channel info
...
Set channels and channel-layout on the right structure; that is, the
structure we are going to append to the caps we are building, and not
the structure we are using as a template for all the structures. Fixes
first structure of the returned caps not having any channel info set
on it.
2012-02-22 17:39:16 +00:00
Tim-Philipp Müller
f0b076212f
flacenc: microoptimisation: avoid unnecessary list and string copies
2012-02-22 17:09:25 +00:00
Tim-Philipp Müller
9ce663f04d
flacenc: audio caps have a *list* of formats, not an array of formats
...
A list of things in caps is something where one is picked in the
course of negotiation. An array is always something that only makes
sense as a whole in that order.
2012-02-22 17:03:42 +00:00
Mark Nauwelaerts
38516ad367
flacenc: remove post-port bogus _unref
2012-02-22 18:03:11 +01:00
Tim-Philipp Müller
b7e96ebe37
flacenc: remove bogus pad locking that causes deadlocks
...
It's not clear why the pad object lock is taken here. But
gst_pad_{has,get}_current_caps() will try to take the lock
as well and deadlock, since it's not recursive.
2012-02-22 17:00:19 +00:00
Tim-Philipp Müller
9c5c33790a
flacenc: set right number of channels on caps in get_caps function
2012-02-22 16:59:42 +00:00
Wim Taymans
225e98d623
Merge branch 'master' into 0.11
...
Conflicts:
ext/flac/gstflacenc.c
ext/jack/gstjackaudioclient.c
ext/jack/gstjackaudiosink.c
ext/jack/gstjackaudiosrc.c
ext/pulse/plugin.c
ext/shout2/gstshout2.c
gst/matroska/matroska-mux.c
gst/rtp/gstrtph264pay.c
2012-02-10 16:23:14 +01:00
Mark Nauwelaerts
abc8c162ed
flacdec: shift in proper direction for audio sample conversion
2012-02-09 22:09:31 +01:00
Vincent Penquerc'h
5ff31d446e
flacenc: fix event leak when there is no peer on the src pad
2012-02-03 14:53:31 +00: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
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
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
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
Tim-Philipp Müller
d65eb2b91a
ext, gst: canonicalise property names where this wasn't the case
...
ie. "foo_bar" -> "foo-bar"
2010-10-12 16:04:21 +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
8b2a6a8c74
flactag: Fix possible NULL pointer dereference
2010-06-16 19:28:04 +02:00
Sebastian Dröge
5a4ecc5b6f
flacenc: Fix NEWSEGMENT parsing logic and don't use uninitialized variables
2010-06-15 19:45:36 +02:00
Tim-Philipp Müller
1351af141d
flactag: fix adapter assertion when used directly after flacenc
...
Unlike filesrc, flacenc outputs the flac blocks neatly aligned one in
each buffer. This means that when we switch from metadata mode to
audio data passthrough mode, there's no data left in the adapter to
push out at this point, so check if there's data in the adapter
before requesting buffers from it (also needed in case we get input
buffers of 0 size).
Fixes #615793 .
2010-04-15 09:44:51 +01: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
Stefan Kost
f1a75adcbc
i18n: build fixes: #if -> #ifdef for ENABLE_NLS
2010-03-22 17:26:37 +02:00
Benjamin Otte
1055aaa9cb
Add -Wredundant-decls warning flag
...
Also fix compile issues
2010-03-17 19:35:10 +01:00
Benjamin Otte
3342b1679e
Add -Wmissing-declarations -Wmissing-prototypes warning flags
...
And fix all the warnings.
2010-03-17 18:23:28 +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
47dc716790
flacenc: fix seekpoints property copy-and-paste documentation
2010-01-08 18:04:35 +01:00