View Issue Details

IDProjectCategoryView StatusLast Update
0000274DCP-o-maticFeaturespublic2016-05-31 23:56
Reportercarl Assigned Tocarl  
PriorityhighSeveritymajorReproducibilityN/A
Status closedResolutionfixed 
Target Version1.80.0 
Summary0000274: Allow "merging" of audio streams
Description

so that e.g. 6 1-channel streams can be used as a 6-channel stream.

TagsNo tags attached.
Branch
Estimated weeks required
Estimated work required

Activities

carl

2015-04-22 16:14

administrator   ~0000552

Last edited: 2015-04-23 10:20

UI probably should remove the "stream" control and put all channels of all streams into the matrix.

May just be able to spit out audio from AudioDecoder with a channel offset, or something, and get AudioMerger to sort it all out in Player::process_audio.

I guess streams can have different sample rates, so AudioContent can no longer have a content_audio_frame_rate.

May need a AudioDecoder::_audio_position per stream; move it down to FFmpegDecoder / SndfileDecoder so that they can choose how they do it.

It's not clear whether FFmpegContent should keep the AudioMapping in the streams or in itself.

-1
Add AudioStream parent containing frame rate, mapping, number of channels
[bb87d96]

-2
Use AudioStream in SndfileContent

-3
Add stream object to AudioDecoder::Audio signal.

-4
Remove selected audio stream from FFmpegDecoder.
FFmpegContent to work out audio channels by looping over its streams.
FFmpegContent to convert mappings from whole-content to per-stream and back.
FFmpegDecoder to decode all audio packets and emit stream.
SndfileDecoder to emit a stream too.
Remove content_audio_frame_rate() from AudioDecoder.
Player to store Resamplers based on stream object.
Remove stream selection UI and add stream details to the matrix.

-5
Make _audio_position a map keyed by AudioStreamPtr.

carl

2015-05-18 15:23

administrator   ~0000629

Merged from merge-streams in the commits leading up to a3ae559cb5b94ea0b42ebf7683a1232ccf0b74df.

Issue History

Date Modified Username Field Change
2013-12-01 17:35 carl New Issue
2013-12-01 22:03 carl Category Features (front-end) => Features
2013-12-08 23:57 carl Target Version => 1.42
2013-12-09 11:21 carl Target Version 1.42 => 1.43
2013-12-20 20:48 carl Target Version 1.43 => 1.47
2013-12-23 02:04 carl Target Version 1.47 => 1.48
2013-12-23 23:14 carl Target Version 1.48 => 1.51
2013-12-23 23:57 carl Target Version 1.51 => 1.52
2013-12-27 14:29 carl Target Version 1.52 => Next
2014-03-18 16:14 carl Priority normal => high
2015-04-22 16:03 carl Assigned To => carl
2015-04-22 16:03 carl Status new => acknowledged
2015-04-22 16:03 carl Severity minor => major
2015-04-22 16:14 carl Note Added: 0000552
2015-04-22 16:19 carl Note Edited: 0000552
2015-04-22 16:38 carl Note Edited: 0000552
2015-04-22 16:50 carl Note Edited: 0000552
2015-04-22 16:57 carl Note Edited: 0000552
2015-04-22 17:14 carl Note Edited: 0000552
2015-04-22 17:48 carl Note Edited: 0000552
2015-04-22 19:22 carl Note Edited: 0000552
2015-04-23 01:06 carl Note Edited: 0000552
2015-04-23 10:20 carl Note Edited: 0000552
2015-04-23 10:20 carl Note Edited: 0000552
2015-05-18 10:31 carl Target Version => 1.80.0
2015-05-18 15:23 carl Note Added: 0000629
2015-05-18 15:23 carl Status acknowledged => resolved
2015-05-18 15:23 carl Resolution open => fixed
2016-05-31 23:56 carl Status resolved => closed