/*
-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
#ifndef _PCMPARSERLIST_H_
#define _PCMPARSERLIST_H_
+#include <KM_fileio.h>
#include <AS_DCP.h>
#include <vector>
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; }
//
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);
};
}