Small miscellaneous cleanups.

This commit is contained in:
Johns 2012-01-19 00:16:15 +01:00
parent c6e66e0787
commit b1ce88923e
4 changed files with 37 additions and 20 deletions

View File

@ -61,7 +61,7 @@ Install:
http://projects.vdr-developer.org/projects/plg-softhddevice/files http://projects.vdr-developer.org/projects/plg-softhddevice/files
tar vxf vdr-softhddevice-*.tar.bz2 tar vxf vdr-softhddevice-*.tar.bz2
cd vdr-softhddevice cd softhddevice-*
make VDRDIR=<path-to-your-vdr-files> LIBDIR=. make VDRDIR=<path-to-your-vdr-files> LIBDIR=.
You can edit Makefile to enable/disable VDPAU / VA-API / Alsa / OSS You can edit Makefile to enable/disable VDPAU / VA-API / Alsa / OSS
@ -146,6 +146,15 @@ Commandline:
Use vdr -h to see the command line arguments support by the plugin. Use vdr -h to see the command line arguments support by the plugin.
-a audio_device
Selects audio output module and device.
"" to disable audio output
/... to use oss audio module (if compiled with oss
support)
other to use alsa audio module (if compiled with alsa
support)
Running: Running:
-------- --------

View File

@ -652,6 +652,9 @@ static int ValidateMpeg(const uint8_t * data, int size)
** supports complete packets. ** supports complete packets.
** We buffer here until we receive an complete PES Packet, which ** We buffer here until we receive an complete PES Packet, which
** is no problem, the audio is always far behind us. ** is no problem, the audio is always far behind us.
** cTsToPes::GetPes splits the packets.
**
** @todo FIXME: combine the 5 ifs at start of the function
*/ */
int PlayVideo(const uint8_t * data, int size) int PlayVideo(const uint8_t * data, int size)
{ {
@ -695,7 +698,7 @@ int PlayVideo(const uint8_t * data, int size)
Error(_("[softhddev] invalid video packet %d bytes\n"), size); Error(_("[softhddev] invalid video packet %d bytes\n"), size);
return size; return size;
} }
// FIXME: hack to test results // buffer full: needed for replay
if (atomic_read(&VideoPacketsFilled) >= VIDEO_PACKET_MAX - 1) { if (atomic_read(&VideoPacketsFilled) >= VIDEO_PACKET_MAX - 1) {
return 0; return 0;
} }

View File

@ -42,7 +42,7 @@ extern "C"
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
static const char *const VERSION = "0.3.1"; static const char *const VERSION = "0.3.5";
static const char *const DESCRIPTION = static const char *const DESCRIPTION =
trNOOP("A software and GPU emulated HD device"); trNOOP("A software and GPU emulated HD device");
@ -404,10 +404,10 @@ cMenuSetupSoft::cMenuSetupSoft(void)
// cMenuEditStrItem cMenuEditStraItem cMenuEditIntItem // cMenuEditStrItem cMenuEditStraItem cMenuEditIntItem
MakePrimary = ConfigMakePrimary; MakePrimary = ConfigMakePrimary;
Add(new cMenuEditBoolItem(tr("Make primary device"), &MakePrimary, Add(new cMenuEditBoolItem(tr("Make primary device"), &MakePrimary,
tr("no"), tr("yes"))); trVDR("no"), trVDR("yes")));
HideMainMenuEntry = ConfigHideMainMenuEntry; HideMainMenuEntry = ConfigHideMainMenuEntry;
Add(new cMenuEditBoolItem(tr("Hide main menu entry"), &HideMainMenuEntry, Add(new cMenuEditBoolItem(tr("Hide main menu entry"), &HideMainMenuEntry,
tr("no"), tr("yes"))); trVDR("no"), trVDR("yes")));
// //
// video // video
// //
@ -421,7 +421,7 @@ cMenuSetupSoft::cMenuSetupSoft(void)
deinterlace)); deinterlace));
SkipChromaDeinterlace[i] = ConfigVideoSkipChromaDeinterlace[i]; SkipChromaDeinterlace[i] = ConfigVideoSkipChromaDeinterlace[i];
Add(new cMenuEditBoolItem(tr("SkipChromaDeinterlace (vdpau)"), Add(new cMenuEditBoolItem(tr("SkipChromaDeinterlace (vdpau)"),
&SkipChromaDeinterlace[i], tr("no"), tr("yes"))); &SkipChromaDeinterlace[i], trVDR("no"), trVDR("yes")));
Denoise[i] = ConfigVideoDenoise[i]; Denoise[i] = ConfigVideoDenoise[i];
Add(new cMenuEditIntItem(tr("Denoise (0..1000) (vdpau)"), &Denoise[i], Add(new cMenuEditIntItem(tr("Denoise (0..1000) (vdpau)"), &Denoise[i],
0, 1000)); 0, 1000));
@ -508,7 +508,7 @@ class cSoftHdDevice:public cDevice
virtual int PlayVideo(const uchar *, int); virtual int PlayVideo(const uchar *, int);
//virtual int PlayTsVideo(const uchar *, int); //virtual int PlayTsVideo(const uchar *, int);
#ifdef USE_OSS // FIXME: testing only oss #ifndef USE_AUDIO_THREAD // FIXME: testing none threaded
virtual int PlayTsAudio(const uchar *, int); virtual int PlayTsAudio(const uchar *, int);
#endif #endif
virtual void SetAudioChannelDevice(int); virtual void SetAudioChannelDevice(int);
@ -521,8 +521,6 @@ class cSoftHdDevice:public cDevice
virtual uchar *GrabImage(int &, bool, int, int, int); virtual uchar *GrabImage(int &, bool, int, int, int);
virtual int ProvidesCa(const cChannel *) const;
#if 0 #if 0
// SPU facilities // SPU facilities
private: private:
@ -549,6 +547,11 @@ cSoftHdDevice::~cSoftHdDevice(void)
//dsyslog("[softhddev]%s:\n", __FUNCTION__); //dsyslog("[softhddev]%s:\n", __FUNCTION__);
} }
/**
** Informs a device that it will be the primary device.
**
** @param on flag if becoming or loosing primary
*/
void cSoftHdDevice::MakePrimaryDevice(bool on) void cSoftHdDevice::MakePrimaryDevice(bool on)
{ {
dsyslog("[softhddev]%s: %d\n", __FUNCTION__, on); dsyslog("[softhddev]%s: %d\n", __FUNCTION__, on);
@ -559,14 +562,6 @@ void cSoftHdDevice::MakePrimaryDevice(bool on)
} }
} }
int cSoftHdDevice::ProvidesCa(
__attribute__ ((unused)) const cChannel * channel) const
{
//dsyslog("[softhddev]%s: %p\n", __FUNCTION__, channel);
return 0;
}
#if 0 #if 0
cSpuDecoder *cSoftHdDevice::GetSpuDecoder(void) cSpuDecoder *cSoftHdDevice::GetSpuDecoder(void)
@ -790,24 +785,29 @@ int cSoftHdDevice::PlayVideo(const uchar * data, int length)
/// ///
/// Play a TS video packet. /// Play a TS video packet.
/// ///
int cSoftHdDevice::PlayTsVideo(const uchar * Data, int Length) int cSoftHdDevice::PlayTsVideo(const uchar * data, int length)
{ {
// many code to repeat // many code to repeat
} }
#endif #endif
#ifdef USE_OSS // FIXME: testing only oss #ifndef USE_AUDIO_THREAD // FIXME: testing none threaded
/// ///
/// Play a TS audio packet. /// Play a TS audio packet.
/// ///
/// misuse this function as audio poller /// misuse this function as audio poller
/// ///
/// @param data ts data buffer
/// @param length ts packet length
///
int cSoftHdDevice::PlayTsAudio(const uchar * data, int length) int cSoftHdDevice::PlayTsAudio(const uchar * data, int length)
{ {
AudioPoller(); AudioPoller();
return cDevice::PlayTsAudio(data, length); return cDevice::PlayTsAudio(data, length);
} }
#endif #endif
uchar *cSoftHdDevice::GrabImage(int &size, bool jpeg, int quality, int sizex, uchar *cSoftHdDevice::GrabImage(int &size, bool jpeg, int quality, int sizex,
@ -960,7 +960,9 @@ cOsdObject *cPluginSoftHdDevice::MainMenuAction(void)
cDevice::PrimaryDevice()->StopReplay(); cDevice::PrimaryDevice()->StopReplay();
Suspend(); Suspend();
if (ShutdownHandler.GetUserInactiveTime()) {
ShutdownHandler.SetUserInactive(); ShutdownHandler.SetUserInactive();
}
return NULL; return NULL;
} }

View File

@ -37,6 +37,9 @@ typedef struct _video_hw_decoder_ VideoHwDecoder;
/// Allocate new video hardware decoder. /// Allocate new video hardware decoder.
extern VideoHwDecoder *VideoNewHwDecoder(void); extern VideoHwDecoder *VideoNewHwDecoder(void);
/// Deallocate video hardware decoder.
extern void VideoDelHwDecoder(VideoHwDecoder *);
/// Get and allocate a video hardware surface. /// Get and allocate a video hardware surface.
extern unsigned VideoGetSurface(VideoHwDecoder *); extern unsigned VideoGetSurface(VideoHwDecoder *);