mirror of
https://github.com/claunia/flac.git
synced 2025-12-16 18:54:26 +00:00
add resolved_as_cstring()
This commit is contained in:
@@ -95,6 +95,7 @@ namespace FLAC {
|
||||
inline State(::FLAC__StreamDecoderState state): state_(state) { }
|
||||
inline operator ::FLAC__StreamDecoderState() const { return state_; }
|
||||
inline const char *as_cstring() const { return ::FLAC__StreamDecoderStateString[state_]; }
|
||||
inline const char *resolved_as_cstring(const Stream &decoder) const { return ::FLAC__stream_decoder_get_resolved_state_string(decoder.decoder_); }
|
||||
protected:
|
||||
::FLAC__StreamDecoderState state_;
|
||||
};
|
||||
|
||||
@@ -606,6 +606,16 @@ FLAC_API FLAC__bool FLAC__stream_decoder_set_metadata_ignore_all(FLAC__StreamDec
|
||||
*/
|
||||
FLAC_API FLAC__StreamDecoderState FLAC__stream_decoder_get_state(const FLAC__StreamDecoder *decoder);
|
||||
|
||||
/** Get the current decoder state as a C string.
|
||||
*
|
||||
* \param decoder A decoder instance to query.
|
||||
* \assert
|
||||
* \code decoder != NULL \endcode
|
||||
* \retval const char *
|
||||
* The decoder state as a C string. Do not modify the contents.
|
||||
*/
|
||||
FLAC_API const char *FLAC__stream_decoder_get_resolved_state_string(const FLAC__StreamDecoder *decoder);
|
||||
|
||||
/** Get the current number of channels in the stream being decoded.
|
||||
* Will only be valid after decoding has started and will contain the
|
||||
* value from the most recently decoded frame header.
|
||||
|
||||
@@ -516,6 +516,11 @@ FLAC_API FLAC__StreamDecoderState FLAC__stream_decoder_get_state(const FLAC__Str
|
||||
return decoder->protected_->state;
|
||||
}
|
||||
|
||||
FLAC_API const char *FLAC__stream_decoder_get_resolved_state_string(const FLAC__StreamDecoder *decoder)
|
||||
{
|
||||
return FLAC__StreamDecoderStateString[decoder->protected_->state];
|
||||
}
|
||||
|
||||
FLAC_API unsigned FLAC__stream_decoder_get_channels(const FLAC__StreamDecoder *decoder)
|
||||
{
|
||||
FLAC__ASSERT(0 != decoder);
|
||||
|
||||
Reference in New Issue
Block a user