|
@@ -16,7 +16,6 @@
|
|
|
#include "error_define.h"
|
|
#include "error_define.h"
|
|
|
#include "log_helper.h"
|
|
#include "log_helper.h"
|
|
|
#include "utils_string.h"
|
|
#include "utils_string.h"
|
|
|
-#include "performance_monitor.h"
|
|
|
|
|
|
|
|
|
|
#ifdef _WIN32
|
|
#ifdef _WIN32
|
|
|
#include "system_version.h"
|
|
#include "system_version.h"
|
|
@@ -61,10 +60,6 @@ public:
|
|
|
// Expose underlying encoders for diagnostics
|
|
// Expose underlying encoders for diagnostics
|
|
|
encoder_video* get_video_encoder();
|
|
encoder_video* get_video_encoder();
|
|
|
encoder_aac* get_audio_encoder();
|
|
encoder_aac* get_audio_encoder();
|
|
|
-
|
|
|
|
|
- // 性能监控接口
|
|
|
|
|
- std::string getPerformanceReport() const;
|
|
|
|
|
- void resetPerformanceStats();
|
|
|
|
|
|
|
|
|
|
private:
|
|
private:
|
|
|
void on_preview_yuv(const uint8_t *data, int size, int width, int height, int type);
|
|
void on_preview_yuv(const uint8_t *data, int size, int width, int height, int type);
|
|
@@ -79,7 +74,6 @@ private:
|
|
|
record_desktop *_recorder_desktop;
|
|
record_desktop *_recorder_desktop;
|
|
|
|
|
|
|
|
muxer_file *_muxer;
|
|
muxer_file *_muxer;
|
|
|
- PerformanceMonitor *_perf_monitor; // 性能监控器
|
|
|
|
|
|
|
|
|
|
std::atomic_bool _inited;
|
|
std::atomic_bool _inited;
|
|
|
std::mutex _mutex;
|
|
std::mutex _mutex;
|
|
@@ -99,7 +93,6 @@ recorder::recorder()
|
|
|
|
|
|
|
|
_inited = false;
|
|
_inited = false;
|
|
|
_muxer = nullptr;
|
|
_muxer = nullptr;
|
|
|
- _perf_monitor = new PerformanceMonitor(); // 初始化性能监控器
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
recorder::~recorder()
|
|
recorder::~recorder()
|
|
@@ -115,9 +108,6 @@ recorder::~recorder()
|
|
|
|
|
|
|
|
if (_recorder_speaker)
|
|
if (_recorder_speaker)
|
|
|
delete _recorder_speaker;
|
|
delete _recorder_speaker;
|
|
|
-
|
|
|
|
|
- if (_perf_monitor)
|
|
|
|
|
- delete _perf_monitor; // 清理性能监控器
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
recorder *recorder::instance()
|
|
recorder *recorder::instance()
|
|
@@ -403,22 +393,6 @@ void recorder::get_valid_out_resolution(int src_width,
|
|
|
scaled_vals[i]);
|
|
scaled_vals[i]);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-// 性能监控接口实现
|
|
|
|
|
-std::string recorder::getPerformanceReport() const
|
|
|
|
|
-{
|
|
|
|
|
- if (_perf_monitor) {
|
|
|
|
|
- return _perf_monitor->getPerformanceReport();
|
|
|
|
|
- }
|
|
|
|
|
- return "性能监控器未初始化";
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-void recorder::resetPerformanceStats()
|
|
|
|
|
-{
|
|
|
|
|
- if (_perf_monitor) {
|
|
|
|
|
- _perf_monitor->reset();
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
} // namespace am
|
|
} // namespace am
|
|
|
|
|
|
|
|
AMRECORDER_API const char *recorder_err2str(int error)
|
|
AMRECORDER_API const char *recorder_err2str(int error)
|
|
@@ -470,7 +444,7 @@ AMRECORDER_API int recorder_get_speakers(AMRECORDER_DEVICE **devices)
|
|
|
*devices = new AMRECORDER_DEVICE[count];
|
|
*devices = new AMRECORDER_DEVICE[count];
|
|
|
|
|
|
|
|
int index = 0;
|
|
int index = 0;
|
|
|
- for each (auto device in device_list) {
|
|
|
|
|
|
|
+ for (auto device : device_list) {
|
|
|
al_info("audio input name:%s id:%s", device.name.c_str(), device.id.c_str());
|
|
al_info("audio input name:%s id:%s", device.name.c_str(), device.id.c_str());
|
|
|
|
|
|
|
|
(*devices)[index].is_default = device.is_default;
|
|
(*devices)[index].is_default = device.is_default;
|
|
@@ -496,7 +470,7 @@ AMRECORDER_API int recorder_get_mics(AMRECORDER_DEVICE **devices)
|
|
|
*devices = new AMRECORDER_DEVICE[count];
|
|
*devices = new AMRECORDER_DEVICE[count];
|
|
|
|
|
|
|
|
int index = 0;
|
|
int index = 0;
|
|
|
- for each (auto device in device_list) {
|
|
|
|
|
|
|
+ for (auto device : device_list) {
|
|
|
al_info("audio output name:%s id:%s", device.name.c_str(), device.id.c_str());
|
|
al_info("audio output name:%s id:%s", device.name.c_str(), device.id.c_str());
|
|
|
|
|
|
|
|
(*devices)[index].is_default = device.is_default;
|
|
(*devices)[index].is_default = device.is_default;
|
|
@@ -525,7 +499,7 @@ AMRECORDER_API int recorder_get_vencoders(AMRECORDER_ENCODERS **encoders)
|
|
|
ptr->id = am::EID_VIDEO_X264;
|
|
ptr->id = am::EID_VIDEO_X264;
|
|
|
sprintf_s(ptr->name, 260, am::utils_string::ascii_utf8("Soft.X264").c_str());
|
|
sprintf_s(ptr->name, 260, am::utils_string::ascii_utf8("Soft.X264").c_str());
|
|
|
|
|
|
|
|
- for each (auto hw_encoder in hw_encoders) {
|
|
|
|
|
|
|
+ for (auto hw_encoder : hw_encoders) {
|
|
|
ptr++;
|
|
ptr++;
|
|
|
ptr->id = hw_encoder.type;
|
|
ptr->id = hw_encoder.type;
|
|
|
sprintf_s(ptr->name, 260, "%s", hw_encoder.name);
|
|
sprintf_s(ptr->name, 260, "%s", hw_encoder.name);
|
|
@@ -637,16 +611,3 @@ AMRECORDER_API void recorder_reset_audio_rb_dropped()
|
|
|
if (!enc) return;
|
|
if (!enc) return;
|
|
|
enc->rb_reset_dropped();
|
|
enc->rb_reset_dropped();
|
|
|
} // namespace am 结束
|
|
} // namespace am 结束
|
|
|
-
|
|
|
|
|
-// 导出性能监控API
|
|
|
|
|
-AMRECORDER_API const char* recorder_get_performance_report()
|
|
|
|
|
-{
|
|
|
|
|
- static std::string report;
|
|
|
|
|
- report = am::recorder::instance()->getPerformanceReport();
|
|
|
|
|
- return report.c_str();
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-AMRECORDER_API void recorder_reset_performance_stats()
|
|
|
|
|
-{
|
|
|
|
|
- am::recorder::instance()->resetPerformanceStats();
|
|
|
|
|
-}
|
|
|