aboutsummaryrefslogtreecommitdiffstats
path: root/src/encoder (follow)
Commit message (Collapse)AuthorAgeFilesLines
* encoder/vorbis: reset the Ogg stream after flushMax Kellermann2011-03-161-0/+2
| | | | | Without the ogg_stream_reset() call, the "e_o_s" flag never gets reset, and libogg writes EOS packets over and over.
* encoder/lame: explicitly configure the output sample rateMax Kellermann2011-01-071-0/+7
| | | | | | | | | When you don't explicitly set an output sample rate, liblame tries to guess an output sample rate from the input sample rate. You would think that this "guessing" consists of just setting both equal, but that is not the case. For 44.1kHz at 96kbit/s, liblame chooses 32kHz. This patch explicitly configures the output sample rate, to stop the bad guessing.
* vorbis_encoder: start a new stream in tag()Max Kellermann2009-05-051-6/+9
| | | | | | | When a new tag is set, end the current stream and begin a new one. Use vorbis_analysis_headerout() to write a full ogg header. This fixes a problem with icecast: after a song change in MPD, icecast stops forwarding ogg packets to its clients.
* vorbis_encoder: moved code to vorbis_encoder_headerout()Max Kellermann2009-05-051-5/+10
|
* vorbis_encoder: reinitialize vorbis_dsp_state after flushMax Kellermann2009-04-251-0/+7
| | | | | | | libvorbis goes into a very long loop if we try to add data after a flush was invoked by vorbis_analysis_wrote(0). This seems to be a problem with the internal end-of-stream marker. Thus, we cannot reuse the vorbis_dsp_state object.
* vorbis_encoder: added support for all MPD tag typesMax Kellermann2009-03-151-29/+4
| | | | Copy all tags know to MPD to the vorbis_comment.
* vorbis_encoder: removed vorbis_encoder.vcMax Kellermann2009-03-151-4/+6
| | | | | Allocate the vorbis_comment object when it's used. It is not used anymore in vorbis_encoder_tag().
* vorbis_encoder: use vorbis_commentheader_out() in the tag() methodMax Kellermann2009-03-151-6/+15
| | | | Don't reinitialize the encoder with every tag.
* vorbis_encoder: pass vorbis_comment to tag helper functionsMax Kellermann2009-03-151-9/+9
| | | | Prepare the removal of vorbis_encoder.vc.
* vorbis_encoder: make ogg_page a local variableMax Kellermann2009-03-151-24/+13
| | | | | | Converted the ogg_page attribute from the vorbis_encoder struct to a local function of vorbis_encoder_read(). This simplifies some code, because we don't need to check the page anymore before using it.
* vorbis_encoder: fill the ogg_page in the read() methodMax Kellermann2009-03-151-4/+23
| | | | | | | Add the "flush" flag, and defer the ogg_stream_flush() call. Call ogg_stream_pageout() or ogg_stream_flush() (depending on the "flush" flag) in vorbis_encoder_read(). This prevents the ogg_page from getting overwritten by consecutive ogg_stream_pageout() calls.
* all: Update copyright header.Avuton Olrich2009-03-132-6/+8
| | | | | | | | This updates the copyright header to all be the same, which is pretty much an update of where to mail request for a copy of the GPL and the years of the MPD project. This also puts all committers under 'The Music Player Project' umbrella. These entries should go individually in the AUTHORS file, for consistancy.
* tag: no CamelCaseMax Kellermann2009-02-271-1/+1
| | | | Renamed numOfItems to num_items.
* vorbis_encoder: vorbis_encoder_clear() returns voidMax Kellermann2009-02-241-5/+1
| | | | Don't return an uninitialized bool variable.
* encoder: added lame mp3 encoderMax Kellermann2009-02-221-0/+284
| | | | | This new LAME encoder plugin is based on the existing shout_mp3.c plugin.
* encoder: added vorbis encoderMax Kellermann2009-02-221-0/+388
This new vorbis encoder plugin is based on the existing shout_ogg.c plugin.