public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
* [linux-dvb] hvr 1300 mpeg sound / video issues + patches
@ 2008-09-17 10:27 Frederic CAND
  0 siblings, 0 replies; only message in thread
From: Frederic CAND @ 2008-09-17 10:27 UTC (permalink / raw)
  To: Linux DVB Mailing List

[-- Attachment #1: Type: text/plain, Size: 2061 bytes --]

Dear all,

I'm experiencing an issue I had experienced previously which I though I 
got rid of but in fact no.
The issue is :

I tune the card through the [v4l] device (open/ioctls/close), then read 
the mpeg PS through the [mpeg] device. This is working.
But closing the mpeg device, retuning the [v4l] device 
(open/ioctls/close) the reopening for read the [mpeg] device will yield 
in raspy sound and/or blinking black banner on the top of the video 
frames ...

I'm using a 2.6.22.19 kernel
I'm using a quite fresh v4l-dvb snapshot (rev e5ca4534b543 of September 
9th, changeset 8963)
I'm using v4l-cx2341x-enc.fw which md5sum is 
9b39b3d3bba1ce2da40f82ef0c50ef48 from 
http://ivtvdriver.org/index.php/Firmware

By the way the mpeg was not providing anything (i.e only I/O errors) 
when selecting the analog tv tuner input so I took some time looking for 
a snapshot with tuner working and I came up with the attached 
hvr-1300-tuner-fix.patch patch file.
I don't get why but this is simply a diff between rev b7bb2b116cbb 
(changeset 7442) and its child rev 13244661a8df (changset 7483) and it 
worked for me (7442 had tuner working, 7483 had not). Applying this 
patch on recent snapshots make the analog tuner work for me ... so if 
anyone can check if it's ok or if I missed an important point ...

Another thing : the way I work with the [mpeg] device was polling the 
device, then read from it if any data is available. But the [mpeg] is 
not providing anything until a read call has initiated the codec (i.e a 
call to blackbird_start_codec). So I came up with the attached 
cx88-blackbird-poll-fix.patch patch file.
Thus, anyone willing to have a generic implementation of timeout polling 
before trying to read the device would be glad to be able to.

So if anyone has an understanding of my first issue (raspy sound / 
blinkg black banner on top of the video after some retuning function 
calls), can reproduce it, and / or has an idea on how to fix this, help 
would be greatly appreciated !

Greetings


-- 
CAND Frederic
Product Manager
ANEVIA

[-- Attachment #2: hvr-1300-tuner-fix.patch --]
[-- Type: text/plain, Size: 1754 bytes --]

--- linux/drivers/media/common/tuners/tuner-types.c	2008-09-08 21:42:40.000000000 +0200
+++ linux/drivers/media/common/tuners/tuner-types.c	2008-09-16 10:55:28.000000000 +0200
@@ -1480,6 +1480,7 @@ struct tunertype tuners[] = {
 		.min    = 16 *  57.00,
 		.max    = 16 * 858.00,
 		.stepsize = 62500,
+		.initdata = tua603x_agc103,
 	},
 
 	/* 50-59 */
@@ -1494,12 +1495,15 @@ struct tunertype tuners[] = {
 		.count  = ARRAY_SIZE(tuner_philips_fm1256_ih3_params),
 	},
 	[TUNER_THOMSON_DTT7610] = { /* THOMSON ATSC */
+		.initdata = tua603x_agc112,
+		.sleepdata = (u8[]){ 4, 0x9c, 0x60, 0x85, 0x54 },
 		.name   = "Thomson DTT 7610 (ATSC/NTSC)",
 		.params = tuner_thomson_dtt7610_params,
 		.count  = ARRAY_SIZE(tuner_thomson_dtt7610_params),
 		.min    = 16 *  44.00,
 		.max    = 16 * 958.00,
 		.stepsize = 62500,
+		.initdata = tua603x_agc103,
 	},
 	[TUNER_PHILIPS_FQ1286] = { /* Philips NTSC */
 		.name   = "Philips FQ1286",
@@ -1544,7 +1548,6 @@ struct tunertype tuners[] = {
 		.min    = 16 *  57.00,
 		.max    = 16 * 863.00,
 		.stepsize = 62500,
-		.initdata = tua603x_agc103,
 	},
 	[TUNER_TENA_9533_DI] = { /* Philips PAL */
 		.name   = "Tena TNF9533-D/IF/TNF9533-B/DF",
@@ -1562,8 +1565,6 @@ struct tunertype tuners[] = {
 		.min = 16 *  50.87,
 		.max = 16 * 858.00,
 		.stepsize = 166667,
-		.initdata = tua603x_agc112,
-		.sleepdata = (u8[]){ 4, 0x9c, 0x60, 0x85, 0x54 },
 	},
 	[TUNER_LG_TDVS_H06XF] = { /* LGINNOTEK ATSC */
 		.name   = "LG TDVS-H06xF", /* H061F, H062F & H064F */
@@ -1572,7 +1573,6 @@ struct tunertype tuners[] = {
 		.min    = 16 *  54.00,
 		.max    = 16 * 863.00,
 		.stepsize = 62500,
-		.initdata = tua603x_agc103,
 	},
 	[TUNER_YMEC_TVF66T5_B_DFF] = { /* Philips PAL */
 		.name   = "Ymec TVF66T5-B/DFF",

[-- Attachment #3: cx88-blackbird-poll-fix.patch --]
[-- Type: text/plain, Size: 488 bytes --]

--- linux/drivers/media/video/cx88/cx88-blackbird.c	2008-09-16 17:05:51.000000000 +0200
+++ linux/drivers/media/video/cx88/cx88-blackbird.c	2008-09-16 16:58:57.000000000 +0200
@@ -1177,6 +1177,10 @@ static unsigned int
 mpeg_poll(struct file *file, struct poll_table_struct *wait)
 {
 	struct cx8802_fh *fh = file->private_data;
+	struct cx8802_dev *dev = fh->dev;
+
+	if (!dev->mpeg_active)
+		blackbird_start_codec(file, fh);
 
 	return videobuf_poll_stream(file, &fh->mpegq, wait);
 }

[-- Attachment #4: Type: text/plain, Size: 150 bytes --]

_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2008-09-17 10:27 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-17 10:27 [linux-dvb] hvr 1300 mpeg sound / video issues + patches Frederic CAND

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox