History log of /haiku/src/apps/mediaplayer/supplier/ProxyAudioSupplier.h
Revision Date Author Comments
# 8dd3060d 12-Apr-2010 Axel Dörfler <axeld@pinc-software.de>

* The AudioProducer now correctly handles late producer notices by ignoring
extra notices for buffers already scheduled.
* Also, the AudioSupplier/AudioReader classes now know their initial latency,
and the AudioProducer is now using that one to advertize its own initial
latency - this fixes late buffers on start, causing the latency to grow
too large.
* Cleanup here and there.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36199 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 50450a00 21-Jun-2008 Stephan Aßmus <superstippi@gmx.de>

Implemented an AudioReader subclass "AudioVolumeConverter" which applies
a volume to the audio data. It ramps between a previous and the current volume
if necessary to smooth out the changes. The volume slider functionality is
thereby restored.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26066 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4aa9ff58 31-May-2008 Stephan Aßmus <superstippi@gmx.de>

Fix a locking problem with inner locks to protect the race condition when
the producer media nodes would access the suppliers in their own thread
without having any locks held, while the window could replace the suppliers.
I think since I delayed the deletion of the suppliers in the controllers, this
problem was only theoretical... but this is just more clean.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25734 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0fc56ed5 30-May-2008 Stephan Aßmus <superstippi@gmx.de>

* Moved a bunch of non-primary interface classes into a new subfolder
"interface"

* Complete reimplementation of the playback engine using Media Nodes:
- Seeking video files does not appear to lockup the playback anymore, but
works on a frame accurate level even for keyframe based streams. There is
currently a problem with certain container formats, the audio track reports
a "Device Seek Error" in certain conditions. In that case audio goes silent,
and can be restarted by going back to the beginnings of the stream.
- Video overlays are now supported.
- It would be possible to connect the output of the MediaPlayer to other
applications or dormant media nodes.

* Known regressions:
- The volume slider has currently no effect anymore.
- Switching the audio track during playback has a known race condition and
can crash the player.
- The new engine is not as "light weight" as the old one. I tagged the
previous implementation in tags/components/mediaplayer-engine-v1. It does
not seem to have any noticable effect though.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25725 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8dd3060da4f50b8de2830fd93216b186efec7c4f 12-Apr-2010 Axel Dörfler <axeld@pinc-software.de>

* The AudioProducer now correctly handles late producer notices by ignoring
extra notices for buffers already scheduled.
* Also, the AudioSupplier/AudioReader classes now know their initial latency,
and the AudioProducer is now using that one to advertize its own initial
latency - this fixes late buffers on start, causing the latency to grow
too large.
* Cleanup here and there.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36199 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 50450a005341abdb44662e9c7368227f75ea3914 21-Jun-2008 Stephan Aßmus <superstippi@gmx.de>

Implemented an AudioReader subclass "AudioVolumeConverter" which applies
a volume to the audio data. It ramps between a previous and the current volume
if necessary to smooth out the changes. The volume slider functionality is
thereby restored.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26066 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4aa9ff58c6392bee9f9dd7b4ef371d1bcd733cb1 31-May-2008 Stephan Aßmus <superstippi@gmx.de>

Fix a locking problem with inner locks to protect the race condition when
the producer media nodes would access the suppliers in their own thread
without having any locks held, while the window could replace the suppliers.
I think since I delayed the deletion of the suppliers in the controllers, this
problem was only theoretical... but this is just more clean.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25734 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0fc56ed57bdd5d2d44f33edd17d94210704613bd 30-May-2008 Stephan Aßmus <superstippi@gmx.de>

* Moved a bunch of non-primary interface classes into a new subfolder
"interface"

* Complete reimplementation of the playback engine using Media Nodes:
- Seeking video files does not appear to lockup the playback anymore, but
works on a frame accurate level even for keyframe based streams. There is
currently a problem with certain container formats, the audio track reports
a "Device Seek Error" in certain conditions. In that case audio goes silent,
and can be restarted by going back to the beginnings of the stream.
- Video overlays are now supported.
- It would be possible to connect the output of the MediaPlayer to other
applications or dormant media nodes.

* Known regressions:
- The volume slider has currently no effect anymore.
- Switching the audio track during playback has a known race condition and
can crash the player.
- The new engine is not as "light weight" as the old one. I tagged the
previous implementation in tags/components/mediaplayer-engine-v1. It does
not seem to have any noticable effect though.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25725 a95241bf-73f2-0310-859d-f6bbb57e9c96