aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/pvrusb2/pvrusb2-encoder.c
diff options
context:
space:
mode:
authorMike Isely <isely@pobox.com>2008-04-06 03:04:35 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-04-24 13:09:48 -0400
commitd913d6303072ca194919d851e6743ad8c3a7563d (patch)
tree95a36be460fa3de7f1be646a85bf8cb08edb2f85 /drivers/media/video/pvrusb2/pvrusb2-encoder.c
parent72998b71096e364002269a8cacc0524937d479c6 (diff)
V4L/DVB (7710): pvrusb2: Implement critical digital streaming quirk for onair devices
Implement timed measurement of encoder operation for the first time it is run. This allows the driver to note when the encoder has been run successfully for at least 1/4 second. On top of that implement various bits to ensure that the encoder has been run once before digital streaming for OnAir devices. This is done via several core state machine tweaks. Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/pvrusb2/pvrusb2-encoder.c')
-rw-r--r--drivers/media/video/pvrusb2/pvrusb2-encoder.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/media/video/pvrusb2/pvrusb2-encoder.c b/drivers/media/video/pvrusb2/pvrusb2-encoder.c
index 324d1bd8500d..c46d367f7472 100644
--- a/drivers/media/video/pvrusb2/pvrusb2-encoder.c
+++ b/drivers/media/video/pvrusb2/pvrusb2-encoder.c
@@ -278,11 +278,20 @@ static int pvr2_encoder_cmd(void *ctxt,
278 ret = -EBUSY; 278 ret = -EBUSY;
279 } 279 }
280 if (ret) { 280 if (ret) {
281 del_timer_sync(&hdw->encoder_run_timer);
281 hdw->state_encoder_ok = 0; 282 hdw->state_encoder_ok = 0;
282 pvr2_trace(PVR2_TRACE_STBITS, 283 pvr2_trace(PVR2_TRACE_STBITS,
283 "State bit %s <-- %s", 284 "State bit %s <-- %s",
284 "state_encoder_ok", 285 "state_encoder_ok",
285 (hdw->state_encoder_ok ? "true" : "false")); 286 (hdw->state_encoder_ok ? "true" : "false"));
287 if (hdw->state_encoder_runok) {
288 hdw->state_encoder_runok = 0;
289 pvr2_trace(PVR2_TRACE_STBITS,
290 "State bit %s <-- %s",
291 "state_encoder_runok",
292 (hdw->state_encoder_runok ?
293 "true" : "false"));
294 }
286 pvr2_trace( 295 pvr2_trace(
287 PVR2_TRACE_ERROR_LEGS, 296 PVR2_TRACE_ERROR_LEGS,
288 "Giving up on command." 297 "Giving up on command."