func GetAudioOutputList() ([]*AudioOutput, error) { if instance == nil { return nil, errors.New("Module must be first initialized") } outputs := C.libvlc_audio_output_list_get(instance) if outputs == nil { return nil, getError() } defer C.libvlc_audio_output_list_release(outputs) audioOutputs := []*AudioOutput{} for p := outputs; p != nil; p = (*C.libvlc_audio_output_t)(p.p_next) { audioOutput := &AudioOutput{ Name: C.GoString(p.psz_name), Description: C.GoString(p.psz_description), } audioOutputs = append(audioOutputs, audioOutput) } return audioOutputs, getError() }
func (this *AudioOutput) Release() { if this.ptr != nil { C.libvlc_audio_output_list_release(this.ptr) this.ptr = nil } }