kodi
IEncoder.h
1 /*
2  * Copyright (C) 2014-2018 Team Kodi
3  * This file is part of Kodi - https://kodi.tv
4  *
5  * SPDX-License-Identifier: GPL-2.0-or-later
6  * See LICENSES/README.md for more information.
7  */
8 
9 #pragma once
10 
11 #include <stdint.h>
12 #include <string>
13 
14 #include "PlatformDefs.h" // for ssize_t
15 
16 namespace KODI
17 {
18 namespace CDRIP
19 {
20 
21 class IEncoder
22 {
23 public:
24  virtual ~IEncoder() = default;
25  virtual bool Init() = 0;
26  virtual ssize_t Encode(uint8_t* pbtStream, size_t nNumBytesRead) = 0;
27  virtual bool Close() = 0;
28 
29  // tag info
30  std::string m_strComment;
31  std::string m_strArtist;
32  std::string m_strAlbumArtist;
33  std::string m_strTitle;
34  std::string m_strAlbum;
35  std::string m_strGenre;
36  std::string m_strTrack;
37  std::string m_strYear;
38  std::string m_strFile;
39  int m_iTrackLength = 0;
40  int m_iInChannels = 0;
41  int m_iInSampleRate = 0;
42  int m_iInBitsPerSample = 0;
43 };
44 
45 } /* namespace CDRIP */
46 } /* namespace KODI */
Definition: AudioDecoder.h:18
Definition: IEncoder.h:21