#!/bin/sh
# Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
#

if [ "$SGDAUDIO_PULSE" = "1" ] && [ "$PULSE_ENABLED" = "1" ] ; then
  # A PulseAudio system

  # Get the Display number to construct the virtual sink name for this session
  DISPLAY_ID=`echo $DISPLAY | cut -f2 -d ':' | cut -f1 -d '.'`

  # rebuild plugin list when using SGD
  GSTREAMER_HOME=`ls -d $HOME/.gstreamer-*.* | tail -1`
  if [ "${GSTREAMER_HOME}" ] ; then
    rm ${GSTREAMER_HOME}/registry.*.bin > /dev/null 2>&1
  fi
  # Configure GStreamer to use PulseAudio
  gconftool-2 -t string --set /system/gstreamer/0.10/default/audiosink pulsesink > /dev/null 2>&1
  gconftool-2 -t string --set /system/gstreamer/0.10/default/audiosrc pulsesrc > /dev/null 2>&1
    
  # Start PulseAudio using SGD config file
  /usr/bin/pulseaudio -n -F $SGDTEMINSTDIR/audio/default.pa --start --log-target=syslog -D
    
  # load the virtual sinks for this session
  s=`pacmd list-sinks | grep "<$PULSE_SINK>"`
  if [ -z $s ]; then
    pacmd load-module module-null-sink sink_name=$PULSE_SINK > /dev/null 2>&1
  fi

  s=`pacmd list-sources | grep "<$PULSE_SOURCE>"`
  if [ -z $s ]; then
    pacmd load-module module-null-sink sink_name=sgdin.$DISPLAY_ID > /dev/null 2>&1
  fi
  # Start in pa mode
  $UNIXAUDIODAEMON_BIN $@ --pa >/dev/null 2>&1
fi

if [ "$SGDAUDIO_OSS" = "1" ] ; then
  $UNIXAUDIODAEMON_BIN $@
fi

