summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Brachold <vdr07@deltab.de>2007-10-08 16:03:02 +0000
committerAndreas Brachold <vdr07@deltab.de>2007-10-08 16:03:02 +0000
commitb7c2731e64a99397ff9bee2e34764ea0af64b3ce (patch)
tree27bca2985ca8d597c7f245eaa06b33e39c3018b7
parentf9472b1e58f206defb77c5caf55fcef1618829ba (diff)
downloadvdr-plugin-image-b7c2731e64a99397ff9bee2e34764ea0af64b3ce.tar.gz
vdr-plugin-image-b7c2731e64a99397ff9bee2e34764ea0af64b3ce.tar.bz2
* check for codec at startup
-rw-r--r--liboutput/encode.c16
-rw-r--r--liboutput/encode.h2
2 files changed, 9 insertions, 9 deletions
diff --git a/liboutput/encode.c b/liboutput/encode.c
index ae8bff6..c0e33c2 100644
--- a/liboutput/encode.c
+++ b/liboutput/encode.c
@@ -40,12 +40,13 @@ extern "C" {
#include <vdr/device.h>
#include <vdr/tools.h>
+AVCodec *cEncode::m_pavCodec = NULL;
+
/*******************************************************************************
*/
cEncode::cEncode()
-: m_pavCodec(NULL)
-, m_pImageFilled(NULL)
+: m_pImageFilled(NULL)
, m_pImageYUV(NULL)
, m_nNumberOfFramesToEncode(4)
, m_pMPEG(NULL)
@@ -55,12 +56,6 @@ cEncode::cEncode()
m_nWidth = 720;
m_nHeight = m_bUsePAL ? 576 : 480;
- m_pavCodec = avcodec_find_encoder(CODEC_ID_MPEG2VIDEO);
- if (!m_pavCodec) {
- esyslog("imageplugin: Failed to find CODEC_ID_MPEG2VIDEO.");
- return;
- }
-
m_pFrameSizes = new unsigned int[m_nNumberOfFramesToEncode];
// Just a wild guess: 3 x output image size should be enough for the MPEG
@@ -79,6 +74,11 @@ bool cEncode::Register()
avcodec_register_all();
#endif
+ m_pavCodec = avcodec_find_encoder(CODEC_ID_MPEG2VIDEO);
+ if (!m_pavCodec) {
+ esyslog("imageplugin: Failed to find CODEC_ID_MPEG2VIDEO.");
+ return false;
+ }
return true;
}
diff --git a/liboutput/encode.h b/liboutput/encode.h
index 77437fe..ccbe51b 100644
--- a/liboutput/encode.h
+++ b/liboutput/encode.h
@@ -38,7 +38,7 @@ extern "C" {
class cEncode
{
- AVCodec *m_pavCodec;
+ static AVCodec *m_pavCodec;
unsigned int m_nMaxMPEGSize;
uint8_t *m_pImageFilled;
uint8_t *m_pImageYUV;