Quellcode durchsuchen

LibAudio: Allow adding metadata to encoders

kleines Filmröllchen vor 1 Jahr
Ursprung
Commit
1e291753b0
1 geänderte Dateien mit 5 neuen und 0 gelöschten Zeilen
  1. 5 0
      Userland/Libraries/LibAudio/Encoder.h

+ 5 - 0
Userland/Libraries/LibAudio/Encoder.h

@@ -8,6 +8,7 @@
 
 #include <AK/Error.h>
 #include <AK/Span.h>
+#include <LibAudio/Forward.h>
 #include <LibAudio/Sample.h>
 
 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<void> 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<void> 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) { }