Audaspace
1.9.0
A high level audio library.
Toggle main menu visibility
Loading...
Searching...
No Matches
file
IFileInput.h
Go to the documentation of this file.
1
/*******************************************************************************
2
* Copyright 2009-2016 Jörg Müller
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
******************************************************************************/
16
17
#pragma once
18
24
25
#include "
Audaspace.h
"
26
#include "
FileInfo.h
"
27
28
#include <memory>
29
#include <string>
30
#include <vector>
31
32
AUD_NAMESPACE_BEGIN
33
34
class
IReader
;
35
class
Buffer
;
36
42
class
AUD_API
IFileInput
43
{
44
public
:
48
virtual
~IFileInput
() {}
49
57
virtual
std::shared_ptr<IReader>
createReader
(
const
std::string &filename,
int
stream = 0)=0;
58
66
virtual
std::shared_ptr<IReader>
createReader
(std::shared_ptr<Buffer> buffer,
int
stream = 0)=0;
67
74
virtual
std::vector<StreamInfo>
queryStreams
(
const
std::string &filename)=0;
75
82
virtual
std::vector<StreamInfo>
queryStreams
(std::shared_ptr<Buffer> buffer)=0;
83
};
84
85
AUD_NAMESPACE_END
Audaspace.h
The main header file of the library defining the namespace and basic data types.
AUD_NAMESPACE_END
#define AUD_NAMESPACE_END
Closes the audaspace namespace aud.
Definition
Audaspace.h:119
AUD_NAMESPACE_BEGIN
#define AUD_NAMESPACE_BEGIN
Opens the audaspace namespace aud.
Definition
Audaspace.h:116
AUD_API
#define AUD_API
Used for exporting symbols in the shared library.
Definition
Audaspace.h:93
FileInfo.h
The FileInfo data structures.
Buffer
This class is a simple buffer in RAM which is 32 Byte aligned and provides resize functionality.
Definition
Buffer.h:34
IFileInput
The IFileInput interface represents a file input plugin that can create file input readers from filen...
Definition
IFileInput.h:43
IFileInput::queryStreams
virtual std::vector< StreamInfo > queryStreams(const std::string &filename)=0
Queries the streams of a sound file.
IFileInput::createReader
virtual std::shared_ptr< IReader > createReader(const std::string &filename, int stream=0)=0
Creates a reader for a file to be read.
IFileInput::createReader
virtual std::shared_ptr< IReader > createReader(std::shared_ptr< Buffer > buffer, int stream=0)=0
Creates a reader for a file to be read from memory.
IFileInput::queryStreams
virtual std::vector< StreamInfo > queryStreams(std::shared_ptr< Buffer > buffer)=0
Queries the streams of a sound file.
IFileInput::~IFileInput
virtual ~IFileInput()
Destroys the file input.
Definition
IFileInput.h:48
IReader
This class represents a sound source as stream or as buffer which can be read for example by another ...
Definition
IReader.h:35
Generated by
1.17.0