summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/phonon/mmf/abstractmediaplayer.h
Commit message (Collapse)AuthorAgeFilesLines
* Implemented buffer status notifications in Phonon MMF backendGareth Stockwell2010-01-111-9/+14
| | | | | | | | | | | | | When clips are buffering (either at the start of playback, or during playback, when buffer levels drop due to e.g. CPU, file system or network load), the backend receives notification from the MMF. While buffering is ongoing, the backend periodically queries the filling status and emits a signal. Task-number: QTBUG-4660 Reviewed-by: Frans Englich (cherry picked from commit bed33ac62d87073120d56ff75a3d2356c99c64ea)
* Added support for streaming playback to Phonon MMF backendGareth Stockwell2010-01-111-0/+1
| | | | | | | | | | | | | | | | | Because the MIME type of the stream cannot always be deduced from the URL, we assume that it is a video stream. This is based on the assumption that the video controllers will be capable of parsing the container formats for audio-only, as well as video clips. Note that this assumption may not hold on all devices. Note that most implementations of the MMF client APIs do not support HTTP streaming (a.k.a. progressive download). The backend has therefore only been tested with RTSP streams - see the JIRA entry for further details. Task-number: QTBUG-4660 Reviewed-by: Frans Englich (cherry picked from commit 3117e3a6a9c1bf95fc30ebee4d8d11b646cb7125)
* Implemented aspect ratio and scale mode handling in Phonon MMF backendGareth Stockwell2009-11-131-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Replaced VolumeObserver and VideoOutputObserver interfaces with signals. - Added signals for propagating changes in aspect ratio and scale mode from VideoOutput to VideoPlayer. - Removed VideoPlayer::getNativeWindowSystemHandles. Interaction with window system is moved into VideoOutput, so that VideoPlayer is better focussed on its main task: interacting with CVideoPlayerUtility. - WId changes, resize and move events received by the VideoOutput widget cause it to emit a videoWindowChanged signal. This is received by the VideoPlayer, which triggers a call to updateVideoRect. The main task of this function is to calculate the scale factors which are provided to the MMF via CVideoPlayerUtility::SetScaleFactorL. Note that: i) This function must be called both before and after the call to SetDisplayWindowL. For changes in aspect ratio or scale mode, setting the scale mode after updating the display window is sufficient. However, testing showed that, when switching in or out of full-screen mode, two calls were necessary in order to preserve the correct aspect ratio. ii) The screen rectangle passed to the MMF is still the full window extent; it is not the region in which video will actually be rendered. The post-processor will fill in the remainder of the window with a background colour (typically black). If, on the other hand, we passed in the actual video display rectangle, we would need to do this background painting in the widget. This in turn would require a change to QtGui: at present, we can only disable blitting on a per-widget basis (by setting QWExtra::disableBlit). If we needed to paint the borders of the video window, disableBlit would need to contain the actual DSA region, rather than just a single boolean flag. Task-number: QTBUG-5585 Reviewed-by: Frans Englich
* Implemented metadata handling in Phonon MMF backendGareth Stockwell2009-11-041-0/+6
| | | | | Task-number: QTBUG-4662 Reviewed-by: Frans Englich
* Improve error handling.Frans Englich2009-10-231-4/+0
| | | | | | | | | | | | | Errors reported via: * the DummyPlayer didn't work due to it not doing the usual state transitions/emission * MediaObject::setSource() due to errors being emitted before connections being set up. * A general state bug. Task-number: QTBUG-4752 Reviewed-by: Gareth Stockwell
* Merge branch 'mmfphonon' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Frans Englich2009-09-291-1/+0
|\ | | | | | | | | | | | | mmfphonon Conflicts: src/3rdparty/phonon/mmf/abstractplayer.cpp
| * Fixed problem which caused playback to always start at default volume.Gareth Stockwell2009-09-291-1/+0
| | | | | | | | Volume changes made before playback starts are now correctly propagated.
* | Changes for fixing media object.Frans Englich2009-09-291-40/+5
|/ | | | | | | | | | | This brings tst_MediaObject to 15/7, from previously not running. Changes involves: * Skipping .qrc related tests * Loading/mimetype detction from file:/ URIs * State fixes * As part of previous point, move state and error handling down in AbstractPlayer.
* Improve signal connections between MediaObject and AbstractPlayer.Frans Englich2009-09-091-6/+0
| | | | | MediaObject deals with an AbstractPlayer, so make sure we have the signals declared in that base class, instead of individually in each sub-class.
* Reformatted code to comply with Qt styleGareth Stockwell2009-08-281-124/+123
|
* Wrapped code using QT_BEGIN/END_NAMESPACE macrosGareth Stockwell2009-08-281-0/+4
|
* Added some missing signals in MediaObject; fixed seek slider in musicplayer.exeGareth Stockwell2009-08-251-1/+4
|
* Further tidied up volume handlingGareth Stockwell2009-08-211-3/+10
|
* Started fleshing out the VideoPlayer implementationGareth Stockwell2009-08-201-0/+7
| | | | | | Now loads, prepares and plays a clip, but the video is not visible because it's not yet wired up to a VideoWidget. Video 'playback' can be tested using the demos/mediaplayer application, but the menus are not displayed properly, so a video clip filename must be hardcoded in main.cpp and passed to the MediaPlayer constructor.
* Implemented parameter copying between AbstractPlayer instancesGareth Stockwell2009-08-201-12/+6
|
* Added VolumeControlInterface to abstract details of path between MediaObject ↵Gareth Stockwell2009-08-201-15/+10
| | | | and AudioOutput
* Started work on VideoPlayer implementationGareth Stockwell2009-08-181-2/+6
|
* Refactored AudioPlayer and VideoPlayer to separate out common code into ↵Gareth Stockwell2009-08-181-0/+148
AbstractMediaPlayer