Commit f01b9911 authored by Max Kellermann's avatar Max Kellermann

decoder/opus: use class OggStreamState in _scan_stream()

parent f80736c3
...@@ -444,10 +444,12 @@ mpd_opus_scan_stream(InputStream &is, ...@@ -444,10 +444,12 @@ mpd_opus_scan_stream(InputStream &is,
InputStreamReader reader(is); InputStreamReader reader(is);
OggSyncState oy(reader); OggSyncState oy(reader);
ogg_stream_state os; ogg_page first_page;
if (!oy.ExpectFirstPage(os)) if (!oy.ExpectPage(first_page))
return false; return false;
OggStreamState os(first_page);
/* read at most 64 more pages */ /* read at most 64 more pages */
unsigned remaining_pages = 64; unsigned remaining_pages = 64;
...@@ -457,7 +459,7 @@ mpd_opus_scan_stream(InputStream &is, ...@@ -457,7 +459,7 @@ mpd_opus_scan_stream(InputStream &is,
ogg_packet packet; ogg_packet packet;
while (remaining_packets > 0) { while (remaining_packets > 0) {
int r = ogg_stream_packetout(&os, &packet); int r = os.PacketOut(packet);
if (r < 0) { if (r < 0) {
result = false; result = false;
break; break;
...@@ -508,8 +510,6 @@ mpd_opus_scan_stream(InputStream &is, ...@@ -508,8 +510,6 @@ mpd_opus_scan_stream(InputStream &is,
tag_handler_invoke_duration(handler, handler_ctx, duration); tag_handler_invoke_duration(handler, handler_ctx, duration);
} }
ogg_stream_clear(&os);
return result; return result;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment