mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-19 18:24:14 +08:00
V4L/DVB (4372): Clean up some post mpeg-controls issues in pvrusb2
Fix a few miscellaneous issues in the pvrusb2 driver related to use of the new mpeg controls. This also should fix problems involving update of the saa7115 / cx25840 configuration as control changes are made. Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
parent
1ddf5bc547
commit
434449f4c8
@ -40,32 +40,6 @@
|
||||
#include "pvrusb2-io.h"
|
||||
#include <media/cx2341x.h>
|
||||
|
||||
/* Legal values for the SRATE state variable */
|
||||
#define PVR2_CVAL_SRATE_48 0
|
||||
#define PVR2_CVAL_SRATE_44_1 1
|
||||
|
||||
/* Legal values for the AUDIOBITRATE state variable */
|
||||
#define PVR2_CVAL_AUDIOBITRATE_384 0
|
||||
#define PVR2_CVAL_AUDIOBITRATE_320 1
|
||||
#define PVR2_CVAL_AUDIOBITRATE_256 2
|
||||
#define PVR2_CVAL_AUDIOBITRATE_224 3
|
||||
#define PVR2_CVAL_AUDIOBITRATE_192 4
|
||||
#define PVR2_CVAL_AUDIOBITRATE_160 5
|
||||
#define PVR2_CVAL_AUDIOBITRATE_128 6
|
||||
#define PVR2_CVAL_AUDIOBITRATE_112 7
|
||||
#define PVR2_CVAL_AUDIOBITRATE_96 8
|
||||
#define PVR2_CVAL_AUDIOBITRATE_80 9
|
||||
#define PVR2_CVAL_AUDIOBITRATE_64 10
|
||||
#define PVR2_CVAL_AUDIOBITRATE_56 11
|
||||
#define PVR2_CVAL_AUDIOBITRATE_48 12
|
||||
#define PVR2_CVAL_AUDIOBITRATE_32 13
|
||||
#define PVR2_CVAL_AUDIOBITRATE_VBR 14
|
||||
|
||||
/* Legal values for the AUDIOEMPHASIS state variable */
|
||||
#define PVR2_CVAL_AUDIOEMPHASIS_NONE 0
|
||||
#define PVR2_CVAL_AUDIOEMPHASIS_50_15 1
|
||||
#define PVR2_CVAL_AUDIOEMPHASIS_CCITT 2
|
||||
|
||||
/* Legal values for PVR2_CID_HSM */
|
||||
#define PVR2_CVAL_HSM_FAIL 0
|
||||
#define PVR2_CVAL_HSM_FULL 1
|
||||
|
@ -221,11 +221,12 @@ static const struct pvr2_mpeg_ids mpeg_ids[] = {
|
||||
};
|
||||
#define MPEGDEF_COUNT (sizeof(mpeg_ids)/sizeof(mpeg_ids[0]))
|
||||
|
||||
static const char *control_values_srate[] = {
|
||||
[PVR2_CVAL_SRATE_48] = "48KHz",
|
||||
[PVR2_CVAL_SRATE_44_1] = "44.1KHz",
|
||||
};
|
||||
|
||||
static const char *control_values_srate[] = {
|
||||
[V4L2_MPEG_AUDIO_SAMPLING_FREQ_44100] = "44.1 kHz",
|
||||
[V4L2_MPEG_AUDIO_SAMPLING_FREQ_48000] = "48 kHz",
|
||||
[V4L2_MPEG_AUDIO_SAMPLING_FREQ_32000] = "32 kHz",
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -729,9 +730,9 @@ static const struct pvr2_ctl_info control_defs[] = {
|
||||
DEFINT(200,625),
|
||||
},{
|
||||
.v4l_id = V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ,
|
||||
.desc = "Sample rate",
|
||||
.default_value = V4L2_MPEG_AUDIO_SAMPLING_FREQ_48000,
|
||||
.desc = "Audio Sampling Frequency",
|
||||
.name = "srate",
|
||||
.default_value = PVR2_CVAL_SRATE_48,
|
||||
DEFREF(srate),
|
||||
DEFENUM(control_values_srate),
|
||||
},{
|
||||
@ -2237,11 +2238,14 @@ static int pvr2_hdw_commit_ctl_internal(struct pvr2_hdw *hdw)
|
||||
}
|
||||
|
||||
if (hdw->std_dirty ||
|
||||
hdw->enc_stale ||
|
||||
hdw->srate_dirty ||
|
||||
hdw->res_ver_dirty ||
|
||||
hdw->res_hor_dirty ||
|
||||
0) {
|
||||
/* If any of this changes, then the encoder needs to be
|
||||
reconfigured, and we need to reset the stream. */
|
||||
stale_subsys_mask |= (1<<PVR2_SUBSYS_B_ENC_CFG);
|
||||
stale_subsys_mask |= hdw->subsys_stream_mask;
|
||||
}
|
||||
|
||||
if (hdw->srate_dirty) {
|
||||
|
Loading…
Reference in New Issue
Block a user