Skip to content

Commit 1e60a90

Browse files
committed
fix: silk magic head
1 parent 56dc0fb commit 1e60a90

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

include/common.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ extern "C" {
1212
#include <libavformat/avformat.h>
1313
}
1414

15-
typedef void (cb_codec)(void* userdata, uint8_t* p, int len);
15+
typedef void (cb_codec)(void* userdata, const uint8_t* p, int len);
1616

1717
#ifdef _WIN32
1818
#define __dllexport __declspec(dllexport)

src/silk.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
// Created by Wenxuan Lin on 2025-02-23.
33
//
44

5+
#include <string_view>
6+
57
#include "silk.h"
68

79
#include <SKP_Silk_SigProc_FIX.h>
@@ -10,6 +12,7 @@
1012
#include "SKP_Silk_SDK_API.h"
1113
#include "SKP_Silk_typedef.h"
1214

15+
constexpr std::string_view silk_magic = "\x02#!SILK_V3";
1316
constexpr SKP_int32 sample_rate = 24000;
1417

1518
int silk_decode(uint8_t* silk_data, int data_len, cb_codec callback, void* userdata) {
@@ -24,11 +27,11 @@ int silk_decode(uint8_t* silk_data, int data_len, cb_codec callback, void* userd
2427

2528
SKP_SILK_SDK_DecControlStruct dec_control;
2629

27-
if (strcmp(reinterpret_cast<char*>(psRead), "\x02#!SILK_V3") != 0) {
30+
if (memcmp(psRead, silk_magic.data(), std::size(silk_magic)) != 0) {
2831
return 1;
2932
}
3033

31-
psRead += 0xD;
34+
psRead += std::size(silk_magic);
3235

3336
/* Create decoder */
3437
SKP_int32 result = SKP_Silk_SDK_Get_Decoder_Size(&decSizeBytes);
@@ -186,7 +189,7 @@ int silk_encode(uint8_t* pcm_data, int data_len, cb_codec callback, void* userda
186189
return 1;
187190
}
188191

189-
callback(userdata, static_cast<uint8_t *>((void*)"\x02#!SILK_V3"), sizeof(char) * 13);
192+
callback(userdata, reinterpret_cast<const std::uint8_t*>(silk_magic.data()), silk_magic.size());
190193

191194
result = SKP_Silk_SDK_Get_Encoder_Size(&enc_size_bytes);
192195
if (result) {

0 commit comments

Comments
 (0)