3 Replies Latest reply on Nov 23, 2017 2:24 AM by savj

    AN75779 Video Stream will not start on Mac OS

    js_2651101

      Hi

       

      I have downloaded the newest version of an75779 dated 20/8-2017, and implemented it on my custom board.

      This version fixed the frame freeze issue i had. But it will not start the video stream on Mac OS, Windows 7, 10 and Linux works fine.

      The debugprintout looks like this:

       

      UsbEventCB: Detected SS USB Connection

      Application Started

      Clear feature request detected...

      Application Stopped

      Clear feature request detected...

      Application Stopped

      Clear feature request detected...

      Application Stopped

      Clear feature request detected...

      Application Stopped

      But no picture on the Mac

       

      I can get working, with this change in the code:

              case CY_U3P_USB_TARGET_ENDPT:

                  if( bRequest == CY_U3P_USB_SC_CLEAR_FEATURE )

                  {

                      if( wIndex == CY_FX_EP_BULK_VIDEO )

                      {

                          /* Windows OS sends Clear Feature Request after it stops streaming,

                           * however MAC OS sends clear feature request right after it sends a

                           * Commit -> SET_CUR request. Hence, stop the video streaming and clear

                           * the stall condition and sequence numbers */

                          CyU3PDebugPrint (4, "Clear feature request detected...\r\n");

       

       

                          /* Clear the stall condition and sequence numbers. */

                          CyU3PUsbStall( CY_FX_EP_BULK_VIDEO, CyFalse, CyTrue );

      //                    CyFxUVCApplnAbortHandler();

       

       

                          uvcHandleReq = CyTrue;

                          /* Complete Control request handshake */

                          CyU3PUsbAckSetup();

                      }

                  }

              break;

      By not running the CyFxUVCApplnAbortHandler(); function.

       

      Can this be right?

       

      best regards

      Jesper Svanberg