AudioDecoder.hh
Go to the documentation of this file.
1/*
2* Copyright (C) 2012 Open Source Robotics Foundation
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
18#ifndef _GAZEBO_AUDIO_DECODER_HH_
19#define _GAZEBO_AUDIO_DECODER_HH_
20
21#include <stdint.h>
22#include <string>
23#include "gazebo/util/system.hh"
24
25struct AVFormatContext;
26struct AVCodecContext;
27struct AVCodec;
28
29namespace gazebo
30{
31 namespace common
32 {
36
39 class GZ_COMMON_VISIBLE AudioDecoder
40 {
42 public: AudioDecoder();
43
45 public: virtual ~AudioDecoder();
46
50 public: bool SetFile(const std::string &_filename);
51
55 public: std::string GetFile() const;
56
62 public: bool Decode(uint8_t **_outBuffer, unsigned int *_outBufferSize);
63
66 public: int GetSampleRate();
67
69 private: void Cleanup();
70
72 private: AVFormatContext *formatCtx;
73
75 private: AVCodecContext *codecCtx;
76
78 private: AVCodec *codec;
79
81 private: int audioStream;
82
84 private: static bool initialized;
85
87 private: std::string filename;
88 };
90 }
91}
92#endif
common
Definition FuelModelDatabase.hh:37
An audio decoder based on FFMPEG.
Definition AudioDecoder.hh:40
bool SetFile(const std::string &_filename)
Set the file to decode.
virtual ~AudioDecoder()
Destructor.
bool Decode(uint8_t **_outBuffer, unsigned int *_outBufferSize)
Decode the loaded audio file.
std::string GetFile() const
Get the audio filename that was set.
int GetSampleRate()
Get the sample rate from the latest decoded file.
Forward declarations for the common classes.
Definition Animation.hh:27