> > As John also mentioned, the startup delay is caused by the driver > filling the internal buffers with enough data to begin feeding the > decoder. Unrelated to the stop problem.
Are you really sure that there _is_ a stop problem? As far as I can there is no delay between stopping the decoder and doing the next step (IVTV_IOC_S_START_DECODE) : Jun 11 17:03:37 linvdr user.info kernel: ivtv0 ioctl: IVTV_IOC_STOP_DECODE Jun 11 17:03:37 linvdr user.info kernel: ivtv0 ioctl: v4l2 ioctl 0x4008402a Jun 11 17:03:37 linvdr user.info kernel: ivtv0 ioctl: IVTV_IOC_S_START_DECODE Jun 11 17:03:37 linvdr user.info kernel: ivtv0 ioctl: v4l2 ioctl 0x00004025 Jun 11 17:03:37 linvdr user.info kernel: ivtv0 ioctl: IVTV_IOC_PLAY > > Another thought: why DO you need to stop/start the decoder while > switching channels? There is no need to do that as far as I can see. > This way you are always stuck with having to fill up the internal > buffers again when you start the decoder. hm... I am not sure how to do this with ioctl commands. In the past, the plugin used fwapi call 0x02 (IVTV_API_DEC_STOP_PLAYBACK) "Ends playback and clears all decoder buffers." This worked very fast - with exactly the same code to start decoding. Is there any ioctl command which does the same as IVTV_API_DEC_STOP_PLAYBACK ? I thought it was IVTV_IOC_STOP_DECODE, but apparently it does a lot more. Is there also an _encoder_buffer which IVTV_IOC_STOP_DECODE clears? Could this be the problem, when I switch to a channel from a DVB card ? In this case the encoder maybe gets no data ? by the way: what`s the difference between IVTV_IOC_STOP_DECODE / IVTV_IOC_S_STOP_DECODE and IVTV_IOC_START_DECODE/ IVTV_IOC_S_START_DECODE ? _______________________________________________ ivtv-devel mailing list [email protected] http://ivtvdriver.org/mailman/listinfo/ivtv-devel
