gstreamer_pcm.yml

device-connector-intdashとともにインストールされる /etc/dc_conf/gstreamer_pcm.yml は、GStreamerから出力される音声を送信するためのパイプライン設定ファイルです。

tasks:
  - id: 1
    element: process-src
    conf:
      # Example of VTC 1910-S onboard audio:
      #   DC_PROCESS_SRC_CONF_COMMAND="gst-launch-1.0 -q alsasrc device=hw:0 ! audioconvert ! audio/x-raw,format=S16LE,rate=48000,channels=1 ! fdsink fd=1"
      #   DC_PCM_SPLIT_FILTER_CONF_PATH="/dev/snd/by-path/pci-0000:00:1b.0"
      # Example of EDGEPLANT T1 onboard audio:
      #   DC_PROCESS_SRC_CONF_COMMAND="gst-launch-1.0 -q alsasrc device=hw:1 ! audioconvert ! audio/x-raw,format=S16LE,rate=48000,channels=1 ! fdsink fd=1"
      #   DC_PCM_SPLIT_FILTER_CONF_PATH="/dev/snd/by-path/platform-sound"
      command: /etc/dc_conf/scripts/gstreamer_pcm.sh "$(DC_PROCESS_SRC_CONF_COMMAND)" "$(DC_PCM_SPLIT_FILTER_CONF_PATH)"

  - id: 2
    element: pcm-split-filter
    from: [ [1] ]
    conf:
      clock_id: CLOCK_MONOTONIC
      delay_ms: $(DC_PCM_SPLIT_FILTER_CONF_DELAY_MS)
      audio_element: $(DC_PCM_SPLIT_FILTER_CONF_AUDIO_ELEMENT)
      audio_iface: $(DC_PCM_SPLIT_FILTER_CONF_AUDIO_IFACE)
      audio_format: $(DC_PCM_SPLIT_FILTER_CONF_AUDIO_FORMAT)
      audio_rate: $(DC_PCM_SPLIT_FILTER_CONF_AUDIO_RATE)
      audio_channels: $(DC_PCM_SPLIT_FILTER_CONF_AUDIO_CHANNELS)
      audio_volume_iface: $(DC_PCM_SPLIT_FILTER_CONF_AUDIO_VOLUME_IFACE)
      audio_volume_element: $(DC_PCM_SPLIT_FILTER_CONF_AUDIO_VOLUME_ELEMENT)
      audio_volume_value: $(DC_PCM_SPLIT_FILTER_CONF_AUDIO_VOLUME_VALUE)
      audio_boost_element: $(DC_PCM_SPLIT_FILTER_CONF_AUDIO_BOOST_ELEMENT)
      audio_boost_value: $(DC_PCM_SPLIT_FILTER_CONF_AUDIO_BOOST_VALUE)
      audio_sync_period_s: $(DC_PCM_SPLIT_FILTER_CONF_AUDIO_SYNC_PERIOD_S)
      path: $(DC_PCM_SPLIT_FILTER_CONF_PATH)

  - id: 3
    element: print-log-filter
    from: [ [2] ]
    conf:
      interval_ms: 10000
      tag: $(DC_PRINT_LOG_FILTER_CONF_TAG)
      output: stderr

  - id: 4
    element: file-sink
    from: [ [3] ]
    conf:
      create: true
      flush_size: 100
      path: $(DC_FILE_SINK_CONF_PATH)