summaryrefslogtreecommitdiff
path: root/rotord/libavaudioloader.h
diff options
context:
space:
mode:
Diffstat (limited to 'rotord/libavaudioloader.h')
-rw-r--r--rotord/libavaudioloader.h21
1 files changed, 6 insertions, 15 deletions
diff --git a/rotord/libavaudioloader.h b/rotord/libavaudioloader.h
index bacd6a9..5df583b 100644
--- a/rotord/libavaudioloader.h
+++ b/rotord/libavaudioloader.h
@@ -3,6 +3,7 @@
#include <string>
#include <math.h>
#include <iostream>
+#include <vector>
extern "C" {
#include <libavutil/mathematics.h>
@@ -12,32 +13,22 @@ extern "C" {
namespace libav {
- class audioloader{
+ class Audioloader{
public:
- audioloader(){ready=false;sample_start=0;};
+ Audioloader(){ready=false;sample_start=0;sample_end=0;};
bool setup(const std::string &filename);
AVFrame* get_frame();
- uint16_t* get_samples(int num){
- if(!ready) return nullptr;
- if (sample_start>0){
-
- }
- while (i<num) {
- AVFrame *frame=get_frame();
- if (frame==nullptr) return nullptr;
- frame.nb_samples*
-
- }
- }
+ uint16_t* get_samples(int num);
bool close();
bool ready;
private:
+ std::vector<uint16_t> buffer;
AVFrame* frame;
AVFormatContext* formatContext;
AVStream* audioStream;
AVCodecContext* codecContext;
AVPacket packet;
- int sample_processed;
+ int sample_end;
int sample_start;
};