InputStream: convert to class

This commit is contained in:
Max Kellermann
2014-05-11 15:34:48 +02:00
parent ee2afb35dd
commit 6773adc771
31 changed files with 132 additions and 70 deletions

View File

@@ -32,7 +32,7 @@
struct DecoderBuffer;
struct Decoder;
struct InputStream;
class InputStream;
template<typename T> struct ConstBuffer;

View File

@@ -23,7 +23,7 @@
#include "Compiler.h"
struct config_param;
struct InputStream;
class InputStream;
struct tag_handler;
class Path;

View File

@@ -87,7 +87,7 @@ decoder_input_stream_open(DecoderControl &dc, const char *uri)
dc.Lock();
is->Update();
while (!is->ready &&
while (!is->IsReady() &&
dc.command != DecoderCommand::STOP) {
dc.Wait();
@@ -114,7 +114,7 @@ decoder_stream_decode(const DecoderPlugin &plugin,
assert(plugin.stream_decode != nullptr);
assert(decoder.stream_tag == nullptr);
assert(decoder.decoder_tag == nullptr);
assert(input_stream.ready);
assert(input_stream.IsReady());
assert(decoder.dc.state == DecoderState::START);
FormatDebug(decoder_thread_domain, "probing plugin %s", plugin.name);
@@ -179,7 +179,8 @@ decoder_check_plugin_mime(const DecoderPlugin &plugin, const InputStream &is)
{
assert(plugin.stream_decode != nullptr);
return !is.mime.empty() && plugin.SupportsMimeType(is.mime.c_str());
const char *mime_type = is.GetMimeType();
return mime_type != nullptr && plugin.SupportsMimeType(mime_type);
}
gcc_pure

View File

@@ -27,7 +27,7 @@
#include <stdint.h>
struct Decoder;
struct InputStream;
class InputStream;
struct DsdId {
char value[4];

View File

@@ -385,7 +385,7 @@ ffmpeg_probe(Decoder *decoder, InputStream &is)
AVProbeData avpd;
avpd.buf = buffer;
avpd.buf_size = nbytes;
avpd.filename = is.uri.c_str();
avpd.filename = is.GetURI();
return av_probe_input_format(&avpd, true);
}
@@ -409,7 +409,7 @@ ffmpeg_decode(Decoder &decoder, InputStream &input)
//ffmpeg works with ours "fileops" helper
AVFormatContext *format_context = nullptr;
if (mpd_ffmpeg_open_input(&format_context, stream.io,
input.uri.c_str(),
input.GetURI(),
input_format) != 0) {
LogError(ffmpeg_domain, "Open failed");
return;
@@ -558,7 +558,7 @@ ffmpeg_scan_stream(InputStream &is,
return false;
AVFormatContext *f = nullptr;
if (mpd_ffmpeg_open_input(&f, stream.io, is.uri.c_str(),
if (mpd_ffmpeg_open_input(&f, stream.io, is.GetURI(),
input_format) != 0)
return false;

View File

@@ -23,7 +23,7 @@
#include <FLAC/stream_decoder.h>
struct Decoder;
struct InputStream;
class InputStream;
/**
* This class wraps an #InputStream in libFLAC stream decoder

View File

@@ -25,7 +25,7 @@
#define MPD_OGG_CODEC_HXX
struct Decoder;
struct InputStream;
class InputStream;
enum ogg_codec {
OGG_CODEC_UNKNOWN,

View File

@@ -26,7 +26,7 @@
#include <stddef.h>
struct InputStream;
class InputStream;
struct Decoder;
/**

View File

@@ -487,7 +487,7 @@ wavpack_streamdecode(Decoder &decoder, InputStream &is)
bool can_seek = is.seekable;
wavpack_input isp_wvc;
InputStream *is_wvc = wavpack_open_wvc(decoder, is.uri.c_str(),
InputStream *is_wvc = wavpack_open_wvc(decoder, is.GetURI(),
is.mutex, is.cond,
&isp_wvc);
if (is_wvc != nullptr) {