LibMedia: Use String instead of ByteString in Matroska::Document

This commit is contained in:
Zaggy1024 2025-10-21 14:58:23 -05:00 committed by Jelle Raaijmakers
parent 8f15565967
commit b59f0501b8
Notes: github-actions[bot] 2025-11-21 10:04:34 +00:00
3 changed files with 17 additions and 17 deletions

View file

@ -19,7 +19,7 @@
namespace Media::Matroska {
struct EBMLHeader {
ByteString doc_type;
String doc_type;
u32 doc_type_version;
};
@ -27,10 +27,10 @@ class SegmentInformation {
public:
u64 timestamp_scale() const { return m_timestamp_scale; }
void set_timestamp_scale(u64 timestamp_scale) { m_timestamp_scale = timestamp_scale; }
Utf8View muxing_app() const LIFETIME_BOUND { return Utf8View(m_muxing_app); }
void set_muxing_app(ByteString muxing_app) { m_muxing_app = move(muxing_app); }
Utf8View writing_app() const LIFETIME_BOUND { return Utf8View(m_writing_app); }
void set_writing_app(ByteString writing_app) { m_writing_app = move(writing_app); }
StringView muxing_app() const LIFETIME_BOUND { return m_muxing_app; }
void set_muxing_app(String muxing_app) { m_muxing_app = move(muxing_app); }
StringView writing_app() const LIFETIME_BOUND { return m_writing_app; }
void set_writing_app(String writing_app) { m_writing_app = move(writing_app); }
Optional<double> duration_unscaled() const { return m_duration_unscaled; }
void set_duration_unscaled(double duration) { m_duration_unscaled.emplace(duration); }
Optional<AK::Duration> duration() const
@ -42,8 +42,8 @@ public:
private:
u64 m_timestamp_scale { 1'000'000 };
ByteString m_muxing_app;
ByteString m_writing_app;
String m_muxing_app;
String m_writing_app;
Optional<double> m_duration_unscaled;
};

View file

@ -329,11 +329,11 @@ static DecoderErrorOr<SegmentInformation> parse_information(Streamer& streamer)
break;
case MUXING_APP_ID:
segment_information.set_muxing_app(TRY_READ(streamer.read_string()));
dbgln_if(MATROSKA_DEBUG, "Read MuxingApp attribute: {}", segment_information.muxing_app().as_string());
dbgln_if(MATROSKA_DEBUG, "Read MuxingApp attribute: {}", segment_information.muxing_app());
break;
case WRITING_APP_ID:
segment_information.set_writing_app(TRY_READ(streamer.read_string()));
dbgln_if(MATROSKA_DEBUG, "Read WritingApp attribute: {}", segment_information.writing_app().as_string());
dbgln_if(MATROSKA_DEBUG, "Read WritingApp attribute: {}", segment_information.writing_app());
break;
case DURATION_ID:
segment_information.set_duration_unscaled(TRY_READ(streamer.read_float()));
@ -481,19 +481,19 @@ static DecoderErrorOr<NonnullRefPtr<TrackEntry>> parse_track_entry(Streamer& str
dbgln_if(MATROSKA_TRACE_DEBUG, "Read TrackType attribute: {}", to_underlying(track_entry->track_type()));
break;
case TRACK_NAME_ID:
track_entry->set_name(DECODER_TRY_ALLOC(String::from_byte_string(TRY_READ(streamer.read_string()))));
track_entry->set_name(TRY_READ(streamer.read_string()));
dbgln_if(MATROSKA_TRACE_DEBUG, "Read Track's Name attribute: {}", track_entry->name());
break;
case TRACK_LANGUAGE_ID:
track_entry->set_language(DECODER_TRY_ALLOC(String::from_byte_string(TRY_READ(streamer.read_string()))));
track_entry->set_language(TRY_READ(streamer.read_string()));
dbgln_if(MATROSKA_TRACE_DEBUG, "Read Track's Language attribute: {}", track_entry->language());
break;
case TRACK_LANGUAGE_BCP_47_ID:
track_entry->set_language_bcp_47(DECODER_TRY_ALLOC(String::from_byte_string(TRY_READ(streamer.read_string()))));
track_entry->set_language_bcp_47(TRY_READ(streamer.read_string()));
dbgln_if(MATROSKA_TRACE_DEBUG, "Read Track's LanguageBCP47 attribute: {}", track_entry->language());
break;
case TRACK_CODEC_ID:
track_entry->set_codec_id(DECODER_TRY_ALLOC(String::from_byte_string(TRY_READ(streamer.read_string()))));
track_entry->set_codec_id(TRY_READ(streamer.read_string()));
dbgln_if(MATROSKA_TRACE_DEBUG, "Read Track's CodecID attribute: {}", track_entry->codec_id());
break;
case TRACK_CODEC_PRIVATE_ID: {
@ -1088,13 +1088,13 @@ DecoderErrorOr<void> SampleIterator::seek_to_cue_point(CuePoint const& cue_point
return {};
}
ErrorOr<ByteString> Streamer::read_string()
ErrorOr<String> Streamer::read_string()
{
auto string_length = TRY(read_variable_size_integer());
if (remaining() < string_length)
return Error::from_string_literal("String length extends past the end of the stream");
auto string_data = data_as_chars();
auto string_value = ByteString(string_data, strnlen(string_data, string_length));
auto const* string_data = data_as_chars();
auto string_value = String::from_utf8(ReadonlyBytes(string_data, strnlen(string_data, string_length)));
TRY(read_raw_octets(string_length));
return string_value;
}

View file

@ -147,7 +147,7 @@ public:
ErrorOr<u64> read_u64();
ErrorOr<double> read_float();
ErrorOr<ByteString> read_string();
ErrorOr<String> read_string();
ErrorOr<void> read_unknown_element();