Systems and Methods for Memory Management and Crossfading in an Electronic Device
First Claim
1. An electronic device, comprising:
- a memory buffer;
a storage structure including a plurality of executable routines, the routines including instructions to alternately decode at least first and second streams of data and to store the decoded first and second streams of data in the memory buffer, wherein the instructions alternate between decoding the first and second streams such that simultaneous playback of the first and second streams of decoded data can proceed without interruption; and
a processor configured to execute the routines stored on the storage structure.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods are disclosed for the management of memory used in a crossfading operation in an electronic device. In one embodiment, a processor is used to alternately decode two audio streams, one which is being faded out and one which is being faded in to implement a crossfade. The two audio streams may be encoded in the same or different formats and may be alternately decoded such that resource usage is reduced. The amount of decoded data of both audio streams and other parameters may determine which audio stream is to be actively decoded. In certain embodiments, the decoded data may be stored in a circular buffer, and a delta is determined between the decoded data and the empty space of the buffer.
338 Citations
24 Claims
-
1. An electronic device, comprising:
-
a memory buffer; a storage structure including a plurality of executable routines, the routines including instructions to alternately decode at least first and second streams of data and to store the decoded first and second streams of data in the memory buffer, wherein the instructions alternate between decoding the first and second streams such that simultaneous playback of the first and second streams of decoded data can proceed without interruption; and a processor configured to execute the routines stored on the storage structure. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method, comprising:
-
decoding a first stream of data encoded in a first format via a first decoder; storing the decoded first stream of data; decoding data of a second stream encoded in a second format via the second decoder; storing the decoded second stream of data; and switching between the first decoder and the second decoder based at least on a differential between a playback duration associated with the stored decoded first and second streams of data. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A computer-readable storage medium comprising instructions for:
-
decoding a first stream of data encoded in a first format via a first decoder; storing the decoded first stream of data; decoding data of a second stream encoded in a second format via the second decoder; storing the decoded second stream of data; and switching between the first decoder and the second decoder based at least on a differential between a playback duration associated with the stored decoded first and second streams of data. - View Dependent Claims (19)
-
-
20. A method, comprising:
-
decoding a first stream of data; storing the decoded data of the first stream in a memory; and switching to decode a second stream of data based at least on the amount of decoded data of the first stream stored in the memory. - View Dependent Claims (21, 22, 23)
-
-
24. A computer-readable storage medium comprising instructions for:
-
decoding a first stream of data; storing the decoded data of the first stream in a memory; and switching to decode a second stream of data based at least on the amount of decoded data of the first stream stored in the memory.
-
Specification