kodi
DVDDemuxCDDA.h
1 /*
2  * Copyright (C) 2013-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 "DVDDemux.h"
12 
13 #include <vector>
14 
15 #ifdef TARGET_WINDOWS
16 #define __attribute__(dummy_val)
17 #endif
18 
20 
21 class CDVDDemuxCDDA : public CDVDDemux
22 {
23 public:
24 
25  CDVDDemuxCDDA();
26  ~CDVDDemuxCDDA() override;
27 
28  bool Open(const std::shared_ptr<CDVDInputStream>& pInput);
29  void Dispose();
30  bool Reset() override;
31  void Abort() override;
32  void Flush() override;
33  DemuxPacket* Read() override;
34  bool SeekTime(double time, bool backwards = false, double* startpts = NULL) override;
35  int GetStreamLength() override;
36  CDemuxStream* GetStream(int iStreamId) const override;
37  std::vector<CDemuxStream*> GetStreams() const override;
38  int GetNrOfStreams() const override;
39  std::string GetFileName() override;
40  std::string GetStreamCodecName(int iStreamId) override;
41 
42 protected:
43  friend class CDemuxStreamAudioCDDA;
44  std::shared_ptr<CDVDInputStream> m_pInput;
45  int64_t m_bytes;
46 
47  CDemuxStreamAudioCDDA *m_stream;
48 };
Definition: DVDDemux.h:221
Definition: DVDDemuxCDDA.h:21
Definition: DVDDemuxCDDA.cpp:17
Definition: DVDDemux.h:72
Definition: DemuxPacket.h:22