vfs: check userland buffers before reading them.
[haiku.git] / src / apps / mediaplayer / media_node_framework / PlaybackLOAdapter.h
blob2c9e92740c4c32f3328f584131ca3cf1cebd391f
1 /*
2 * Copyright (c) 2000-2008, Ingo Weinhold <ingo_weinhold@gmx.de>,
3 * Copyright (c) 2000-2008, Stephan Aßmus <superstippi@gmx.de>,
4 * All Rights Reserved. Distributed under the terms of the MIT license.
5 */
6 #ifndef PLAYBACK_LO_ADAPTER_H
7 #define PLAYBACK_LO_ADAPTER_H
10 #include "AbstractLOAdapter.h"
11 #include "PlaybackListener.h"
14 enum {
15 MSG_PLAYBACK_PLAY_MODE_CHANGED = 'ppmc',
16 MSG_PLAYBACK_LOOP_MODE_CHANGED = 'plmc',
17 MSG_PLAYBACK_LOOPING_ENABLED_CHANGED = 'plec',
18 MSG_PLAYBACK_VIDEO_BOUNDS_CHANGED = 'pmbc',
19 MSG_PLAYBACK_FPS_CHANGED = 'pfps',
20 MSG_PLAYBACK_CURRENT_FRAME_CHANGED = 'pcfc',
21 MSG_PLAYBACK_SPEED_CHANGED = 'pspc',
22 MSG_PLAYBACK_FRAME_DROPPED = 'pfdr',
26 class PlaybackLOAdapter : public AbstractLOAdapter, public PlaybackListener {
27 public:
28 PlaybackLOAdapter(BHandler* handler);
29 PlaybackLOAdapter(
30 const BMessenger& messenger);
31 virtual ~PlaybackLOAdapter();
33 virtual void PlayModeChanged(int32 mode);
34 virtual void LoopModeChanged(int32 mode);
35 virtual void LoopingEnabledChanged(bool enabled);
36 virtual void VideoBoundsChanged(BRect bounds);
37 virtual void FramesPerSecondChanged(float fps);
38 virtual void CurrentFrameChanged(double frame);
39 virtual void SpeedChanged(float speed);
40 virtual void FrameDropped();
43 #endif // PLAYBACK_LO_ADAPTER_H