Merge tag 'release-0.18.6'
This commit is contained in:
7
NEWS
7
NEWS
@@ -5,14 +5,19 @@ ver 0.19 (not yet released)
|
||||
- alsa: new input plugin
|
||||
* new resampler option using libsoxr
|
||||
|
||||
ver 0.18.6 (not yet released)
|
||||
ver 0.18.6 (2013/12/24)
|
||||
* input
|
||||
- cdio_paranoia: support libcdio-paranoia 0.90
|
||||
* tags
|
||||
- riff: recognize upper-case "ID3" chunk name
|
||||
* decoder
|
||||
- ffmpeg: use relative timestamps
|
||||
* output
|
||||
- openal: fix build failure on Mac OS X
|
||||
- osx: fix build failure
|
||||
* mixer
|
||||
- alsa: fix build failure with uClibc
|
||||
* fix replay gain during cross-fade
|
||||
* accept files without metadata
|
||||
|
||||
ver 0.18.5 (2013/11/23)
|
||||
|
@@ -96,6 +96,8 @@ audio_output_set_replay_gain_mode(struct audio_output *ao,
|
||||
{
|
||||
if (ao->replay_gain_filter != nullptr)
|
||||
replay_gain_filter_set_mode(ao->replay_gain_filter, mode);
|
||||
if (ao->other_replay_gain_filter != nullptr)
|
||||
replay_gain_filter_set_mode(ao->other_replay_gain_filter, mode);
|
||||
}
|
||||
|
||||
void
|
||||
|
@@ -1080,8 +1080,11 @@ Player::Run()
|
||||
|
||||
delete cross_fade_tag;
|
||||
|
||||
if (song != nullptr)
|
||||
if (song != nullptr) {
|
||||
const auto uri = song->GetURI();
|
||||
FormatDefault(player_domain, "played \"%s\"", uri.c_str());
|
||||
song->Free();
|
||||
}
|
||||
|
||||
pc.Lock();
|
||||
|
||||
|
@@ -250,13 +250,14 @@ static DecoderCommand
|
||||
ffmpeg_send_packet(Decoder &decoder, InputStream &is,
|
||||
const AVPacket *packet,
|
||||
AVCodecContext *codec_context,
|
||||
const AVRational *time_base,
|
||||
const AVStream *stream,
|
||||
AVFrame *frame,
|
||||
uint8_t **buffer, int *buffer_size)
|
||||
{
|
||||
if (packet->pts >= 0 && packet->pts != (int64_t)AV_NOPTS_VALUE)
|
||||
decoder_timestamp(decoder,
|
||||
time_from_ffmpeg(packet->pts, *time_base));
|
||||
time_from_ffmpeg(packet->pts - stream->start_time,
|
||||
stream->time_base));
|
||||
|
||||
AVPacket packet2 = *packet;
|
||||
|
||||
@@ -469,7 +470,7 @@ ffmpeg_decode(Decoder &decoder, InputStream &input)
|
||||
if (packet.stream_index == audio_stream)
|
||||
cmd = ffmpeg_send_packet(decoder, input,
|
||||
&packet, codec_context,
|
||||
&av_stream->time_base,
|
||||
av_stream,
|
||||
frame,
|
||||
&interleaved_buffer, &interleaved_buffer_size);
|
||||
else
|
||||
@@ -480,7 +481,8 @@ ffmpeg_decode(Decoder &decoder, InputStream &input)
|
||||
if (cmd == DecoderCommand::SEEK) {
|
||||
int64_t where =
|
||||
time_to_ffmpeg(decoder_seek_where(decoder),
|
||||
av_stream->time_base);
|
||||
av_stream->time_base) +
|
||||
av_stream->start_time;
|
||||
|
||||
if (av_seek_frame(format_context, audio_stream, where,
|
||||
AV_TIME_BASE) < 0)
|
||||
|
@@ -43,7 +43,7 @@
|
||||
#include <assert.h>
|
||||
|
||||
#ifdef HAVE_CDIO_PARANOIA_PARANOIA_H
|
||||
#include <cdio/parannoia/paranoia.h>
|
||||
#include <cdio/paranoia/paranoia.h>
|
||||
#else
|
||||
#include <cdio/paranoia.h>
|
||||
#endif
|
||||
|
@@ -86,7 +86,8 @@ riff_seek_id3(FILE *file)
|
||||
/* pad byte */
|
||||
++size;
|
||||
|
||||
if (memcmp(chunk.id, "id3 ", 4) == 0)
|
||||
if (memcmp(chunk.id, "id3 ", 4) == 0 ||
|
||||
memcmp(chunk.id, "ID3 ", 4) == 0)
|
||||
/* found it! */
|
||||
return size;
|
||||
|
||||
|
Reference in New Issue
Block a user