summaryrefslogtreecommitdiff
path: root/inc/avdetector.h
diff options
context:
space:
mode:
Diffstat (limited to 'inc/avdetector.h')
-rw-r--r--inc/avdetector.h124
1 files changed, 0 insertions, 124 deletions
diff --git a/inc/avdetector.h b/inc/avdetector.h
deleted file mode 100644
index 923608f..0000000
--- a/inc/avdetector.h
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * File: avdetector.h
- * Author: savop
- *
- * Created on 26. Oktober 2009, 13:02
- */
-
-#ifndef _AVDETECTOR_H
-#define _AVDETECTOR_H
-
-#include "profiles.h"
-#include <vdr/recording.h>
-#include <vdr/channels.h>
-
-extern "C" {
-#include <libavcodec/avcodec.h>
-#include <libavformat/avformat.h>
-}
-
-/**
- * The audio/video detector
- *
- * This is the audio video detector, which analizes the audio and video stream
- * of a file to gather more information about the resource. This is also
- * required for determination of a suitable DLNA profile.
- */
-class cAudioVideoDetector {
-private:
- void init();
- void uninit();
- int detectChannelProperties();
- int detectFileProperties();
- int detectRecordingProperties();
- /**
- * Detect video properties
- *
- * This detects video properties of a video stream
- *
- * @return returns
- * - \bc 0, if the detection was successful
- * - \bc <0, otherwise
- */
- int analyseVideo(AVFormatContext* FormatCtx);
- /**
- * Detect audio properties
- *
- * This detects audio properties of a video or audio stream
- *
- * @return returns
- * - \bc 0, if the detection was successful
- * - \bc <0, otherwise
- */
- int analyseAudio(AVFormatContext* FormatCtx);
- /**
- * Detect DLNA profile
- *
- * This detects the matching DLNA profile for the video or audio item
- *
- * @return returns
- * - \bc 0, if the detection was successful
- * - \bc <0, otherwise
- */
- int detectDLNAProfile(AVFormatContext* FormatCtx);
- UPNP_RESOURCE_TYPES mResourceType;
- union {
- const cChannel* Channel;
- const cRecording* Recording;
- const char* Filename;
- } mResource;
- int mWidth;
- int mHeight;
- int mBitrate;
- int mBitsPerSample;
- int mColorDepth;
- off64_t mDuration;
- off64_t mSize;
- int mSampleFrequency;
- int mNrAudioChannels;
- DLNAProfile* mDLNAProfile;
-public:
- cAudioVideoDetector(const char* Filename);
- cAudioVideoDetector(const cChannel* Channel);
- cAudioVideoDetector(const cRecording* Recording);
- virtual ~cAudioVideoDetector();
- /**
- * Detect resource properties of the file
- *
- * This detects the resource properties of a file. If the returned value
- * is 0, no erros occured while detection and the properties are properly
- * set. Otherwise, in case of an error, the properties may have
- * unpredictable values.
- *
- * @return returns
- * - \bc 0, if the detection was successful
- * - \bc <0, otherwise
- */
- int detectProperties();
- DLNAProfile* getDLNAProfile() const { return this->mDLNAProfile; }
- const char* getContentType() const { return (this->mDLNAProfile) ? this->mDLNAProfile->mime : NULL; }
- const char* getProtocolInfo() const;
- int getWidth() const { return this->mWidth; }
- int getHeight() const { return this->mHeight; }
- int getBitrate() const { return this->mBitrate; }
- int getBitsPerSample() const { return this->mBitsPerSample; }
- int getSampleFrequency() const { return this->mSampleFrequency; }
- int getNumberOfAudioChannels() const { return this->mNrAudioChannels; }
- int getColorDepth() const { return this->mColorDepth; }
- off64_t getFileSize() const { return this->mSize; }
- off64_t getDuration() const { return this->mDuration; }
-};
-
-class cCodecToolKit {
-public:
- static AVCodecContext* getFirstCodecContext(AVFormatContext* FormatCtx, CodecType Type);
- static AVStream* getFirstStream(AVFormatContext* FormatCtx, CodecType Type);
- static bool matchesAcceptedBitrates(AcceptedBitrates Bitrates, AVCodecContext* Codec);
- static bool matchesAcceptedSystemBitrate(AcceptedBitrates Bitrate, AVFormatContext* Format);
- static bool matchesAcceptedAudioChannels(AcceptedAudioChannels Channels, AVCodecContext* Codec);
- static bool matchesAcceptedSamplingRates(AcceptedSamplingRates SamplingRates, AVCodecContext* Codec);
- static bool matchesAcceptedResolutions(AcceptedResolution *Resolutions, int Count, AVStream* Stream);
-};
-
-#endif /* _AVDETECTOR_H */
-