|
| kodi::addon::CInstanceAudioDecoder::CInstanceAudioDecoder (KODI_HANDLE instance, const std::string &kodiVersion="") |
| Audio decoder class constructor used to support multiple instance types. More...
|
|
virtual bool | kodi::addon::CInstanceAudioDecoder::SupportsFile (const std::string &filename) |
| Checks addon support given file path. More...
|
|
virtual bool | kodi::addon::CInstanceAudioDecoder::Init (const std::string &filename, unsigned int filecache, int &channels, int &samplerate, int &bitspersample, int64_t &totaltime, int &bitrate, AudioEngineDataFormat &format, std::vector< AudioEngineChannel > &channellist)=0 |
| Initialize a decoder. More...
|
|
virtual int | kodi::addon::CInstanceAudioDecoder::ReadPCM (uint8_t *buffer, size_t size, size_t &actualsize)=0 |
| Produce some noise. More...
|
|
virtual int64_t | kodi::addon::CInstanceAudioDecoder::Seek (int64_t time) |
| Seek in output stream. More...
|
|
virtual bool | kodi::addon::CInstanceAudioDecoder::ReadTag (const std::string &file, kodi::addon::AudioDecoderInfoTag &tag) |
| Read tag of a file. More...
|
|
virtual int | kodi::addon::CInstanceAudioDecoder::TrackCount (const std::string &file) |
| Get number of tracks in a file. More...
|
|
static std::string | kodi::addon::CInstanceAudioDecoder::GetTrack (const std::string &name, const std::string &trackPath, int &track) |
| Static auxiliary function to read the track number used from the given path. More...
|
|
For audio decoders as binary add-ons. This class implements a way to handle special types of audio files.
The add-on handles loading of the source file and outputting the audio stream for consumption by the player.
The addon.xml defines the capabilities of this add-on.
<?xml version="1.0" encoding="UTF-8"?>
<addon
id="audiodecoder.myspecialnamefor"
version="1.0.0"
name="My special audio decoder addon"
provider-name="Your Name">
<requires>@ADDON_DEPENDS@</requires>
<extension
point="kodi.audiodecoder"
name="2sf"
tags="true"
library_@PLATFORM@="@LIBRARY_FILENAME@">
<support>
<extension name=".2sf">
<description>30100</description>
<icon>resources/file_format_music_sound.png</icon>
</extension>
<extension name=".mini2sf"/>
</support>
</extension>
<extension point="xbmc.addon.metadata">
<summary lang="en_GB">My audio decoder addon addon</summary>
<description lang="en_GB">My audio decoder addon description</description>
<platform>@PLATFORM@</platform>
</extension>
</addon>
{
public:
CMyAudioDecoder(
KODI_HANDLE instance,
const std::string& version);
bool Init(
const std::string& filename,
unsigned int filecache,
std::vector<AudioEngineChannel>& channellist) override;
};
CMyAudioDecoder::CMyAudioDecoder(
KODI_HANDLE instance,
const std::string& version)
:
kodi::addon::CInstanceAudioDecoder(instance, version)
{
...
}
bool CMyAudioDecoder::Init(
const std::string& filename,
unsigned int filecache,
std::vector<AudioEngineChannel>& channellist)
{
...
return true;
}
{
...
}
{
public:
CMyAddon() { }
const std::string& instanceID,
const std::string& version,
};
const std::string& instanceID,
const std::string& version,
{
{
addonInstance = new CMyAudioDecoder(instance, version);
}
else if (...)
{
...
}
}
unsigned __int8 uint8_t
Definition: DirectXGraphics.h:130
void * KODI_HANDLE
Standard undefined pointer handle.
Definition: addon_base.h:199
const char unsigned int filecache
Definition: addons/kodi-dev-kit/include/kodi/c-api/addon-instance/AudioDecoder.h:107
uint8_t size_t size_t * actualsize
Definition: addons/kodi-dev-kit/include/kodi/c-api/addon-instance/AudioDecoder.h:116
const char unsigned int int int int int64_t * totaltime
Definition: addons/kodi-dev-kit/include/kodi/c-api/addon-instance/AudioDecoder.h:111
const char unsigned int int int int * bitspersample
Definition: addons/kodi-dev-kit/include/kodi/c-api/addon-instance/AudioDecoder.h:110
const char unsigned int int int int int64_t int * bitrate
Definition: addons/kodi-dev-kit/include/kodi/c-api/addon-instance/AudioDecoder.h:112
uint8_t * buffer
Definition: addons/kodi-dev-kit/include/kodi/c-api/addon-instance/AudioDecoder.h:116
uint8_t size_t size
Definition: addons/kodi-dev-kit/include/kodi/c-api/addon-instance/AudioDecoder.h:116
const char unsigned int int int * samplerate
Definition: addons/kodi-dev-kit/include/kodi/c-api/addon-instance/AudioDecoder.h:109
typedef int64_t(ATTR_APIENTRYP PFN_KODI_ADDON_AUDIODECODER_SEEK_V1)(const KODI_ADDON_AUDIODECODER_HDL hdl
const char unsigned int int int int int64_t int enum AudioEngineDataFormat * format
Definition: addons/kodi-dev-kit/include/kodi/c-api/addon-instance/AudioDecoder.h:113
const char unsigned int int * channels
Definition: addons/kodi-dev-kit/include/kodi/c-api/addon-instance/AudioDecoder.h:108
Definition: kodi-dev-kit/include/kodi/AddonBase.h:332
Definition: addons/kodi-dev-kit/include/kodi/addon-instance/AudioDecoder.h:437
@ ADDON_LOG_INFO
1 : To include information messages in the log file.
Definition: addon_base.h:183
ADDON_STATUS
Definition: addon_base.h:134
@ ADDON_STATUS_OK
For everything OK and no error.
Definition: addon_base.h:136
@ ADDON_STATUS_UNKNOWN
Unknown and incomprehensible error.
Definition: addon_base.h:148
@ ADDON_INSTANCE_AUDIODECODER
Audio decoder instance, see kodi::addon::CInstanceAudioDecoder.
Definition: versions.h:217
virtual ADDON_STATUS CreateInstance(int instanceType, const std::string &instanceID, KODI_HANDLE instance, const std::string &version, KODI_HANDLE &addonInstance)
Instance created.
Definition: kodi-dev-kit/include/kodi/AddonBase.h:491
@ AUDIODECODER_READ_SUCCESS
On success.
Definition: addons/kodi-dev-kit/include/kodi/c-api/addon-instance/AudioDecoder.h:69
void ATTR_DLL_LOCAL Log(const AddonLog loglevel, const char *format,...)
Add a message to Kodi's log.
Definition: kodi-dev-kit/include/kodi/AddonBase.h:758
#define ADDONCREATOR(AddonClass)
Definition: kodi-dev-kit/include/kodi/AddonBase.h:1443
Definition: addons/kodi-dev-kit/include/kodi/addon-instance/AudioDecoder.h:21