All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Frank Schäfer" <fschaefer.oss@googlemail.com>
To: Hans Verkuil <hverkuil@xs4all.nl>
Cc: Mauro Carvalho Chehab <mchehab@redhat.com>,
	Linux Media Mailing List <linux-media@vger.kernel.org>
Subject: Re: [RFC PATCH 2/2] bttv: fix audio mute on device close for the radio device node
Date: Sun, 10 Mar 2013 14:47:48 +0100	[thread overview]
Message-ID: <513C8F04.70809@googlemail.com> (raw)
In-Reply-To: <201303101259.42692.hverkuil@xs4all.nl>

Am 10.03.2013 12:59, schrieb Hans Verkuil:
> On Sun March 10 2013 12:40:35 Frank Schäfer wrote:
>> Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
>> ---
>>  drivers/media/pci/bt8xx/bttv-driver.c |    5 ++++-
>>  1 Datei geändert, 4 Zeilen hinzugefügt(+), 1 Zeile entfernt(-)
>>
>> diff --git a/drivers/media/pci/bt8xx/bttv-driver.c b/drivers/media/pci/bt8xx/bttv-driver.c
>> index 2c09bc5..74977f7 100644
>> --- a/drivers/media/pci/bt8xx/bttv-driver.c
>> +++ b/drivers/media/pci/bt8xx/bttv-driver.c
>> @@ -3227,6 +3227,7 @@ static int radio_open(struct file *file)
>>  	v4l2_fh_init(&fh->fh, vdev);
>>  
>>  	btv->radio_user++;
>> +	audio_mute(btv, btv->mute);
>>  
>>  	v4l2_fh_add(&fh->fh);
>>  
>> @@ -3248,8 +3249,10 @@ static int radio_release(struct file *file)
>>  
>>  	bttv_call_all(btv, core, ioctl, SAA6588_CMD_CLOSE, &cmd);
>>  
>> -	if (btv->radio_user == 0)
>> +	if (btv->radio_user == 0) {
>>  		btv->has_radio_tuner = 0;
>> +		audio_mute(btv, 1);
>> +	}
>>  	return 0;
>>  }
>>  
>>
> Sorry, but this isn't right.
>
> You should be able to just set the radio to a frequency and then exit. Since
> most cards have an audio out that loops to an audio input you don't want to
> have to keep the radio device open.

Ok, so I will drop this patch.

AFAICS the above said also applies to the video device part, so it's
still not clear to me why both devices should be handled differently.
Anyway, I will regard it as a kind of "tradition".

>
> Audio should be muted when the module is unloaded, though.
>
> The relationship between TV and radio tuners was discussed last year. The
> following proposal was accepted:
>
> ------- start -----------
> How to handle tuner ownership if both a video and radio node share the same
> tuner?
>
> Calling S_FREQ, S_TUNER, S_MODULATOR or S_HW_FREQ_SEEK will make the filehandle
> the owner if possible. EBUSY is returned if someone else owns the tuner and you
> would need to switch the tuner mode.
>
> Ditto for ioctls that expect a valid tuner configuration like QUERYSTD. This is
> likely to be driver dependent, though. Just opening a device node should not
> switch ownership.
>
> G_FREQUENCY: should just return the last set frequency for radio or TV: requires
> that that is remembered when switching ownership. This is what happens today, so
> G_FREQUENCY does not have to switch ownership.
>
> G_TUNER: the rxsubchans, signal and afc fields all require ownership of the tuner.
> So in principle you would want to switch ownership when G_TUNER is called. On the
> other hand, that would mean that calling v4l2-ctl --all -d /dev/radio0 would change
> tuner ownership to radio for /dev/video0. That's rather unexpected.
>
> So just set rxsubchans, signal and afc to 0 if the device node doesn't own the tuner.
>
> Closing a device node should not switch ownership. E.g. if nobody has a radio device
> open, should the tuner switch back to TV mode automatically? The answer is that it
> shouldn't.
>
> How about hybrid tuners? The code to handle tuner ownership should be shared between
> DVB and V4L2.
> ----------- end --------------
>
> All very nice, but nobody had the chance to actually work on this.
>
> But this is how it should work.

Interesting, thanks !

Regards,
Frank

>
> Regards,
>
> 	Hans


  reply	other threads:[~2013-03-10 13:47 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-10 11:40 [RFC PATCH 1/2] bttv: fix audio mute on device close for the video device node Frank Schäfer
2013-03-10 11:40 ` [RFC PATCH 2/2] bttv: fix audio mute on device close for the radio " Frank Schäfer
2013-03-10 11:45   ` Frank Schäfer
2013-03-10 11:59   ` Hans Verkuil
2013-03-10 13:47     ` Frank Schäfer [this message]
2013-03-10 13:56       ` Hans Verkuil
2013-03-10 21:49         ` Frank Schäfer
2013-03-10 22:45           ` Hans Verkuil
2013-03-10 13:58       ` Mauro Carvalho Chehab
2013-03-10 11:43 ` [RFC PATCH 1/2] bttv: fix audio mute on device close for the video " Frank Schäfer
2013-03-10 12:00 ` Hans Verkuil
2013-03-10 13:56   ` Frank Schäfer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=513C8F04.70809@googlemail.com \
    --to=fschaefer.oss@googlemail.com \
    --cc=hverkuil@xs4all.nl \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.