func (this *FmtCtx) GetStream(idx int) (*Stream, error) { if idx > this.StreamsCnt() || this.StreamsCnt() == 0 { return nil, errors.New(fmt.Sprintf("Stream index '%d' is out of range. There is only '%d' streams.", idx, this.StreamsCnt())) } if _, ok := this.streams[idx]; !ok { // create instance of Stream wrapper, when stream was initialized // by demuxer. it means that this is an input context. this.streams[idx] = &Stream{avStream: C.gmf_get_stream(this.avCtx, C.int(idx))} } return this.streams[idx], nil }
func av_get_stream(ctx *C.AVFormatContext, idx int) *C.AVStream { return C.gmf_get_stream(ctx, C.int(idx)) }