\r
struct audio_mixer::implementation\r
{\r
- std::stack<core::frame_transform> transform_stack_;\r
-\r
- std::map<const void*, core::frame_transform> prev_frame_transforms_;\r
- std::map<const void*, core::frame_transform> next_frame_transforms_;\r
-\r
- const core::video_format_desc format_desc_;\r
-\r
- std::vector<audio_item> items;\r
+ std::stack<core::frame_transform> transform_stack_;\r
+ std::map<const void*, core::frame_transform> prev_frame_transforms_;\r
+ const core::video_format_desc format_desc_;\r
+ std::vector<audio_item> items;\r
\r
public:\r
implementation(const core::video_format_desc& format_desc)\r
{\r
auto result = std::vector<int16_t>(format_desc_.audio_samples_per_frame);\r
\r
+ std::map<const void*, core::frame_transform> next_frame_transforms;\r
+\r
BOOST_FOREACH(auto& item, items)\r
{ \r
const auto next = item.transform;\r
if(it != prev_frame_transforms_.end())\r
prev = it->second;\r
\r
- next_frame_transforms_[item.tag] = next; // Store all active tags, inactive tags will be removed at the end.\r
+ next_frame_transforms[item.tag] = next; // Store all active tags, inactive tags will be removed at the end.\r
\r
if(next.volume < 0.001 && prev.volume < 0.001)\r
continue;\r
}\r
\r
items.clear();\r
- prev_frame_transforms_ = std::move(next_frame_transforms_); \r
+ prev_frame_transforms_ = std::move(next_frame_transforms); \r
\r
return std::move(result);\r
}\r