var nu = require('./num_util.js');

var Config = {
  user_agent: 'iTunes/11.3.1 (Windows; Microsoft Windows 10 x64 (Build 19044); x64) (dt:2)',
  udp_default_port: 54621,         // preferred starting port in AirTunes v2
  frames_per_packet: 352,         // samples per frames in ALAC packets
  channels_per_frame: 2,          // always stereo in AirTunes v2
  bits_per_channel: 16,           // -> 2 bytes per channel
  packet_size: 352*2*2,           // frames*channels*bytes
  packets_in_buffer: 200,         // increase this buffer protects against network issues
  coreaudio_min_level: 5,         // if CoreAudio's internal buffer drops too much, inject some silence to raise it
  coreaudio_check_period: 2000,   // CoreAudio buffer level check period
  coreaudio_preload: 352*2*2*50,     // ~0.5s of silence pushed to CoreAudio to avoid draining AudioQueue
  sampling_rate: 44100,           // fixed by AirTunes v2
  sync_period: 126,               // UDP sync packets are sent to all AirTunes devices regularly
  stream_latency: 100,             // audio UDP packets are flushed in bursts periodically
  rtsp_timeout: 2147483647,             // RTSP servers are considered gone if no reply is received before the timeout
  rtsp_heartbeat: 15000,          // some RTSP (like HomePod) servers requires heartbeat. Recommanded value: 60000 (1 minute). Set to 0 if you want to disable it.
  rtp_time_ref: 0,
  device_magic: nu.randomInt(9),
  ntp_epoch: 0x83aa7e80,
  iv_base64: "ePRBLI0XN5ArFaaz7ncNZw",
  rsa_aeskey_base64: "VjVbxWcmYgbBbhwBNlCh3K0CMNtWoB844BuiHGUJT51zQS7SDpMnlbBIobsKbfEJ3SCgWHRXjYWf7VQWRYtEcfx7ejA8xDIk5PSBYTvXP5dU2QoGrSBv0leDS6uxlEWuxBq3lIxCxpWO2YswHYKJBt06Uz9P2Fq2hDUwl3qOQ8oXb0OateTKtfXEwHJMprkhsJsGDrIc5W5NJFMAo6zCiM9bGSDeH2nvTlyW6bfI/Q0v0cDGUNeY3ut6fsoafRkfpCwYId+bg3diJh+uzw5htHDyZ2sN+BFYHzEfo8iv4KDxzeya9llqg6fRNQ8d5YjpvTnoeEQ9ye9ivjkBjcAfVw"
};

module.exports = Config;
