Olaf
Overly Lightweight Acoustic Fingerprinting
Loading...
Searching...
No Matches
olaf_stream_processor.h
Go to the documentation of this file.
1// Olaf: Overly Lightweight Acoustic Fingerprinting
2// Copyright (C) 2019-2025 Joren Six
3
4// This program is free software: you can redistribute it and/or modify
5// it under the terms of the GNU Affero General Public License as published by
6// the Free Software Foundation, either version 3 of the License, or
7// (at your option) any later version.
8
9// This program is distributed in the hope that it will be useful,
10// but WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12// GNU Affero General Public License for more details.
13
14// You should have received a copy of the GNU Affero General Public License
15// along with this program. If not, see <https://www.gnu.org/licenses/>.
16
25
26#ifndef OLAF_STREAM_PROCESSOR_H
27#define OLAF_STREAM_PROCESSOR_H
28
29 #include "olaf_config.h"
30 #include "olaf_runner.h"
31 #include "olaf_fp_matcher.h"
32
42
53
59 void olaf_stream_processor_process(Olaf_Stream_Processor * olaf_stream_processor);
60
66 void olaf_stream_processor_destroy(Olaf_Stream_Processor * olaf_stream_processor);
67
75
76
83
84
85#endif // OLAF_STREAM_PROCESSOR_H
Olaf configuration pramameters.
Provides an algorithm to match extracted fingerprints with the indexed fingerprints in the database.
void(* Olaf_FP_Matcher_Result_Callback)(int matchCount, float queryStart, float queryStop, const char *path, uint32_t matchIdentifier, float referenceStart, float referenceStop)
Callback function template to respond to a result.
Definition olaf_fp_matcher.h:42
Helps to run query, store, delete or print commands. These share a lot of functionality but differ in...
void olaf_stream_processor_destroy(Olaf_Stream_Processor *olaf_stream_processor)
Free up memory and release resources.
Definition olaf_stream_processor.c:60
void olaf_stream_processor_set_result_header(Olaf_Stream_Processor *processor, const char *result_header)
Set the result header for the stream processor.
Definition olaf_stream_processor.c:73
Olaf_Stream_Processor * olaf_stream_processor_new(Olaf_Runner *runner, const char *raw_path, const char *orig_path)
Initialize a new stream processor.
Definition olaf_stream_processor.c:38
void olaf_stream_processor_set_result_callback(Olaf_Stream_Processor *olaf_stream_processor, Olaf_FP_Matcher_Result_Callback callback)
Set the result callback function.
Definition olaf_stream_processor.c:69
void olaf_stream_processor_process(Olaf_Stream_Processor *olaf_stream_processor)
Process a file from the first to last audio sample.
Definition olaf_stream_processor.c:77
Helps to run query, store, delete or print commands. These share a lot of functionality but differ in...
Definition olaf_runner.h:55
An opaque struct with state information related to the stream processor.
Definition olaf_stream_processor.c:20
Olaf_Runner * runner
Definition olaf_stream_processor.c:21
const char * orig_path
Definition olaf_stream_processor.c:28
const char * result_header
Definition olaf_stream_processor.c:30