Added library names
[asdcplib.git] / src / PCMParserList.h
index e6bf20b963e10454615478d59ebfd9d475679731..0af162738b5425b234187f6a8abdb1e8e6fcd03e 100755 (executable)
@@ -1,5 +1,5 @@
 /*
-Copyright (c) 2004, John Hurst
+Copyright (c) 2004-2016, John Hurst
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
@@ -32,6 +32,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #ifndef _PCMPARSERLIST_H_
 #define _PCMPARSERLIST_H_
 
+#include <KM_fileio.h>
 #include <AS_DCP.h>
 #include <vector>
 
@@ -53,7 +54,7 @@ namespace ASDCP
       ParserInstance();
       virtual ~ParserInstance();
 
-      Result_t OpenRead(const char* filename, Rational& PictureRate);
+      Result_t OpenRead(const std::string& filename, const Rational& PictureRate);
       Result_t PutSample(byte_t* p);
       Result_t ReadFrame();
       inline ui32_t SampleSize()  { return m_SampleSize; }
@@ -62,19 +63,22 @@ namespace ASDCP
   //
   class PCMParserList : public std::vector<ParserInstance*>
     {
+      ASDCP_NO_COPY_CONSTRUCT(PCMParserList);
+
+    protected:
       PCM::AudioDescriptor m_ADesc;
       ui32_t m_ChannelCount;
 
-      ASDCP_NO_COPY_CONSTRUCT(PCMParserList);
-
     public:
       PCMParserList();
       virtual ~PCMParserList();
 
-      Result_t OpenRead(ui32_t argc, const char** argv, Rational& PictureRate);
+      Result_t OpenRead(ui32_t argc, const char** argv, const Rational& PictureRate);
+      Result_t OpenRead(const Kumu::PathList_t& argv, const Rational& PictureRate);
       Result_t FillAudioDescriptor(PCM::AudioDescriptor& ADesc) const;
       Result_t Reset();
       Result_t ReadFrame(PCM::FrameBuffer& OutFB);
+      Result_t Seek(ui32_t frame_number);
     };
 }