#ifndef WEBRTCPUSH_CONFIG_H
#define WEBRTCPUSH_CONFIG_H

/*
 * WEBRTCPUSH_USE_MPP — 推流方式（与 Chromium 浏览器互斥，共用 thread_open_browser 线程）
 *   0：走 Chromium 浏览器推流（opencamsh，原有逻辑）
 *   1：走 libdatachannel 原生推流（摄像头 → MPP/x264 → libdatachannel）
 *
 * 原生分支：v4l2 采集 → mpph264enc（或 x264enc 回退）→ libdatachannel 发送。
 * 音频尚未接入，视频跑通后再接 ALSA→Opus track。
 */
#define WEBRTCPUSH_USE_MPP 1

/* 正常固定 24fps；弱网以降码率为主，后续若启用动态帧率也不得低于 22fps。 */
#define WEBRTCPUSH_H264_FPS 24
#define WEBRTCPUSH_H264_MIN_FPS 22
#define WEBRTCPUSH_H264_GOP (WEBRTCPUSH_H264_FPS * 3)

/* 与 gst_webrtc_pipeline / jywy 浏览器推流对齐的码率策略 */
#define WEBRTCPUSH_INITIAL_BITRATE 1400000U   /* 起播 1.4 Mbps */
#define WEBRTCPUSH_MIN_BITRATE 500000U
#define WEBRTCPUSH_MAX_BITRATE 3200000U
#define WEBRTCPUSH_REMB_UTIL_PERCENT 82U      /* 链路容量扣除音频/RTP 余量 */
#define WEBRTCPUSH_BITRATE_RAMP_MS 1000U      /* 每秒向目标码率逼近一档 */
#define WEBRTCPUSH_PACING_INTERVAL_MS 5U
#define WEBRTCPUSH_PACING_HEADROOM_PERCENT 120U
#define WEBRTCPUSH_PACING_MAX_BITRATE 3750000U
#define WEBRTCPUSH_NACK_PACKETS 1024U

/* 视频采集：auto | /dev/videoN | test（videotestsrc 测试图案） */
#define WEBRTCPUSH_VIDEO_DEVICE "auto"

/*
 * 麦克风采集（仅上行推流到手机，与车机喇叭播放 audioplay/tts 无关）。
 * 留空表示不推音频；hw:X,Y 运行时会转为 plughw:X,Y，并优先经 Pulse 的 input 源采集。
 */
#define WEBRTCPUSH_ALSA_DEVICE "auto"

/*
 * 设备侧 DataChannel（myDataChannel）与手机 createDataChannel('init') 争用 SCTP，
 * 易触发 sctpenc association error 并导致管道闪断/进程崩溃。仅推流可不建。
 */
#define WEBRTCPUSH_ENABLE_DATACHANNEL 0

/* WebRTC 信令 WebSocket 主机（路径 /websocket?dev=设备号） */
#define WEBRTCPUSH_SIGNAL_HOST "signal.yd-ss.com"

#define WEBRTCPUSH_DEBUG 0

#endif
