}\r
else\r
{\r
- item.audio_data = std::move(frame.audio_data()); // Note: We don't need to care about upper/lower since audio_data is removed/moved from the last field.\r
+ item.audio_data = frame.audio_data(); // Note: We don't need to care about upper/lower since audio_data is removed/moved from the last field.\r
}\r
\r
items_.push_back(std::move(item)); \r
\r
desc.pix_fmt = core::pixel_format::bgra;\r
desc.planes.push_back(core::pixel_format_desc::plane(format_desc.width, format_desc.height, 4));\r
- auto frame = frame_factory_->create_frame(this, desc);\r
+ auto frame = frame_factory_->create_frame(this, desc, read_frame->multichannel_view().channel_layout());\r
+\r
+ bool copy_audio = !double_speed && !half_speed;\r
+\r
+ if (copy_audio)\r
+ {\r
+ frame->audio_data().reserve(read_frame->audio_data().size());\r
+ boost::copy(read_frame->audio_data(), std::back_inserter(frame->audio_data()));\r
+ }\r
\r
fast_memcpy(frame->image_data().begin(), read_frame->image_data().begin(), read_frame->image_data().size());\r
frame->commit();\r