InputStream: add method Rewind()
This commit is contained in:
@@ -31,15 +31,6 @@
|
||||
#include "util/Domain.hxx"
|
||||
#include "LogV.hxx"
|
||||
|
||||
#include <assert.h>
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <unistd.h>
|
||||
|
||||
extern "C" {
|
||||
#include <libavcodec/avcodec.h>
|
||||
#include <libavformat/avformat.h>
|
||||
@@ -50,6 +41,9 @@ extern "C" {
|
||||
#include <libavutil/dict.h>
|
||||
}
|
||||
|
||||
#include <assert.h>
|
||||
#include <string.h>
|
||||
|
||||
static constexpr Domain ffmpeg_domain("ffmpeg");
|
||||
|
||||
/* suppress the ffmpeg compatibility macro */
|
||||
@@ -352,7 +346,7 @@ ffmpeg_probe(Decoder *decoder, struct input_stream *is)
|
||||
|
||||
unsigned char buffer[BUFFER_SIZE];
|
||||
size_t nbytes = decoder_read(decoder, is, buffer, BUFFER_SIZE);
|
||||
if (nbytes <= PADDING || !is->LockSeek(0, SEEK_SET, error))
|
||||
if (nbytes <= PADDING || !is->LockRewind(error))
|
||||
return nullptr;
|
||||
|
||||
/* some ffmpeg parsers (e.g. ac3_parser.c) read a few bytes
|
||||
|
@@ -29,10 +29,6 @@
|
||||
#include <glib.h>
|
||||
|
||||
#include <assert.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include <sys/stat.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
#if !defined(FLAC_API_VERSION_CURRENT) || FLAC_API_VERSION_CURRENT <= 7
|
||||
#error libFLAC is too old
|
||||
@@ -340,7 +336,7 @@ oggflac_decode(Decoder &decoder, struct input_stream *input_stream)
|
||||
|
||||
/* rewind the stream, because ogg_codec_detect() has
|
||||
moved it */
|
||||
input_stream->LockSeek(0, SEEK_SET, IgnoreError());
|
||||
input_stream->LockRewind(IgnoreError());
|
||||
|
||||
flac_decode_internal(decoder, input_stream, true);
|
||||
}
|
||||
|
@@ -39,7 +39,6 @@
|
||||
|
||||
#include <glib.h>
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
static const opus_int32 opus_sample_rate = 48000;
|
||||
@@ -273,7 +272,7 @@ mpd_opus_stream_decode(Decoder &decoder,
|
||||
|
||||
/* rewind the stream, because ogg_codec_detect() has
|
||||
moved it */
|
||||
input_stream->LockSeek(0, SEEK_SET, IgnoreError());
|
||||
input_stream->LockRewind(IgnoreError());
|
||||
|
||||
MPDOpusDecoder d(decoder, input_stream);
|
||||
OggSyncState oy(*input_stream, &decoder);
|
||||
|
@@ -50,7 +50,6 @@
|
||||
|
||||
#include <assert.h>
|
||||
#include <errno.h>
|
||||
#include <unistd.h>
|
||||
|
||||
struct vorbis_input_stream {
|
||||
Decoder *decoder;
|
||||
@@ -184,7 +183,7 @@ vorbis_stream_decode(Decoder &decoder,
|
||||
|
||||
/* rewind the stream, because ogg_codec_detect() has
|
||||
moved it */
|
||||
input_stream->LockSeek(0, SEEK_SET, IgnoreError());
|
||||
input_stream->LockRewind(IgnoreError());
|
||||
|
||||
struct vorbis_input_stream vis;
|
||||
OggVorbis_File vf;
|
||||
|
Reference in New Issue
Block a user