summaryrefslogtreecommitdiffstats
path: root/ext/flac
Commit message (Collapse)AuthorAgeFilesLines
* flac: apparently on some platforms a FLAC__uint64!=guint64Stefan Kost2009-10-091-1/+1
|
* build: don't cast, but use the right format specified insteadStefan Kost2009-10-091-1/+1
| | | | This correct some of the previous macos fixes.
* flac: fix warnings on macosxJosep Torra2009-10-092-8/+9
|
* flactag, wavparse: GstAdapter is not a GstObjectTim-Philipp Müller2009-08-311-1/+1
|
* flacdec: send newsegment event when operating push-based and unframedTim-Philipp Müller2009-08-011-0/+7
| | | | | | | | | | For some reason flac doesn't call our metadata callback when we operate in push mode with unframed input, but that's where we set up the newsegment event (since that's where we'd get the duration from the stream info header), so we didn't send a newsegment event at all in this case. Hack around this by storing a generic newsegment event for now which will be used if we don't replace it with a better one that includes the duration.
* flacdec: small cleanupsTim-Philipp Müller2009-08-011-32/+18
| | | | | Remove some callback indirections which are no longer needed because there's only one decoder object type now. Also remove unused variable.
* flacdec: use gst_adapter_copy() to avoid unnecessary buffer mergesTim-Philipp Müller2009-08-011-1/+1
| | | | | | gst_adapter_peek() will merge buffers as needed, which we can avoid here since we're doing a memcpy anyway and then flush the copied data from the adapter right away.
* flacdec: repair some broken indentingTim-Philipp Müller2009-08-011-15/+2
|
* flacdec: Implement SEEKING querySebastian Dröge2009-07-231-3/+22
| | | | Fixes bug #589423.
* flacdec: fix intermittent FLAC__STREAM_DECODER_ABORTED errors when seekingTim-Philipp Müller2009-07-212-5/+33
| | | | | | | | | | | | | When seeking in a local flac file (ie. operating pull-based), the decoder would often just error out after the loop function sees a DECODER_ABORTED status. This, however, is the read callback's way of telling our loop function that pull_range failed and streaming should stop, in this case because of the flush-start event that the seek handler pushed upstream from the seeking thread. Handle this slightly better by storing the last flow return from pull_range, so the loop function can evaluate it properly when it encounters a DECODER_ABORTED and take the right action. Fixes #578612.
* flacenc: Optionally write a PADDING blockSebastian Dröge2009-07-162-3/+35
| | | | | | | The size of the PADDING block is specified by a new "padding" property. Fixes bug #588483.
* flacdec: Don't send empty string tagsEdward Hervey2009-07-011-1/+2
|
* flacenc: some more logging - dump header packetsTim-Philipp Müller2009-06-021-6/+12
| | | | | Also, the final fixing up of the headers is expected and not something we should warn about.
* flacenc: never ever pass values >36bits to _set_total_samples_estimate()Tim-Philipp Müller2009-06-021-1/+1
| | | | | | | | | Let's be paranoid and make sure we never pass a number that takes up more than 36 bits to _set_total_samples_estimate(), since libFLAC expects all the other bits to be zero, and if this is not the case neighbouring fields in the global stream info header may get messed up inadvertently, so that flac -d refuses to decode the stream. See #584455.
* Address bad FLAC sample length encoding of #5844455Thomas Vander Stichele2009-06-011-1/+5
| | | | | | Commit df707c666433a78d3878af6f055698d5756226c4 introduced an obvious bug in the sample length calculation, using the wrong macro for conversion.
* flacdec: fix buffer leakTim-Philipp Müller2009-05-131-0/+1
| | | | | gst_buffer_replace() will take its own ref, so we still have to unref the buffer if we don't need it any longer.
* flacdec: Actually output the pending buffer.. and not a blank one.Edward Hervey2009-05-081-3/+4
| | | | | | It was previously sending the bogus buffer which was returned from the bufferalloc (required for reverse negotiation apparently) instead of the pending buffer.
* Add RANKS for various encoders and muxersChristian Schaller2009-05-071-1/+1
|
* flac: Make buffers created during seek act like normal buffers.Jan Schmidt2009-05-061-3/+14
| | | | | | | Store the offset and caps when allocating a buffer during seeking, and then allocate a new buffer with buffer_alloc before we push it out. This ensures that in all respects the first buffer decoded during seeking behaves like all other buffers, including allowing downstream re-negotiation.
* flacdec: don't use pad_alloc when decoding while seeking. Fixes #579422Thomas Vander Stichele2009-05-061-8/+17
|
* flac: Implement preset interfaceSebastian Dröge2009-05-041-0/+7
|
* flacenc: Use the tag merge mode that was set on the interface for merging ↵Sebastian Dröge2009-04-291-1/+2
| | | | tag events
* add pending_samples so that we only update segment's last stop after really ↵Thomas Vander Stichele2009-04-042-1/+9
| | | | sending the samples
* add debuggingThomas Vander Stichele2009-04-041-0/+2
|
* clipping should also work if it's done on the first buffer starting at 0Thomas Vander Stichele2009-04-041-1/+1
|
* flac: require a 'newer' flac and remove support for the legacy flac APITim-Philipp Müller2009-03-274-522/+8
|
* Don't call FLAC__ methods before it's initialized. Fixes #516031Laszlo Pandy2009-03-121-4/+7
| | | | | | | | | | | | | In the event handler, gst_flac_dec_sink_event(), two functions are called on the FLAC stream without checking if it has been initialized: FLAC__stream_decoder_flush() FLAC__stream_decoder_process_until_end_of_stream() Both these FLAC__*() functions modify the internal state of the FLAC stream. Later, when the buffers start flowing, gst_flac_dec_chain() tries to initialize the stream. the FLAC__stream_decoder_init_stream() call will fail because the previous calls to FLAC__*() changed the stream state so it is no longer in the initialized state.
* flacdec: don't lose the first buffer after a seekWim Taymans2009-03-092-27/+48
| | | | | | | The flacdec API calls the write callback when performing a seek. We cannot yet push out a buffer at that time so we must keep it and push it out later. Flush out the upstream part of the pipeline when doing a seek. Fixes #574275.
* Add/clarify/fix some logging.Thomas Vander Stichele2009-03-021-3/+6
|
* respect DEFAULT segment by clipping the last buffer to be sentThomas Vander Stichele2009-02-211-0/+11
|
* flacdec: if we aborted reading, don't do into an infinite loop.Michael Smith2009-02-051-0/+7
| | | | | If our read callback ran out of data, so had to abort reading, we return GST_FLOW_ERROR instead of going into an infinite loop.
* debug on the objectThomas Vander Stichele2009-02-051-26/+35
|
* Update and add documentation for plugins with deps (ext).Stefan Kost2009-01-282-13/+22
| | | | Link to properties. Correct titles for examples. Document a few trivial cases. Keep lists in section file and docs/plugins/Makefile.am alphabetically ordered. Fix warnings that gtk-doc points out.
* Fix typo and small flaw in flac decoderJan Schmidt2009-01-221-2/+3
|
* Whitespace fixes and some improved debug lines.Wim Taymans2009-01-211-37/+2
|
* Switch to using GstStaticPadTemplate.Edward Hervey2008-12-131-15/+27
| | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: * ext/flac/gstflacdec.c: (gst_flac_dec_base_init), (gst_flac_dec_init): * gst/law/alaw-decode.c: (gst_alaw_dec_base_init), (gst_alaw_dec_init): * gst/law/alaw-encode.c: (gst_alaw_enc_base_init), (gst_alaw_enc_init): * gst/law/alaw.c: (plugin_init): * gst/law/mulaw-decode.c: (gst_mulawdec_base_init), (gst_mulawdec_init): * gst/law/mulaw-encode.c: (gst_mulawenc_base_init), (gst_mulawenc_init): * gst/law/mulaw.c: (plugin_init): Switch to using GstStaticPadTemplate. * gst/udp/gstudpnetutils.c: (gst_udp_get_addr): Don't forget to free the addrinfo structure. * gst/wavparse/gstwavparse.c: (gst_wavparse_reset), (gst_wavparse_sink_activate): Don't forget to unref the GstAdapter.
* Don't install static libs for plugins. Fixes #550851 for -good.Stefan Kost2008-11-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: * ext/aalib/Makefile.am: * ext/annodex/Makefile.am: * ext/cairo/Makefile.am: * ext/dv/Makefile.am: * ext/esd/Makefile.am: * ext/flac/Makefile.am: * ext/gconf/Makefile.am: * ext/gdk_pixbuf/Makefile.am: * ext/hal/Makefile.am: * ext/jpeg/Makefile.am: * ext/ladspa/Makefile.am: * ext/libcaca/Makefile.am: * ext/libmng/Makefile.am: * ext/libpng/Makefile.am: * ext/mikmod/Makefile.am: * ext/pulse/Makefile.am: * ext/raw1394/Makefile.am: * ext/shout2/Makefile.am: * ext/soup/Makefile.am: * ext/speex/Makefile.am: * ext/taglib/Makefile.am: * ext/wavpack/Makefile.am: * gst/alpha/Makefile.am: * gst/apetag/Makefile.am: * gst/audiofx/Makefile.am: * gst/auparse/Makefile.am: * gst/autodetect/Makefile.am: * gst/avi/Makefile.am: * gst/cutter/Makefile.am: * gst/debug/Makefile.am: * gst/effectv/Makefile.am: * gst/equalizer/Makefile.am: * gst/flx/Makefile.am: * gst/goom/Makefile.am: * gst/goom2k1/Makefile.am: * gst/icydemux/Makefile.am: * gst/id3demux/Makefile.am: * gst/interleave/Makefile.am: * gst/law/Makefile.am: * gst/level/Makefile.am: * gst/matroska/Makefile.am: * gst/median/Makefile.am: * gst/monoscope/Makefile.am: * gst/multifile/Makefile.am: * gst/multipart/Makefile.am: * gst/oldcore/Makefile.am: * gst/qtdemux/Makefile.am: * gst/replaygain/Makefile.am: * gst/rtp/Makefile.am: * gst/rtsp/Makefile.am: * gst/smpte/Makefile.am: * gst/spectrum/Makefile.am: * gst/udp/Makefile.am: * gst/videobox/Makefile.am: * gst/videocrop/Makefile.am: * gst/videofilter/Makefile.am: * gst/videomixer/Makefile.am: * gst/wavenc/Makefile.am: * gst/wavparse/Makefile.am: * sys/directdraw/Makefile.am: * sys/directsound/Makefile.am: * sys/oss/Makefile.am: * sys/osxaudio/Makefile.am: * sys/osxvideo/Makefile.am: * sys/sunaudio/Makefile.am: * sys/v4l2/Makefile.am: * sys/waveform/Makefile.am: * sys/ximage/Makefile.am: Don't install static libs for plugins. Fixes #550851 for -good.
* ext/flac/Makefile.am: Include $(FLAC_CFLAGS) in CFLAGS to make sure to find ↵Sebastian Dröge2008-10-311-1/+1
| | | | | | | | | | the FLAC headers. Original commit message from CVS: * ext/flac/Makefile.am: Include $(FLAC_CFLAGS) in CFLAGS to make sure to find the FLAC headers. This fixes compilation if FLAC is installed in an uncommon location that is not already handled by other CFLAGS. Fixes bug #558711.
* ext/flac/: Cast some size_t arguments to guint to avoid compiler warnings on ↵Jan Schmidt2008-10-102-3/+4
| | | | | | | | | | 64-bit systems. Original commit message from CVS: * ext/flac/gstflacdec.c (gst_flac_dec_read_stream): * ext/flac/gstflacenc.c (gst_flac_enc_write_callback): Cast some size_t arguments to guint to avoid compiler warnings on 64-bit systems.
* ext/flac/gstflacenc.c: Make sure the desired default values are actually ↵Tim-Philipp Müller2008-09-041-14/+20
| | | | | | | | | | | | | | set, not only registered as defaults (actual... Original commit message from CVS: * ext/flac/gstflacenc.c: (gst_flac_enc_class_init): Make sure the desired default values are actually set, not only registered as defaults (actual problem is that the stereo-specific values are only updated if channels==2, which is not the case yet when the object is created, so the default values for the mid-side-stereo and loose-mid-side-stereo settings are never set in _update_quality()). Makes flacenc create smaller files by default (for stereo input), and fixes #550791.
* ext/flac/gstflacenc.c: Fix compilation against older libflac versions.Tim-Philipp Müller2008-08-201-1/+1
| | | | | | Original commit message from CVS: * ext/flac/gstflacenc.c: Fix compilation against older libflac versions.
* ext/flac/gstflacenc.c: Actually provide the variables required for the ↵Sebastian Dröge2008-08-091-1/+2
| | | | | | | | format string. Original commit message from CVS: * ext/flac/gstflacenc.c: (gst_flac_enc_check_discont): Actually provide the variables required for the format string.
* ext/flac/gstflacenc.*: Handle non-zero start timestamps correctly, mark ↵Sebastian Dröge2008-08-082-11/+67
| | | | | | | | | | | | | | | header packets as Original commit message from CVS: * ext/flac/gstflacenc.c: (gst_flac_enc_write_callback), (gst_flac_enc_check_discont), (gst_flac_enc_chain), (gst_flac_enc_change_state): * ext/flac/gstflacenc.h: Handle non-zero start timestamps correctly, mark header packets as IN_CAPS and print a warning and suggest using audiorate if stream discontinuities are detected. When FLAC supports flushing the encoder somehow this should be done for discontinuities instead. Remove some unused variables from the instance struct.
* ext/flac/gstflacenc.c: If seeking failed return the appropiate return value ↵Sebastian Dröge2008-08-071-0/+6
| | | | | | | | | | to FLAC. Original commit message from CVS: * ext/flac/gstflacenc.c: (gst_flac_enc_seek_callback): If seeking failed return the appropiate return value to FLAC. Otherwise it thinks seeking was successfull and tries to rewrite parts of the headers which then get appended to the output.
* Make sure gettext returns translations in UTF-8 encoding rather than in the ↵Frederic Crozat2008-08-071-0/+1
| | | | | | | | | | | | | | | current locale encoding (#546822). Original commit message from CVS: Patch by: Frederic Crozat <fcrozat@mandriva.org> * ext/esd/gstesd.c: (plugin_init): * ext/flac/gstflac.c: (plugin_init): * ext/shout2/gstshout2.c: (plugin_init): * ext/wavpack/gstwavpack.c: (plugin_init): * sys/oss/gstossaudio.c: (plugin_init): * sys/v4l2/gstv4l2.c: (plugin_init): Make sure gettext returns translations in UTF-8 encoding rather than in the current locale encoding (#546822).
* ext/flac/gstflacdec.c: Add FIXME for 0.11 to simply output everything with ↵Sebastian Dröge2008-08-071-0/+4
| | | | | | | | | | width=32 as given by FLAC and let audiocon... Original commit message from CVS: * ext/flac/gstflacdec.c: Add FIXME for 0.11 to simply output everything with width=32 as given by FLAC and let audioconvert handle the conversions instead of doing them in flacdec.
* ext/flac/: Port flactag to 0.10, add documentation for it and clean it up a bit.Jonathan Matthew2008-08-068-306/+261
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: Based on a patch by: Jonathan Matthew <notverysmart at gmail dot com> * ext/flac/Makefile.am: * ext/flac/gstflac.c: (plugin_init): * ext/flac/gstflactag.c: (gst_flac_tag_setup_interfaces), (gst_flac_tag_base_init), (gst_flac_tag_class_init), (gst_flac_tag_dispose), (gst_flac_tag_init), (gst_flac_tag_sink_setcaps), (gst_flac_tag_chain), (gst_flac_tag_change_state): * ext/flac/gstflactag.h: Port flactag to 0.10, add documentation for it and clean it up a bit. Fixes bug #413841. * 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/gst-plugins-good-plugins.interfaces: * docs/plugins/gst-plugins-good-plugins.prerequisites: * docs/plugins/inspect/plugin-flac.xml: * ext/flac/gstflacdec.c: (gst_flac_dec_base_init): * ext/flac/gstflacdec.h: * ext/flac/gstflacenc.c: (gst_flac_enc_base_init): * ext/flac/gstflacenc.h: Add flactag and flacenc to the documentation and mark the private parts of the flacdec instance structure as private. Also use gst_element_class_set_details_simple() in flacdec and flacenc.
* ext/flac/gstflacenc.c: Set an estimate for the total number of samples that ↵Sebastian Dröge2008-08-031-0/+42
| | | | | | | | | | | | | | will be encoded if possible to help decod... Original commit message from CVS: * ext/flac/gstflacenc.c: (gst_flac_enc_query_peer_total_samples), (gst_flac_enc_sink_setcaps), (gst_flac_enc_write_callback): Set an estimate for the total number of samples that will be encoded if possible to help decoders if the streaminfo can't be rewritten later (like when muxing into Ogg containers). Add a warning if we get header packets after data packets as those will get lost when muxing into Ogg, i.e. rewriting the headers doesn't work.
* ext/flac/gstflacdec.c: Support decoding of all depths between 4 and 32 bits ↵Sebastian Dröge2008-08-033-30/+99
| | | | | | | | | | | | | | | | | | | and read the depth from the streaminfo he... Original commit message from CVS: * ext/flac/gstflacdec.c: (gst_flac_dec_metadata_callback), (gst_flac_dec_write): Support decoding of all depths between 4 and 32 bits and read the depth from the streaminfo header if needed. Also support all sampling rates between 1 and 655350 Hz. * ext/flac/gstflacenc.c: (gst_flac_enc_caps_append_structure_with_widths), (gst_flac_enc_sink_getcaps), (gst_flac_enc_sink_setcaps), (gst_flac_enc_chain): * ext/flac/gstflacenc.h: Support encoding in all bit depths supported by the streamable subformat (i.e. 8, 12, 16, 20 and 24 bits) and all sampling rates between 1 Hz and 655350 Hz.
* ext/flac/gstflacenc.c: Support encoding of up to 8 channels.Sebastian Dröge2008-08-031-36/+138
| | | | | | | Original commit message from CVS: * ext/flac/gstflacenc.c: (gst_flac_enc_init), (gst_flac_enc_sink_getcaps): Support encoding of up to 8 channels.