[videodb] remove unused seasons table from episode_view
[xbmc.git] / xbmc / cores / AudioEngine / Utils / AEBitstreamPacker.h
blobe3f62339567d5e2311a12e4d204050a4d0bbfa83
1 /*
2 * Copyright (C) 2010-2018 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
7 */
9 #pragma once
11 #include "AEChannelInfo.h"
12 #include "AEPackIEC61937.h"
14 #include <list>
15 #include <stdint.h>
16 #include <vector>
18 class CAEStreamInfo;
20 class CAEBitstreamPacker
22 public:
23 CAEBitstreamPacker();
24 ~CAEBitstreamPacker();
26 void Pack(CAEStreamInfo &info, uint8_t* data, int size);
27 bool PackPause(CAEStreamInfo &info, unsigned int millis, bool iecBursts);
28 void Reset();
29 uint8_t* GetBuffer();
30 unsigned int GetSize() const;
31 static unsigned int GetOutputRate(const CAEStreamInfo& info);
32 static CAEChannelInfo GetOutputChannelMap(const CAEStreamInfo& info);
34 private:
35 void PackDTSHD(CAEStreamInfo &info, uint8_t* data, int size);
36 void PackEAC3(CAEStreamInfo &info, uint8_t* data, int size);
38 std::vector<uint8_t> m_dtsHD;
39 unsigned int m_dtsHDSize = 0;
41 std::vector<uint8_t> m_eac3;
42 unsigned int m_eac3Size = 0;
43 unsigned int m_eac3FramesCount = 0;
44 unsigned int m_eac3FramesPerBurst = 0;
46 unsigned int m_dataSize = 0;
47 uint8_t m_packedBuffer[MAX_IEC61937_PACKET];
48 unsigned int m_pauseDuration = 0;