[pvrusb2] Some MPEG-controls questions

Mike Isely isely at isely.net
Thu Feb 26 18:42:11 CST 2009


On Thu, 26 Feb 2009, Hans Verkuil wrote:

> On Thursday 26 February 2009 10:51:24 Carsten Meier wrote:
> > Hi again,
> >
> > now I'm allowing users to change all controls on a channel-switch,
> > including MPEG ones. (To make the filter-controls accessible) Is it save
> > to change e.g. V4L2_CID_MPEG_VIDEO_BITRATE_PEAK during streaming? If I
> > change it during streaming video to vlc through the sysfs-interface,
> > vlc crashes. But I don't know if this is due to a corrupted stream or
> > just a bug in vlc. Is it save to change even the stream type? Or should
> > I better stop and restart streaming on a channel-switch due to possible
> > stream-parameter changes?
> 
> Looking at the code pvrusb2 is supposed to remember the change but only 
> apply it the next time a capture is started. A lot of these properties 
> cannot be modified on the fly. I'm not entirely sure whether pvrusb2 takes 
> the correct approach by remembering the change for the next time. ivtv for 
> example just returns -EBUSY.
> 
> How pvrusb2 handles these requests when they come from the sysfs interface, 
> that's something Mike can answer.

The pvrusb2 driver reacts the same regardless of which interface 
originated the request.

Yes it always remembers.

However if the pvrusb2 driver determines that the change can't be safely 
made while streaming, the driver stops the stream, makes the change, 
then restarts the stream.  This is done without stopping any I/O 
operations in progress - beyond of course the fact that the app will see 
a slight pause while the change is being made and that the restarted 
stream might have new properties that the app might not be expecting, 
e.g. a different resolution, etc.

  -Mike

-- 

Mike Isely
isely @ pobox (dot) com
PGP: 03 54 43 4D 75 E5 CC 92 71 16 01 E2 B5 F5 C1 E8


More information about the pvrusb2 mailing list