mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-09-08 13:18:52 +00:00
gst-libs/gst/tuner/tunerchannel.h: - add a freq_multiplicator field to make the conversion between internal frequency...
Original commit message from CVS: * gst-libs/gst/tuner/tunerchannel.h: - add a freq_multiplicator field to make the conversion between internal frequency unit and Hz * sys/v4l/gstv4lelement.c: * sys/v4l2/gstv4l2element.c: - change default video device to /dev/video0 * sys/v4l/v4l_calls.c: * sys/v4l2/v4l2_calls.c: - we only expose frequency to the user in Hz instead of bastard v4lX unit (either 62.5kHz or 62.5Hz)
This commit is contained in:
parent
661919ceb1
commit
51dffab842
3 changed files with 27 additions and 6 deletions
13
ChangeLog
13
ChangeLog
|
@ -1,3 +1,16 @@
|
||||||
|
2004-05-31 Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
|
||||||
|
|
||||||
|
* gst-libs/gst/tuner/tunerchannel.h:
|
||||||
|
- add a freq_multiplicator field to make the conversion
|
||||||
|
between internal frequency unit and Hz
|
||||||
|
* sys/v4l/gstv4lelement.c:
|
||||||
|
* sys/v4l2/gstv4l2element.c:
|
||||||
|
- change default video device to /dev/video0
|
||||||
|
* sys/v4l/v4l_calls.c:
|
||||||
|
* sys/v4l2/v4l2_calls.c:
|
||||||
|
- we only expose frequency to the user in Hz instead of
|
||||||
|
bastard v4lX unit (either 62.5kHz or 62.5Hz)
|
||||||
|
|
||||||
2004-05-31 Jan Schmidt <thaytan@mad.scientist.com>
|
2004-05-31 Jan Schmidt <thaytan@mad.scientist.com>
|
||||||
* ext/vorbis/vorbisdec.c: (vorbis_dec_chain):
|
* ext/vorbis/vorbisdec.c: (vorbis_dec_chain):
|
||||||
Initialise b_o_s and e_o_s variables
|
Initialise b_o_s and e_o_s variables
|
||||||
|
|
|
@ -383,7 +383,7 @@ gst_v4l2element_class_init (GstV4l2ElementClass * klass)
|
||||||
"input/output to switch to", NULL, G_PARAM_READWRITE));
|
"input/output to switch to", NULL, G_PARAM_READWRITE));
|
||||||
g_object_class_install_property (gobject_class, ARG_FREQUENCY,
|
g_object_class_install_property (gobject_class, ARG_FREQUENCY,
|
||||||
g_param_spec_ulong ("frequency", "frequency",
|
g_param_spec_ulong ("frequency", "frequency",
|
||||||
"frequency to tune to", 0, G_MAXULONG, 0, G_PARAM_READWRITE));
|
"frequency to tune to (in Hz)", 0, G_MAXULONG, 0, G_PARAM_READWRITE));
|
||||||
|
|
||||||
/* signals */
|
/* signals */
|
||||||
gst_v4l2element_signals[SIGNAL_OPEN] =
|
gst_v4l2element_signals[SIGNAL_OPEN] =
|
||||||
|
@ -411,7 +411,7 @@ gst_v4l2element_init (GstV4l2Element * v4l2element)
|
||||||
/* some default values */
|
/* some default values */
|
||||||
v4l2element->video_fd = -1;
|
v4l2element->video_fd = -1;
|
||||||
v4l2element->buffer = NULL;
|
v4l2element->buffer = NULL;
|
||||||
v4l2element->device = g_strdup ("/dev/video");
|
v4l2element->device = g_strdup ("/dev/video0");
|
||||||
v4l2element->display = g_strdup (g_getenv ("DISPLAY"));
|
v4l2element->display = g_strdup (g_getenv ("DISPLAY"));
|
||||||
|
|
||||||
v4l2element->channels = NULL;
|
v4l2element->channels = NULL;
|
||||||
|
|
|
@ -123,8 +123,10 @@ gst_v4l2_fill_lists (GstV4l2Element * v4l2element)
|
||||||
g_object_unref (G_OBJECT (channel));
|
g_object_unref (G_OBJECT (channel));
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
channel->min_frequency = vtun.rangelow;
|
channel->freq_multiplicator =
|
||||||
channel->max_frequency = vtun.rangehigh;
|
62.5 * ((vtun.capability & V4L2_TUNER_CAP_LOW) ? 1 : 1000);
|
||||||
|
channel->min_frequency = vtun.rangelow * channel->freq_multiplicator;
|
||||||
|
channel->max_frequency = vtun.rangehigh * channel->freq_multiplicator;
|
||||||
channel->min_signal = 0;
|
channel->min_signal = 0;
|
||||||
channel->max_signal = 0xffff;
|
channel->max_signal = 0xffff;
|
||||||
}
|
}
|
||||||
|
@ -620,10 +622,13 @@ gst_v4l2_get_frequency (GstV4l2Element * v4l2element,
|
||||||
gint tunernum, gulong * frequency)
|
gint tunernum, gulong * frequency)
|
||||||
{
|
{
|
||||||
struct v4l2_frequency freq;
|
struct v4l2_frequency freq;
|
||||||
|
GstTunerChannel *channel;
|
||||||
|
|
||||||
DEBUG ("getting current tuner frequency");
|
DEBUG ("getting current tuner frequency");
|
||||||
GST_V4L2_CHECK_OPEN (v4l2element);
|
GST_V4L2_CHECK_OPEN (v4l2element);
|
||||||
|
|
||||||
|
channel = gst_tuner_get_channel (GST_TUNER (v4l2element));
|
||||||
|
|
||||||
freq.tuner = tunernum;
|
freq.tuner = tunernum;
|
||||||
if (ioctl (v4l2element->video_fd, VIDIOC_G_FREQUENCY, &freq) < 0) {
|
if (ioctl (v4l2element->video_fd, VIDIOC_G_FREQUENCY, &freq) < 0) {
|
||||||
GST_ELEMENT_ERROR (v4l2element, RESOURCE, SETTINGS, (NULL),
|
GST_ELEMENT_ERROR (v4l2element, RESOURCE, SETTINGS, (NULL),
|
||||||
|
@ -632,7 +637,7 @@ gst_v4l2_get_frequency (GstV4l2Element * v4l2element,
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
*frequency = freq.frequency;
|
*frequency = freq.frequency * channel->freq_multiplicator;
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
@ -649,15 +654,18 @@ gst_v4l2_set_frequency (GstV4l2Element * v4l2element,
|
||||||
gint tunernum, gulong frequency)
|
gint tunernum, gulong frequency)
|
||||||
{
|
{
|
||||||
struct v4l2_frequency freq;
|
struct v4l2_frequency freq;
|
||||||
|
GstTunerChannel *channel;
|
||||||
|
|
||||||
DEBUG ("setting current tuner frequency to %lu", frequency);
|
DEBUG ("setting current tuner frequency to %lu", frequency);
|
||||||
GST_V4L2_CHECK_OPEN (v4l2element);
|
GST_V4L2_CHECK_OPEN (v4l2element);
|
||||||
GST_V4L2_CHECK_NOT_ACTIVE (v4l2element);
|
GST_V4L2_CHECK_NOT_ACTIVE (v4l2element);
|
||||||
|
|
||||||
|
channel = gst_tuner_get_channel (GST_TUNER (v4l2element));
|
||||||
|
|
||||||
freq.tuner = tunernum;
|
freq.tuner = tunernum;
|
||||||
/* fill in type - ignore error */
|
/* fill in type - ignore error */
|
||||||
ioctl (v4l2element->video_fd, VIDIOC_G_FREQUENCY, &freq);
|
ioctl (v4l2element->video_fd, VIDIOC_G_FREQUENCY, &freq);
|
||||||
freq.frequency = frequency;
|
freq.frequency = frequency / channel->freq_multiplicator;
|
||||||
|
|
||||||
if (ioctl (v4l2element->video_fd, VIDIOC_S_FREQUENCY, &freq) < 0) {
|
if (ioctl (v4l2element->video_fd, VIDIOC_S_FREQUENCY, &freq) < 0) {
|
||||||
GST_ELEMENT_ERROR (v4l2element, RESOURCE, SETTINGS, (NULL),
|
GST_ELEMENT_ERROR (v4l2element, RESOURCE, SETTINGS, (NULL),
|
||||||
|
|
Loading…
Reference in a new issue