X-Git-Url: https://git.sesse.net/?p=nageru;a=blobdiff_plain;f=jpeg_frame_view.cpp;h=3d3383fe887ea17c6fcab08abcd13752181a0bda;hp=be53688a03ee33bca3bb50688030978eb411ade2;hb=f2100615b957c455d3023704714dc38dc178b392;hpb=bdef311c334b674ba39a931805fb7d32ce8698da diff --git a/jpeg_frame_view.cpp b/jpeg_frame_view.cpp index be53688..3d3383f 100644 --- a/jpeg_frame_view.cpp +++ b/jpeg_frame_view.cpp @@ -207,7 +207,7 @@ void prune_cache() } } -shared_ptr decode_jpeg_with_cache(FrameOnDisk frame_spec, CacheMissBehavior cache_miss_behavior, bool *did_decode) +shared_ptr decode_jpeg_with_cache(FrameOnDisk frame_spec, CacheMissBehavior cache_miss_behavior, FrameReader *frame_reader, bool *did_decode) { *did_decode = false; { @@ -224,7 +224,7 @@ shared_ptr decode_jpeg_with_cache(FrameOnDisk frame_spec, CacheMissBehavi } *did_decode = true; - shared_ptr frame = decode_jpeg(read_frame(frame_spec)); + shared_ptr frame = decode_jpeg(frame_reader->read_frame(frame_spec)); unique_lock lock(cache_mu); cache_bytes_used += frame_size(*frame); @@ -236,7 +236,7 @@ shared_ptr decode_jpeg_with_cache(FrameOnDisk frame_spec, CacheMissBehavi return frame; } -void jpeg_decoder_thread_func() +void JPEGFrameView::jpeg_decoder_thread_func() { size_t num_decoded = 0, num_dropped = 0; @@ -281,7 +281,7 @@ void jpeg_decoder_thread_func() } bool found_in_cache; - shared_ptr frame = decode_jpeg_with_cache(frame_spec, cache_miss_behavior, &found_in_cache); + shared_ptr frame = decode_jpeg_with_cache(frame_spec, cache_miss_behavior, &decode.destination->frame_reader, &found_in_cache); if (frame == nullptr) { assert(cache_miss_behavior == RETURN_NULLPTR_IF_NOT_IN_CACHE); @@ -297,9 +297,9 @@ void jpeg_decoder_thread_func() } } if (subframe_idx == 0) { - primary_frame = move(frame); + primary_frame = std::move(frame); } else { - secondary_frame = move(frame); + secondary_frame = std::move(frame); } } if (drop) {