summaryrefslogtreecommitdiffstats
path: root/xbmc/addons/include/xbmc_audioenc_dll.h
diff options
context:
space:
mode:
Diffstat (limited to 'xbmc/addons/include/xbmc_audioenc_dll.h')
-rw-r--r--xbmc/addons/include/xbmc_audioenc_dll.h61
1 files changed, 61 insertions, 0 deletions
diff --git a/xbmc/addons/include/xbmc_audioenc_dll.h b/xbmc/addons/include/xbmc_audioenc_dll.h
new file mode 100644
index 0000000..01e8d12
--- /dev/null
+++ b/xbmc/addons/include/xbmc_audioenc_dll.h
@@ -0,0 +1,61 @@
1#pragma once
2/*
3 * Copyright (C) 2005-2013 Team XBMC
4 * http://xbmc.org
5 *
6 * This Program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2, or (at your option)
9 * any later version.
10 *
11 * This Program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with XBMC; see the file COPYING. If not, see
18 * <http://www.gnu.org/licenses/>.
19 *
20 */
21
22#ifndef __XBMC_AUDIOENC_H__
23#define __XBMC_AUDIOENC_H__
24
25#include <stdint.h>
26#include "xbmc_addon_dll.h"
27#include "xbmc_audioenc_types.h"
28
29extern "C"
30{
31 //! \copydoc AudioEncoder::Create
32 void* Create(audioenc_callbacks *callbacks);
33
34 //! \copydoc AudioEncoder::Start
35 bool Start(void* context, int iInChannels, int iInRate, int iInBits,
36 const char* title, const char* artist,
37 const char* albumartist, const char* album,
38 const char* year, const char* track,
39 const char* genre, const char* comment, int iTrackLength);
40
41 //! \copydoc AudioEncoder::Encode
42 int Encode(void* context, int nNumBytesRead, uint8_t* pbtStream);
43
44 //! \copydoc AudioEncoder::Finish
45 bool Finish(void* context);
46
47 //! \copydoc AudioEncoder::Free
48 void Free(void* context);
49
50 // function to export the above structure to XBMC
51 void __declspec(dllexport) get_addon(struct AudioEncoder* pScr)
52 {
53 pScr->Create = Create;
54 pScr->Start = Start;
55 pScr->Encode = Encode;
56 pScr->Finish = Finish;
57 pScr->Free = Free;
58 };
59};
60
61#endif