Commit 9bf98321 authored by Mike Isely's avatar Mike Isely Committed by Mauro Carvalho Chehab

[media] pvrusb2: Handle change of mode before handling change of video standard

pvrusb2: Recognize and handle mode change before dealing with changes
related to the video standard.  Even though the video standard should
only matter when in analog mode, doing this way is technically cleaner
in case there's other stuff that might depend on both.
Signed-off-by: default avatarMike Isely <isely@pobox.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 2b74334d
...@@ -3165,6 +3165,19 @@ static int pvr2_hdw_commit_execute(struct pvr2_hdw *hdw) ...@@ -3165,6 +3165,19 @@ static int pvr2_hdw_commit_execute(struct pvr2_hdw *hdw)
struct pvr2_ctrl *cptr; struct pvr2_ctrl *cptr;
int disruptive_change; int disruptive_change;
if (hdw->input_dirty && hdw->state_pathway_ok &&
(((hdw->input_val == PVR2_CVAL_INPUT_DTV) ?
PVR2_PATHWAY_DIGITAL : PVR2_PATHWAY_ANALOG) !=
hdw->pathway_state)) {
/* Change of mode being asked for... */
hdw->state_pathway_ok = 0;
trace_stbit("state_pathway_ok", hdw->state_pathway_ok);
}
if (!hdw->state_pathway_ok) {
/* Can't commit anything until pathway is ok. */
return 0;
}
/* Handle some required side effects when the video standard is /* Handle some required side effects when the video standard is
changed.... */ changed.... */
if (hdw->std_dirty) { if (hdw->std_dirty) {
...@@ -3199,18 +3212,6 @@ static int pvr2_hdw_commit_execute(struct pvr2_hdw *hdw) ...@@ -3199,18 +3212,6 @@ static int pvr2_hdw_commit_execute(struct pvr2_hdw *hdw)
} }
} }
if (hdw->input_dirty && hdw->state_pathway_ok &&
(((hdw->input_val == PVR2_CVAL_INPUT_DTV) ?
PVR2_PATHWAY_DIGITAL : PVR2_PATHWAY_ANALOG) !=
hdw->pathway_state)) {
/* Change of mode being asked for... */
hdw->state_pathway_ok = 0;
trace_stbit("state_pathway_ok",hdw->state_pathway_ok);
}
if (!hdw->state_pathway_ok) {
/* Can't commit anything until pathway is ok. */
return 0;
}
/* The broadcast decoder can only scale down, so if /* The broadcast decoder can only scale down, so if
* res_*_dirty && crop window < output format ==> enlarge crop. * res_*_dirty && crop window < output format ==> enlarge crop.
* *
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment