gstreamer omxh264encoder error
Andrea
andrea.rossetto at videomed.biz
Fri Aug 9 10:10:28 UTC 2019
The addresses of the buffers are "fixed", when I get all the information
(vidioc_s_fmt) I allocate 8 "frames" in memory and they are no longer
modified. These buffers are passed to gstreamer (userspace) via the mmap
function:
long length = vma->vm_end - vma->vm_start;
if( length > PAGE_ALIGN(skel->pix_format.sizeimage) ){
printk(KERN_INFO "ERROR, length (%d) > skel->buffer_size (%d)", length,
skel->buffer_size);
return -EINVAL;
}
vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
vma->vm_flags |= VM_IO;
int ret = remap_pfn_range(vma, vma->vm_start,
PFN_DOWN(virt_to_phys(phys_to_virt(lp->paddrY[mmap_idx]))) + vma->vm_pgoff,
length, vma->vm_page_prot);
skel->buffers[mmap_idx].buffer.flags |= V4L2_BUF_FLAG_MAPPED;
if( mmap_idx < MAX_FRAMES-1 )
mmap_idx++;
else
mmap_idx = 0;
return ret;
The addresses used for the 8 frames stored in memory, not remapped to
userspace by mmap:
Buf 0: 0xe000000
Buf 1: 0xe400000
Buf 2: 0xe800000
Buf 3: 0xec00000
Buf 4: 0xf000000
Buf 5: 0xf400000
Buf 6: 0xf800000
Buf 7: 0xfc00000
--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
More information about the gstreamer-devel
mailing list