History log of /haiku/src/apps/mediaplayer/VideoView.cpp
Revision Date Author Comments
# 242e01d2 27-Aug-2012 Axel Dörfler <axeld@pinc-software.de>

Improved member variable naming as suggested by Stippi.


# c95601d7 25-Aug-2012 Axel Dörfler <axeld@pinc-software.de>

Fixed hiding the mouse cursor after going full screen.

* This fixes a regression I introduced in hrev43648; the mouse cursor
was only being hidden in case the controls were visible (ie. only
after an extra mouse move in full screen).


# 7532547c 10-Jan-2012 Axel Dörfler <axeld@pinc-software.de>

Also hide the full screen controls when the mouse is over them.

* We just wait a little longer in this case, like 4.5s.
* Changed the code to only send the messages when needed, before they were
being sent every 1.5s.
* However, this is untested as of yet, as the layout changes didn't allow me
to run the MediaPlayer on my system. Will do so in a minute on another one.


# a178983d 09-Sep-2011 Axel Dörfler <axeld@pinc-software.de>

Cleanup while I was searching for a bug that ended up being in the app_server;
the decorators now return non-sense as their frame, thank you Clemens!
* Got rid of Settings::CurrentSettings() - the get/store pair wasn't really
thread-safe anyway, as it always updated all fields, so settings could get
lost easily. The mechanism is still being used in the settings window, though.
* Introduced some getters/setters for the settings that work on the message
directly which simplifies some code.
* Minor style cleanups.
* Automatic whitespace cleanup.


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


# d6c46607 30-Jun-2011 Axel Dörfler <axeld@pinc-software.de>

* Enabled the "keep subtitles visible when the controls are visible" mode
in the "subtitles at the bottom of video" setting, too.
* Nice surprise to see a feature I wanted to implement already implemented,
really nicely done stippi :-)


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


# 76d9e053 23-Oct-2010 Stephan Aßmus <superstippi@gmx.de>

Introduce a new flag for drawing BBitmaps, B_WAIT_FOR_RETRACE
which triggers waiting on the retrace semaphore in app_server
just before drawing the bitmap. This potentially removes any
additional delay when doing this client side. Completely untested.


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


# 550cf8fa 23-Oct-2010 Stephan Aßmus <superstippi@gmx.de>

Wait for the vertical retrace before blitting a bitmap,
should avoid tearing in the video on supported graphics
drivers.


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


# e65a6eb2 28-Sep-2010 Stephan Aßmus <superstippi@gmx.de>

* Give some options for subtitle placement and size.
* Optimize subtitle drawing when subtitles are to be
displayed at screen bottom versus video bottom, and
the subtitle frame does not intersect the video. In
that case we only need to draw it when it changes
(or is to be removed). Fixed the dead-lock problem
in a nicer way.


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


# 01e0d327 28-Sep-2010 Stephan Aßmus <superstippi@gmx.de>

* Use asynchronous bitmap drawing in VideoView. Wouldn't matter much, though.
* In SubtitleBitmap, if we ever take too long to generate a subtitle bitmap
with the drop-shadow, fall back to outline mode. The StackBlurFilter is
extremely fast, though, so there isn't a huge difference. It can fix some
jumps in the video when switching subtitles in fullscreen mode, though.
* Introduce overlay mode to SubpixelBitmap. It uses the black outline then
and disables font anti-aliasing (just for the outline).


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


# 424c4f3b 27-Sep-2010 Stephan Aßmus <superstippi@gmx.de>

Fixed dead-lock when seeking with the video paused. Should come
up with something better...


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


# c8ccdf52 27-Sep-2010 Stephan Aßmus <superstippi@gmx.de>

* Added basic support for SRT subtitle files. It only works
if the SRT file is placed alongside the current playlist
item under the same name (sans extension). The name of the
language is taken from the file which needs to be separated
by a dot (should be improved).
* Instead of the black outline, subtitles have a nice drop
shadow now, which is easier on the eyes somehow.


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


# 25fb0e67 26-Sep-2010 Stephan Aßmus <superstippi@gmx.de>

Added SubtitleBitmap class which can create a transparent
BBitmap from a subtitle line as found in SRT files. It
supports all tags except positioning (should probably be
handled in upper layers anyway). The parsing is simplistic
but should be robust. The layout of text is handled by an
offsreen BTextView. VideoView can be given a subtitle
string.


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


# b6d5916a 26-Sep-2010 Stephan Aßmus <superstippi@gmx.de>

Since a lot of MediaPlayer code would actually
not compile on BeOS anymore, I've removed the
BeOS versions from the rest of the source.


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


# ee891c88 01-Sep-2010 Stephan Aßmus <superstippi@gmx.de>

Do not resize the VideoView to the scaled size
of the video anymore, but tell the VideoView
the video frame size. So the outside regions of
the video are also painted by the VideoView. Not
tested with overlays, but should work. The side
effect is that the controls appear along the bottom
of the screen in full-screen mode. The controls
may need to be over the video, so they cannot be
attached to the parent of the VideoView (this was
already the case).


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


# 80a9df25 01-Sep-2010 Stephan Aßmus <superstippi@gmx.de>

* Show the controls in full-screen mode when the mouse moves.
* Propagate the current audio channel count to the controls.


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


# 2caab6e5 28-Oct-2009 Axel Dörfler <axeld@pinc-software.de>

* Coding style cleanups, no functional change.


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


# b0712127 10-Jul-2009 Stephan Aßmus <superstippi@gmx.de>

Keep the mouse at the same location when preventing the screen saver to go
off... solves some weird issues.


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


# 1f3691df 28-Jun-2009 Stephan Aßmus <superstippi@gmx.de>

* In theory, we should support getting the video aspect from the current stream.
* Added "Force Aspect Ratio" to Video menu and context menu.
* Removed some code duplication in handling the video size messages.
* Added track selection sub-menus to the context menu, replacing the IMHO
not so important interface settings items.


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


# ba0e6050 19-May-2009 Stephan Aßmus <superstippi@gmx.de>

Auto-hide cursor after 2 secs already, thanks Axel, for the suggestion.


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


# 18b1ca6b 18-May-2009 Stephan Aßmus <superstippi@gmx.de>

* Auto hide the mouse after 5 seconds.
* Disable the screen saver when playing in full screen mode.


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


# 19b75ed8 05-Nov-2008 Stephan Aßmus <superstippi@gmx.de>

Small cleanup. Use BitmapFlags() also in the other condition (don't
hardcode overlay color space).


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


# a3d8a945 26-Sep-2008 François Revol <revol@free.fr>

Hack to fix building for R5. Should go away later.


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


# 725b2409 23-Aug-2008 Stephan Aßmus <superstippi@gmx.de>

* Fix display update when toggling the scaling mode when the video is paused
without disturbing the same thing during normal playback.


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


# 613ecaf5 22-Aug-2008 Stephan Aßmus <superstippi@gmx.de>

* Added the implementation behind the "Use overlays if available" and "Scale
videos smoothly in non-overlay mode" options.
* Disabled the other controls in the SettingsWindow which are not yet
implemented.
* Enable and disable Revert button according to settings state.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27157 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


# 5fa5e5fe 29-May-2007 Stephan Aßmus <superstippi@gmx.de>

* added notification support to Playlist and Controller
* added AbstractLOAdapter by Ingo Weinhold which makes
notifications asynchronous
* removed "Player" interface/concept, replaced it by
the notification mechanism (window loads new file
when "current" ref index changes in Playlist)
* removed some cross classes dependencies
* the wind buttons are not displayed anymore for now
* lots of changes to the Controller
- the decoder/player threads are kept running for the
entire lifetime of the Controller object (in essence, makes
it possible to playback seamless)
- abstracted BMediaTrack usage into "Video-" and "AudioSupplier"
objects (the BMediaTrack pointers are only still there, because
I have not gotten around to fix the messy/hacky InfoWindow)
- reaching the end of the stream will trigger a notification,
so that the next file from the playlist is played
- fSoundOutput is managed by the Controller
- tried to make seeking seem more controlled (slider doesn't
jump back to previous position)
- playback position is correctly updated in GUI
- volume is maintained independend of SoundOutput so
that it can be transfered from one to the next output
- performance time is maintained correctly (?) even if
no audio stream is present
* work in progress Playlist window (drag sorting does not work yet!)
* rearranged menus a bit
* rearranged overlay code in the VideoView, but it cannot work
like it is currently designed, since the buffers need to be
switched all at once, which the video decoding thread
is not doing yet
* dragging files into the main window with shift held down
appends to the existing playlist
* dropping folders adds files recursively
* pressing space toggles playback (instead of changing some
settings of the GUI)
* fixed some more minor issues or unimplemented stuff in the UI


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


# 453f642e 22-May-2006 Marcus Overhagen <marcusoverhagen@gmail.com>

Rewrote audio decoding to provide timing information
that is used to sync with video.
Separated audio decoding and playing into two threads,
the same applies to video decoding and playback.
This was inspired from code written by Stephan.
Added video decoding and display, added play/pause/stop.


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


# 99cd5eeb 23-Apr-2006 Marcus Overhagen <marcusoverhagen@gmail.com>

added some resizing support


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


# e1d8d7d6 23-Apr-2006 Marcus Overhagen <marcusoverhagen@gmail.com>

implemented some file handling related functionality


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


# 04a91b97 05-Apr-2006 Marcus Overhagen <marcusoverhagen@gmail.com>

Imported source code from DVB TV application


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


# 242e01d245c9502b88d839b3cf8eefc9742aba47 27-Aug-2012 Axel Dörfler <axeld@pinc-software.de>

Improved member variable naming as suggested by Stippi.


# c95601d728abf4b93b00850a149e2704e846a621 25-Aug-2012 Axel Dörfler <axeld@pinc-software.de>

Fixed hiding the mouse cursor after going full screen.

* This fixes a regression I introduced in hrev43648; the mouse cursor
was only being hidden in case the controls were visible (ie. only
after an extra mouse move in full screen).


# 7532547c0628ffd5021eccf2a3c293cedef158d2 10-Jan-2012 Axel Dörfler <axeld@pinc-software.de>

Also hide the full screen controls when the mouse is over them.

* We just wait a little longer in this case, like 4.5s.
* Changed the code to only send the messages when needed, before they were
being sent every 1.5s.
* However, this is untested as of yet, as the layout changes didn't allow me
to run the MediaPlayer on my system. Will do so in a minute on another one.


# a178983df66aad5957fbc82fb596c74fa4d02e45 09-Sep-2011 Axel Dörfler <axeld@pinc-software.de>

Cleanup while I was searching for a bug that ended up being in the app_server;
the decorators now return non-sense as their frame, thank you Clemens!
* Got rid of Settings::CurrentSettings() - the get/store pair wasn't really
thread-safe anyway, as it always updated all fields, so settings could get
lost easily. The mechanism is still being used in the settings window, though.
* Introduced some getters/setters for the settings that work on the message
directly which simplifies some code.
* Minor style cleanups.
* Automatic whitespace cleanup.


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


# d6c46607da7c4f51d94deb1828612611b54ca74f 30-Jun-2011 Axel Dörfler <axeld@pinc-software.de>

* Enabled the "keep subtitles visible when the controls are visible" mode
in the "subtitles at the bottom of video" setting, too.
* Nice surprise to see a feature I wanted to implement already implemented,
really nicely done stippi :-)


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


# 76d9e05341c5ad13dbb0a799ab7463b6639a9a86 23-Oct-2010 Stephan Aßmus <superstippi@gmx.de>

Introduce a new flag for drawing BBitmaps, B_WAIT_FOR_RETRACE
which triggers waiting on the retrace semaphore in app_server
just before drawing the bitmap. This potentially removes any
additional delay when doing this client side. Completely untested.


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


# 550cf8fa5ca62a1097f7803bacdc83edfe79bd2f 23-Oct-2010 Stephan Aßmus <superstippi@gmx.de>

Wait for the vertical retrace before blitting a bitmap,
should avoid tearing in the video on supported graphics
drivers.


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


# e65a6eb2e02c3b50ee594733f16b313562eaaf9c 28-Sep-2010 Stephan Aßmus <superstippi@gmx.de>

* Give some options for subtitle placement and size.
* Optimize subtitle drawing when subtitles are to be
displayed at screen bottom versus video bottom, and
the subtitle frame does not intersect the video. In
that case we only need to draw it when it changes
(or is to be removed). Fixed the dead-lock problem
in a nicer way.


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


# 01e0d3278a2849546efa72c14eacd70854e0bc2e 28-Sep-2010 Stephan Aßmus <superstippi@gmx.de>

* Use asynchronous bitmap drawing in VideoView. Wouldn't matter much, though.
* In SubtitleBitmap, if we ever take too long to generate a subtitle bitmap
with the drop-shadow, fall back to outline mode. The StackBlurFilter is
extremely fast, though, so there isn't a huge difference. It can fix some
jumps in the video when switching subtitles in fullscreen mode, though.
* Introduce overlay mode to SubpixelBitmap. It uses the black outline then
and disables font anti-aliasing (just for the outline).


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


# 424c4f3bdfec62eac74b13cf3bdb6762d2a07142 27-Sep-2010 Stephan Aßmus <superstippi@gmx.de>

Fixed dead-lock when seeking with the video paused. Should come
up with something better...


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


# c8ccdf52032feea5e7853631dee57cf7f6302c5d 27-Sep-2010 Stephan Aßmus <superstippi@gmx.de>

* Added basic support for SRT subtitle files. It only works
if the SRT file is placed alongside the current playlist
item under the same name (sans extension). The name of the
language is taken from the file which needs to be separated
by a dot (should be improved).
* Instead of the black outline, subtitles have a nice drop
shadow now, which is easier on the eyes somehow.


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


# 25fb0e67fdb540a8fa867b3dbbe40ae7207e903a 26-Sep-2010 Stephan Aßmus <superstippi@gmx.de>

Added SubtitleBitmap class which can create a transparent
BBitmap from a subtitle line as found in SRT files. It
supports all tags except positioning (should probably be
handled in upper layers anyway). The parsing is simplistic
but should be robust. The layout of text is handled by an
offsreen BTextView. VideoView can be given a subtitle
string.


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


# b6d5916a70257d4dc875b7a6b03ee55e12158c7c 26-Sep-2010 Stephan Aßmus <superstippi@gmx.de>

Since a lot of MediaPlayer code would actually
not compile on BeOS anymore, I've removed the
BeOS versions from the rest of the source.


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


# ee891c8828e7517fb80a528ed2ac2e51a96e32b6 01-Sep-2010 Stephan Aßmus <superstippi@gmx.de>

Do not resize the VideoView to the scaled size
of the video anymore, but tell the VideoView
the video frame size. So the outside regions of
the video are also painted by the VideoView. Not
tested with overlays, but should work. The side
effect is that the controls appear along the bottom
of the screen in full-screen mode. The controls
may need to be over the video, so they cannot be
attached to the parent of the VideoView (this was
already the case).


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


# 80a9df25028391f54d026007bf633fe99e7529e1 01-Sep-2010 Stephan Aßmus <superstippi@gmx.de>

* Show the controls in full-screen mode when the mouse moves.
* Propagate the current audio channel count to the controls.


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


# 2caab6e574d52306baf93db9b830dadefbb08836 28-Oct-2009 Axel Dörfler <axeld@pinc-software.de>

* Coding style cleanups, no functional change.


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


# b07121279fd136496617f4b3270d675933f12365 10-Jul-2009 Stephan Aßmus <superstippi@gmx.de>

Keep the mouse at the same location when preventing the screen saver to go
off... solves some weird issues.


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


# 1f3691df0fa0861206a72c7b3b9967cea8097692 28-Jun-2009 Stephan Aßmus <superstippi@gmx.de>

* In theory, we should support getting the video aspect from the current stream.
* Added "Force Aspect Ratio" to Video menu and context menu.
* Removed some code duplication in handling the video size messages.
* Added track selection sub-menus to the context menu, replacing the IMHO
not so important interface settings items.


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


# ba0e6050f5d6ed12f6ecf2231605683a5250505d 19-May-2009 Stephan Aßmus <superstippi@gmx.de>

Auto-hide cursor after 2 secs already, thanks Axel, for the suggestion.


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


# 18b1ca6bbed4162b65def00ab29d1d3009e88577 18-May-2009 Stephan Aßmus <superstippi@gmx.de>

* Auto hide the mouse after 5 seconds.
* Disable the screen saver when playing in full screen mode.


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


# 19b75ed8a87ee8b5169040ee2177fac5f372fa66 05-Nov-2008 Stephan Aßmus <superstippi@gmx.de>

Small cleanup. Use BitmapFlags() also in the other condition (don't
hardcode overlay color space).


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


# a3d8a945334a1af570f1925050d0cd01776be5f2 26-Sep-2008 François Revol <revol@free.fr>

Hack to fix building for R5. Should go away later.


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


# 725b24098dbc007f20561409748efef86173b15c 23-Aug-2008 Stephan Aßmus <superstippi@gmx.de>

* Fix display update when toggling the scaling mode when the video is paused
without disturbing the same thing during normal playback.


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


# 613ecaf5f9eb4aaf399917fb239979e5256fb274 22-Aug-2008 Stephan Aßmus <superstippi@gmx.de>

* Added the implementation behind the "Use overlays if available" and "Scale
videos smoothly in non-overlay mode" options.
* Disabled the other controls in the SettingsWindow which are not yet
implemented.
* Enable and disable Revert button according to settings state.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27157 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


# 5fa5e5fea7e2752ce0f9eb514b82f7c34ea308e6 29-May-2007 Stephan Aßmus <superstippi@gmx.de>

* added notification support to Playlist and Controller
* added AbstractLOAdapter by Ingo Weinhold which makes
notifications asynchronous
* removed "Player" interface/concept, replaced it by
the notification mechanism (window loads new file
when "current" ref index changes in Playlist)
* removed some cross classes dependencies
* the wind buttons are not displayed anymore for now
* lots of changes to the Controller
- the decoder/player threads are kept running for the
entire lifetime of the Controller object (in essence, makes
it possible to playback seamless)
- abstracted BMediaTrack usage into "Video-" and "AudioSupplier"
objects (the BMediaTrack pointers are only still there, because
I have not gotten around to fix the messy/hacky InfoWindow)
- reaching the end of the stream will trigger a notification,
so that the next file from the playlist is played
- fSoundOutput is managed by the Controller
- tried to make seeking seem more controlled (slider doesn't
jump back to previous position)
- playback position is correctly updated in GUI
- volume is maintained independend of SoundOutput so
that it can be transfered from one to the next output
- performance time is maintained correctly (?) even if
no audio stream is present
* work in progress Playlist window (drag sorting does not work yet!)
* rearranged menus a bit
* rearranged overlay code in the VideoView, but it cannot work
like it is currently designed, since the buffers need to be
switched all at once, which the video decoding thread
is not doing yet
* dragging files into the main window with shift held down
appends to the existing playlist
* dropping folders adds files recursively
* pressing space toggles playback (instead of changing some
settings of the GUI)
* fixed some more minor issues or unimplemented stuff in the UI


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


# 453f642e2e5277aa60c17863fc25f38e23309aa8 22-May-2006 Marcus Overhagen <marcusoverhagen@gmail.com>

Rewrote audio decoding to provide timing information
that is used to sync with video.
Separated audio decoding and playing into two threads,
the same applies to video decoding and playback.
This was inspired from code written by Stephan.
Added video decoding and display, added play/pause/stop.


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


# 99cd5eeb92bdd42756e075535201dd44318aa8f6 23-Apr-2006 Marcus Overhagen <marcusoverhagen@gmail.com>

added some resizing support


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


# e1d8d7d6b48c655bab349c1fde5200fed917289e 23-Apr-2006 Marcus Overhagen <marcusoverhagen@gmail.com>

implemented some file handling related functionality


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


# 04a91b97bde1b41f4100b923a1699ddeac36635b 05-Apr-2006 Marcus Overhagen <marcusoverhagen@gmail.com>

Imported source code from DVB TV application


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