diff --git a/Userland/Libraries/LibAudio/Encoder.h b/Userland/Libraries/LibAudio/Encoder.h index 9eb3fd7ecb..324e090536 100644 --- a/Userland/Libraries/LibAudio/Encoder.h +++ b/Userland/Libraries/LibAudio/Encoder.h @@ -8,6 +8,7 @@ #include #include +#include #include namespace Audio { @@ -25,6 +26,10 @@ public: // This method is called in the destructor, but since this can error, you should call this function yourself before disposing of the decoder. virtual ErrorOr finalize() = 0; + // Sets the metadata for this audio file. + // Not all encoders support this, and metadata may not be writeable after starting to write samples. + virtual ErrorOr set_metadata([[maybe_unused]] Metadata const& metadata) { return {}; } + // Provides a hint about the total number of samples to the encoder, improving some encoder's performance in various aspects. // Note that the hint does not have to be fully correct; wrong hints never cause errors, not even indirectly. virtual void sample_count_hint([[maybe_unused]] size_t sample_count) { }