Revision db0b6f8...

Go back to digest for 24th July 2011

Bug Fixes in Multimedia

Harald Sitter committed changes in [phonon-gstreamer] /:

Fix ADO returning 0 samples forever.

Since 2 channel input buffers were thought to be chopped by
QVector::resize() the emitted data never went beyond returning 0 if the
initial samples were 0. This is because resize() actually removes
elements at the end of the vector, however since the vector is actually
used like a queue we need to chop at the front. This is now simulated
by using remove(0, n) with n = dataSize*channels.
Also fix mono processing, instead of manually memcopying and whatnot we
now create an implicitly shared copy vector and resize it to the size
we need to return. This either results in implicitly shared remaining
memory or, which is more likely, only copies the elements that are to
be emitted. Eitherway a massive gain in readability.

File Changes

Modified 2 files
  •   gstreamer/audiodataoutput.cpp
  •   gstreamer/audiodataoutput.h
2 files changed in total