Ticket #11723: vbi.patch

File vbi.patch, 1.6 KB (added by dan.littlejohn@…, 7 years ago)
  • mythtv/libs/libmythtv/mpegrecorder.cpp

    diff --git a/mythtv/libs/libmythtv/mpegrecorder.cpp b/mythtv/libs/libmythtv/mpegrecorder.cpp
    index 32221f7..a358319 100644
    a b bool MpegRecorder::SetVBIOptions(int chanfd) 
    852852#ifdef V4L2_CAP_SLICED_VBI_CAPTURE
    853853    if (supports_sliced_vbi)
    854854    {
     855        int fd;
     856
     857        if (OpenVBIDevice())
     858            fd = vbi_fd;
     859        else
     860            fd = chanfd;
     861
    855862        struct v4l2_format vbifmt;
    856863        memset(&vbifmt, 0, sizeof(struct v4l2_format));
    857864        vbifmt.type = V4L2_BUF_TYPE_SLICED_VBI_CAPTURE;
    858865        vbifmt.fmt.sliced.service_set |= (VBIMode::PAL_TT == vbimode) ?
    859866            V4L2_SLICED_VBI_625 : V4L2_SLICED_VBI_525;
    860867
    861         if (ioctl(chanfd, VIDIOC_S_FMT, &vbifmt) < 0)
     868        if (ioctl(fd, VIDIOC_S_FMT, &vbifmt) < 0)
    862869        {
    863870            LOG(VB_GENERAL, LOG_WARNING, LOC +
    864871                "Unable to enable VBI embedding" + ENO);
    865872        }
    866         else if (ioctl(chanfd, VIDIOC_G_FMT, &vbifmt) >= 0)
     873        else if (ioctl(fd, VIDIOC_G_FMT, &vbifmt) >= 0)
    867874        {
    868875            LOG(VB_RECORD, LOG_INFO,
    869876                LOC + QString("VBI service: %1, io size: %2")
    bool MpegRecorder::SetVBIOptions(int chanfd) 
    880887            ctrls.count      = 1;
    881888            ctrls.controls   = &vbi_ctrl;
    882889
    883             if (ioctl(chanfd, VIDIOC_S_EXT_CTRLS, &ctrls) < 0)
     890            if (ioctl(fd, VIDIOC_S_EXT_CTRLS, &ctrls) < 0)
    884891            {
    885892                LOG(VB_GENERAL, LOG_WARNING, LOC +
    886893                    "Unable to set VBI embedding format" + ENO);