errors in source filters, so each filter in the chain doesn't have a separate
error
This commit is contained in:
@@ -40,14 +40,8 @@ public:
|
|||||||
virtual int GetNextSourceFrame() const = 0;
|
virtual int GetNextSourceFrame() const = 0;
|
||||||
virtual float GetStreamToSourceRatio() const = 0;
|
virtual float GetStreamToSourceRatio() const = 0;
|
||||||
|
|
||||||
virtual RString GetError() const { return m_sError; }
|
virtual RString GetError() const = 0;
|
||||||
int RetriedRead( char *pBuffer, int iFrames, int *iSourceFrame = NULL, float *fRate = NULL );
|
int RetriedRead( char *pBuffer, int iFrames, int *iSourceFrame = NULL, float *fRate = NULL );
|
||||||
|
|
||||||
protected:
|
|
||||||
void SetError( RString sError ) const { m_sError = sError; }
|
|
||||||
|
|
||||||
private:
|
|
||||||
mutable RString m_sError;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -26,11 +26,16 @@ public:
|
|||||||
virtual OpenResult Open(RString filename) = 0;
|
virtual OpenResult Open(RString filename) = 0;
|
||||||
virtual bool IsStreamingFromDisk() const { return true; }
|
virtual bool IsStreamingFromDisk() const { return true; }
|
||||||
virtual float GetStreamToSourceRatio() const { return 1.0f; }
|
virtual float GetStreamToSourceRatio() const { return 1.0f; }
|
||||||
|
virtual RString GetError() const { return m_sError; }
|
||||||
|
|
||||||
static RageSoundReader *OpenFile( RString filename, RString &error );
|
static RageSoundReader *OpenFile( RString filename, RString &error );
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void SetError( RString sError ) const { m_sError = sError; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static RageSoundReader_FileReader *TryOpenFile( RString filename, RString &error, RString format, bool &bKeepTrying );
|
static RageSoundReader_FileReader *TryOpenFile( RString filename, RString &error, RString format, bool &bKeepTrying );
|
||||||
|
mutable RString m_sError;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user