Commit graph

164 commits

Author SHA1 Message Date
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
Dave Craig
211c8492b3 gst: Don't assume that get_current_caps() returns non-NULL caps after has_current_caps()
Remove calls to gst_pad_has_current_caps() which then go on to call
gst_pad_get_current_caps() as the caps can go to NULL in between. Instead just
use gst_pad_get_current_caps() and check for NULL.

https://bugzilla.gnome.org/show_bug.cgi?id=759539
2016-02-23 18:11:42 +02:00
Tim-Philipp Müller
6c09710292 flacenc: avoid potential string overflow
We don't necessarily have full control over the input tags, so
it's possible that the ISRC tag contains a longer string than
expected, in which case we'd write over the end of the static-size
13 byte buffer that is FLAC__StreamMetadata_CueSheet_Track::isrc.
Make sure to only copy the ISRC if it's not too long, and make
sure the buffer we write to is always NUL-terminated by using
g_strlcpy().

CID 1324931.
2015-09-28 20:25:22 +01:00
Thiago Santos
13d49d9b3e flacenc: actually return true for accept-caps query handling 2015-08-17 14:33:35 -03:00
Thiago Santos
0899529222 flacenc: remove single entry if from loop
Iterate from the 2nd channel on and create the 1 channel struct
outside to make loop structure simpler and only slightly faster.
2015-08-16 14:30:57 -03:00
Thiago Santos
a00546e078 flacenc: implement proper accept-caps
Should just compare with what can be immediatelly accepted by
the element. flacenc can't renegotiate so if it has a caps already
it should only accept if it is that caps otherwise just use the
template caps
2015-08-16 14:30:57 -03:00
Thiago Santos
3553493d96 flacenc: improve sink pad template caps
Removes the need for custom caps query handling and makes it more
correct from the beginning on the template. It is a bit uglier
to read because there is 1 entry per channel but makes code easier
to maintain.
2015-08-16 14:30:57 -03:00
Vincent Penquerc'h
b18d8b085a flacenc: update output segment stop time to match clipped samples
This will let oggmux generate a granpos on the last page that properly
represents the clipped samples at the end of the stream.
2014-10-30 14:30:30 +00:00
Tim-Philipp Müller
85501e6c2a flacenc: order format in template caps by preference
To minimise risk of bad fixation, though audioconvert
at least should be smart enough to avoid it.
2014-02-04 21:26:56 +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
de7e1cb6dd flacenc: Properly set headers via the base class instead of just pushing them downstream
Prevents buffers from being send before the caps and segment events.
2013-08-16 13:26:50 +02:00
Sebastian Dröge
c12c9e7632 flacenc: Fix handling of image tags
The caps should be used to get the mimetype and there is
only an info structure for the GstSample if the image-type
is not NONE.
2013-07-28 18:09:33 +02:00
Sebastian Dröge
2fa5c708f3 flacenc: Don't crash if there is no image tag information
https://bugzilla.gnome.org/show_bug.cgi?id=705018
2013-07-28 18:04:32 +02:00
Stefan Sauer
ddedf6b797 flac: add more logging 2013-04-17 20:29:02 +02:00
Stefan Sauer
ce06005f2a flacenc: remove old since comments and update logging
Don't pretend that we have a timestamp on a buffer when we never set one.
2013-04-03 20:30:09 +02:00
Tim-Philipp Müller
83f9cfb928 flacenc: add more example pipelines 2013-03-23 13:11:02 +00: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
4bb52bbadf docs: gst-launch -> gst-launch-1.0 and ffmpegcolorspace -> videoconvert 2012-08-27 21:20:30 +01:00
Anton Belka
59186f970d flacenc: allow a TOC with single alternative top-level entry
Allow a TOC that has a single alternative top-level entry
with multiple sequence sub-entries

https://bugzilla.gnome.org/show_bug.cgi?id=540891
2012-08-10 14:24:28 +02:00
Anton Belka
fa86bf26df flacenc: add TOC support
Add TOC as embedded cuesheets in flac files.

https://bugzilla.gnome.org/show_bug.cgi?id=54089
2012-08-07 18:04:41 +02:00
Tim-Philipp Müller
c074bfd0b9 gst_tag_list_free -> gst_tag_list_unref 2012-08-04 16:10:16 +01: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
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
Tim-Philipp Müller
e09ae5736d Use new gst_element_class_set_static_metadata() 2012-04-10 00:51:41 +01: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
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
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
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
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