예제 #1
0
파일: instance.go 프로젝트: egelmex/go-vlc
// OpenMediaFile loads a media instance from the given filesystem path.
func (this *Instance) OpenMediaFile(path string) (*Media, error) {
	if this.ptr == nil {
		return nil, os.EINVAL
	}

	c := C.CString(path)
	defer C.free(unsafe.Pointer(c))

	if m := C.libvlc_media_new_path(this.ptr, c); m != nil {
		return &Media{m}, nil
	}

	return nil, checkError()
}
예제 #2
0
파일: vlc.go 프로젝트: ryuken/libvlc-go
func newMedia(path string, local bool) (*Media, error) {
	if instance == nil {
		return nil, errors.New("Module must be first initialized")
	}

	cPath := C.CString(path)
	defer C.free(unsafe.Pointer(cPath))

	var media *C.libvlc_media_t = nil
	if local {
		media = C.libvlc_media_new_path(instance, cPath)
	} else {
		media = C.libvlc_media_new_location(instance, cPath)
	}

	if media == nil {
		return nil, getError()
	}

	return &Media{media: media}, nil
}
예제 #3
0
파일: main.go 프로젝트: cfstras/cfmedias
// MediaNewPath creates a media for a certain file path.
func (vlc *VLC) MediaNewPath(path string) (*Media, error) {
	str := C.CString(path)
	defer C.free(unsafe.Pointer(str))
	media := C.libvlc_media_new_path(vlc.instance, str)
	return (*Media)(media), LastError()
}