Warning
TorchAudio’s C++ API is a prototype feature. API/ABI backward compatibility is not guaranteed.
Note
The top-level namespace has been changed from torchaudio
to torio
.
StreamReader
has been renamed to StreamingMediaDecoder
.
torio::io::StreamingMediaDecoder
StreamingMediaDecoder
is the implementation used by Python equivalent and provides similar interface.
When working with custom I/O, such as in-memory data, StreamingMediaDecoderCustomIO
class can be used.
Both classes have the same methods defined, so their usages are the same.
Constructors
StreamingMediaDecoder
-
class StreamingMediaDecoder
Fetch and decode audio/video streams chunk by chunk.
Unnamed Group
private: int drain();
//////////////////////////////////////////////////////////////////////////// Retrieval //////////////////////////////////////////////////////////////////////////// public: / /
/ Pop one chunk from each output stream if it is available. std::vector<std::optional<Chunk>> pop_chunks();
/
/
Warning
doxygenfunction: Unable to resolve function “torio::io::StreamingMediaDecoder::StreamingMediaDecoder” with arguments (const std::string&, const std::optional<std::string>&, const c10::optional<OptionDict>&) in doxygen xml output for project “libtorio” from directory: cpp/xml. Potential matches:
- StreamingMediaDecoder(const std::string &src, const std::optional<std::string> &format = std::nullopt, const std::optional<OptionDict> &option = std::nullopt)
StreamingMediaDecoderCustomIO
Warning
doxygenclass: Cannot find class “torio::io::StreamingMediaDecoderCustomIO” in doxygen xml output for project “libtorio” from directory: cpp/xml
Warning
doxygenfunction: Cannot find function “torio::io::StreamingMediaDecoderCustomIO::StreamingMediaDecoderCustomIO” in doxygen xml output for project “libtorio” from directory: cpp/xml
Query Methods
find_best_audio_stream
-
int64_t torio::io::StreamingMediaDecoder::find_best_audio_stream() const
Find a suitable audio stream using heuristics from ffmpeg.
If successful, the index of the best stream (>=0) is returned. Otherwise a negative value is returned.
find_best_video_stream
-
int64_t torio::io::StreamingMediaDecoder::find_best_video_stream() const
Find a suitable video stream using heuristics from ffmpeg.
If successful, the index of the best stream (0>=) is returned. otherwise a negative value is returned.
get_metadata
-
OptionDict torio::io::StreamingMediaDecoder::get_metadata() const
Fetch metadata of the source media.
num_src_streams
-
int64_t torio::io::StreamingMediaDecoder::num_src_streams() const
Fetch the number of source streams found in the input media.
The source streams include not only audio/video streams but also subtitle and others.
get_src_stream_info
Warning
doxygenfunction: Cannot find function “torio::io::StreamingMediaDecoder::get_src_stream_info” in doxygen xml output for project “libtorio” from directory: cpp/xml
num_out_streams
Warning
doxygenfunction: Cannot find function “torio::io::StreamingMediaDecoder::num_out_streams” in doxygen xml output for project “libtorio” from directory: cpp/xml
get_out_stream_info
Warning
doxygenfunction: Cannot find function “torio::io::StreamingMediaDecoder::get_out_stream_info” in doxygen xml output for project “libtorio” from directory: cpp/xml
is_buffer_ready
Warning
doxygenfunction: Cannot find function “torio::io::StreamingMediaDecoder::is_buffer_ready” in doxygen xml output for project “libtorio” from directory: cpp/xml
Configure Methods
add_audio_stream
Warning
doxygenfunction: Cannot find function “torio::io::StreamingMediaDecoder::add_audio_stream” in doxygen xml output for project “libtorio” from directory: cpp/xml
add_video_stream
Warning
doxygenfunction: Cannot find function “torio::io::StreamingMediaDecoder::add_video_stream” in doxygen xml output for project “libtorio” from directory: cpp/xml
remove_stream
Warning
doxygenfunction: Cannot find function “torio::io::StreamingMediaDecoder::remove_stream” in doxygen xml output for project “libtorio” from directory: cpp/xml
Stream Methods
seek
Warning
doxygenfunction: Cannot find function “torio::io::StreamingMediaDecoder::seek” in doxygen xml output for project “libtorio” from directory: cpp/xml
process_packet
Warning
doxygenfunction: Cannot find function “torio::io::StreamingMediaDecoder::process_packet” in doxygen xml output for project “libtorio” from directory: cpp/xml
process_packet_block
Warning
doxygenfunction: Cannot find function “torio::io::StreamingMediaDecoder::process_packet_block” in doxygen xml output for project “libtorio” from directory: cpp/xml
process_all_packets
Warning
doxygenfunction: Cannot find function “torio::io::StreamingMediaDecoder::process_all_packets” in doxygen xml output for project “libtorio” from directory: cpp/xml
fill_buffer
Warning
doxygenfunction: Cannot find function “torio::io::StreamingMediaDecoder::fill_buffer” in doxygen xml output for project “libtorio” from directory: cpp/xml
Retrieval Methods
pop_chunks
Warning
doxygenfunction: Cannot find function “torio::io::StreamingMediaDecoder::pop_chunks” in doxygen xml output for project “libtorio” from directory: cpp/xml
Support Structures
Chunk
Warning
doxygenstruct: Cannot find class “torio::io::Chunk” in doxygen xml output for project “libtorio” from directory: cpp/xml
SrcStreaminfo
-
struct SrcStreamInfo
Information about source stream found in the input media.
COMMON MEMBERS
-
AVMediaType media_type
The stream media type.
Please see refer to the FFmpeg documentation for the available values
- Todo:
Introduce own enum and get rid of FFmpeg dependency
Unnamed Group
/ /
/ Width int width = -1;
/ Height int height = -1;
/ Frame rate AVRational frame_rate{0, 1};
/
-
AVMediaType media_type
OutputStreaminfo
Warning
doxygenstruct: Cannot find class “torio::io::OutputStreamInfo” in doxygen xml output for project “libtorio” from directory: cpp/xml