/*! * \file pcmplayer.c * \brief A generic PCM player for a VDR media plugin (muggle) * * \version $Revision: 1.7 $ * \date $Date: 2008-03-17 02:44:14 +0100 (Mo, 17 Mär 2008) $ * \author Ralf Klueber, Lars von Wedel, Andreas Kellner, Wolfgang Rohdewald * \author Responsible author: $Author: woro $ * * $Id: vdr_player.c 1046 2008-03-17 01:44:14Z woro $ * * Adapted from * MP3/MPlayer plugin to VDR (C++) * (C) 2001,2002 Stefan Huelswitt */ #include #include #include #include #include #include #include #include #include #include #include #include #include // this should really be included by linux/dvb/video.h #include #include #include #include #include #include #define __STL_CONFIG_H #include #include #include #include #include "vdr_decoder.h" #include "vdr_config.h" #include "mg_setup.h" #include "mg_image_provider.h" #include "bitmap.h" #include "mg_tools.h" enum emgPlayMode { pmPlay, pmStopped, pmPaused, pmStartup }; // ---------------------------------------------------------------- // #define DEBUGPES // mgResample #define MAX_NSAMPLES (1152*7) // max. buffer for resampled frame // mgNormalize #define MAX_GAIN 3.0 // max. allowed gain #define LIM_ACC 12 // bit, accuracy for lookup table // max. value covered by lookup table #define F_LIM_MAX (mad_fixed_t)((1<<(MAD_F_FRACBITS+2))-1) // shift value for table lookup #define LIM_SHIFT (MAD_F_FRACBITS-LIM_ACC) // lookup table jump between values #define F_LIM_JMP (mad_fixed_t)(1<getItemPosition(); } void Pause (); void Play (); void Forward (); void Backward (); void Goto (int Index); void SkipSeconds (int secs); void ToggleShuffle (void); void ToggleLoop (void); void ShowMPGFile(const string f ) { imagefile=f; } virtual bool GetIndex (int &Current, int &Total, bool SnapToIFrame = false); // bool GetPlayInfo(cMP3PlayInfo *rm); // LVW void ReloadPlaylist(); void NewPlaylist (mgSelection * plist); mgItemGd *getCurrent () { return m_current; } mgSelection *getPlaylist () { return m_playlist; } };