Re: [RFC] vtunerc: virtual DVB device - is it ok to NACK driver because of worrying about possible misusage?

2011-12-06 Thread HoP
Hi Andreas

[...]

>>> You don't need to wait for write-only operations. Basically all demux
>>> ioctls are write-only. Since vtunerc is using dvb-core's software demux
>>> *locally*, errors for invalid arguments etc. will be returned as usual.
>>>
>>> What's left is one call to FE_SET_FRONTEND for each frequency to tune
>>> to, and one FE_READ_STATUS for each time the lock status is queried.
>>> Note that one may use FE_GET_EVENT instead of FE_READ_STATUS to get
>>> notified of status changes asynchronously if desired.
>>>
>>> Btw.: FE_SET_FRONTEND doesn't block either, because the driver callback
>>> is called from a dvb_frontend's *local* kernel thread.
>>
>> Still, vtunerc waits for write operations:
>>
>> http://code.google.com/p/vtuner/source/browse/vtunerc_proxyfe.c?repo=linux-driver#285
>>
>> No matter if they are read or write, all of them call this function:
>>
>> http://code.google.com/p/vtuner/source/browse/vtunerc_ctrldev.c?repo=linux-driver#390
>>
>> That has a wait_event inside that function, as everything is directed to
>> the userspace.
>
> Please, stop writing such bullshit! Just before the call to wait_event
> there's code to return from the function if waiting has not been requested.
>
>> This is probably the way Florian found to return the errors returned by
>> the ioctls. This driver is synchronous, with simplifies it, at the lack of
>> performance.
>
> The fix is easy: set the third parameter to 0. A DVB application doesn't
> need to know whether SET_VOLTAGE etc. succeeded or not, because it won't
> get any feedback from the switch. If tuning fails, it has to retry
> anyway, even if all ioctls returned 0.
>
>> Ok, the driver could be smarter than that, and some heuristics could be
>> added into it, in order to foresee the likely error code, returning it
>> in advance, and then implementing some asynchronous mechanism that would
>> handle the error later, but that would be complex and may still introduce
>> some bad behaviors.
>
> There's no need to handle errors that don't occur.
>
> Nobody said that the implementation of vtunerc was perfect. I've already
> listed many things that need to be changed in order to even consider it
> for merging.

Exactly that was an intention for my first RFC - to get driver reviewed by
kernel hackers and enhance/fixe it to prepare it for merging.

I'm going to address all your findings during Xmass, so hopefully I will
spam here again after New Year :-)

I very appreciate your POV which helped me stay remembering
it is not way to the wall.

Thanks

Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC] vtunerc: virtual DVB device - is it ok to NACK driver because of worrying about possible misusage?

2011-12-05 Thread HoP
Hi Michael

2011/12/5 Michael Krufky :
> On Mon, Dec 5, 2011 at 9:28 AM, HoP  wrote:
>> Hi
>>
>> 2011/12/5 Florian Fainelli :
>>> Hello,
>>>
>>>
>>> On 12/03/11 01:37, HoP wrote:
>>>>
>>>> Hi Alan.
>>>>
>>>> 2011/12/3 Alan Cox:
>>>>>
>>>>> On Thu, 1 Dec 2011 15:58:41 +0100
>>>>> HoP  wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> let me ask you some details of your interesting idea (how to
>>>>>> achieve the same functionality as with vtunerc driver):
>>>>>>
>>>>>> [...]
>>>>>>
>>>>>>> The driver, as proposed, is not really a driver, as it doesn't support
>>>>>>> any
>>>>>>> hardware. The kernel driver would be used to just copy data from one
>>>>>>> userspace
>>>>>>
>>>>>>
>>>>>> Please stop learning me what can be called driver and what nope.
>>>>>> Your definition is nonsense and I don't want to follow you on it.
>>>>>
>>>>>
>>>>> You can stick your fingers in your ears and shout all you like but given
>>>>> Mauro is the maintainer I'd suggest you work with him rather than making
>>>>> it painful. One of the failures we routinely exclude code from the kernel
>>>>> for is best described as "user interface of contributor"
>>>>
>>>>
>>>> You may be not read all my mails but I really tried to be very positive in
>>>> them.
>>>> I wanted to focus on my Subject, but Mauro has, sometimes, the demand
>>>> to focus on insignificant things (like if the code is driver or not). At
>>>> least
>>>> it is my feeling from all those disscussions with him.
>>>>
>>>>>
>>>>> It's a loopback that adds a performance hit. The right way to do this is
>>>>> in userspace with the userspace infrastructure. At that point you can
>>>>> handle all the corner cases properly, integrate things like service
>>>>> discovery into your model and so on - stuff you'll never get to work that
>>>>> well with kernel loopback hackery.
>>>>>
>>>>>> Can you show me, how then can be reused most important part
>>>>>> of dvb-core subsystem like tuning and demuxing? Or do you want me
>>>>>> to invent wheels and to recode everything in the library? Of course
>>>>>
>>>>>
>>>>> You could certainly build a library from the same code. That might well
>>>>> be a good thing for all kinds of 'soft' DV applications. At that point
>>>>> the discussion to have is the best way to make that code sharable between
>>>>> a userspace library and the kernel and buildable for both.
>>>>>
>>>>>> I can be wrong, I'm no big kernel hacker. So please show me the
>>>>>> way for it. BTW, even if you can find the way, then data copying
>>>>>> from userspace to the kernel and back is also necessery. I really
>>>>>> don't see any advantage of you solution.
>>>>>
>>>>>
>>>>> In a properly built media subsystem you shouldn't need any copies beyond
>>>>> those that naturally occur as part of a processing pass and are therefore
>>>>> free.
>>>>
>>>>
>>>> I may describe project goal, in few sentences: We have small box, running
>>>> embedded linux with 2 satellite tuners on input and ethernet. Nothing
>>>> more.
>>>> We have designed the box for live sat TV/Radio reception, distributing
>>>> them
>>>> down to the network. One of the mode of working is "vtuner", what allows
>>>> reuse those tuners remotely on linux desktop. The kernel part is very
>>>> simple
>>>> code exposing kernel's dvb-core to the userspace. Userspace client/server
>>>> tools do all resource discovery and connection management. It works
>>>> nicely and guys with vdr who is using it are rather satisfied with it.
>>>> So, the main
>>>> goal of vtuner code is to fully virtualize remote DVB adapter. To any
>>>> linux dvb api
>>>> compatible applications and tools. The vtuner kernel code seems to be
>>>

Re: [RFC] vtunerc: virtual DVB device - is it ok to NACK driver because of worrying about possible misusage?

2011-12-05 Thread HoP
> I doubt that scan or w_scan would support it. Even if it supports, that
> would mean that,
> for each ioctl that would be sent to the remote server, the error code would
> take 480 ms
> to return. Try to calculate how many time w_scan would work with that. The
> calculus is easy:
> see how many ioctl's are called by each frequency and multiply by the number
> of frequencies
> that it would be seek. You should then add the delay introduced over
> streaming the data
> from the demux, using the same calculus. This is the additional time over a
> local w_scan.
>
> A grouch calculus with scandvb: to tune into a single DVB-C frequency, it
> used 45 ioctls.
> Each taking 480 ms round trip would mean an extra delay of 21.6 seconds.
> There are 155
> possible frequencies here. So, imagining that scan could deal with 21.6
> seconds of delay
> for each channel (with it doesn't), the extra delay added by it is 1 hour
> (45 * 0.48 * 155).
>
> On the other hand, a solution like the one described by Florian would
> introduce a delay of
> 480 ms for the entire scan to happen, as only one data packet would be
> needed to send a
> scan request, and one one stream of packets traveling at 10GB/s would bring
> the answer
> back.

Andreas was excited by your imaginations and calculations, but not me.
Now you again manifested you are not treating me as partner for discussion.
Otherwise you should try to understand how-that-ugly-hack works.
But you surelly didn't try to do it at all.

How do you find those 45 ioctls for DVB-C tune? I still see only one ioctl
FE_SET_FRONTEND or v5+ variant FE_SET_PROPERTY.

Sorry, but, for example, szap tunes very close to local variant:

# time szap -c channels.conf -x Ocko
reading channels from file 'channels.conf'
zapping to 15 'ocko':
sat 0, frequency = 12168 MHz V, symbolrate 2750, vpid = 0x00a0,
apid = 0x0050 sid = 0x1451
using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
status 1f | signal d410 | snr d380 | ber  | unc  | FE_HAS_LOCK
0.00user 0.00system 0:01.33elapsed 0%CPU (0avgtext+0avgdata 2000maxresident)k
0inputs+0outputs (0major+171minor)pagefaults 0swaps

Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC] vtunerc: virtual DVB device - is it ok to NACK driver because of worrying about possible misusage?

2011-12-05 Thread HoP
Hi

2011/12/5 Florian Fainelli :
> Hello,
>
>
> On 12/03/11 01:37, HoP wrote:
>>
>> Hi Alan.
>>
>> 2011/12/3 Alan Cox:
>>>
>>> On Thu, 1 Dec 2011 15:58:41 +0100
>>> HoP  wrote:
>>>
>>>> Hi,
>>>>
>>>> let me ask you some details of your interesting idea (how to
>>>> achieve the same functionality as with vtunerc driver):
>>>>
>>>> [...]
>>>>
>>>>> The driver, as proposed, is not really a driver, as it doesn't support
>>>>> any
>>>>> hardware. The kernel driver would be used to just copy data from one
>>>>> userspace
>>>>
>>>>
>>>> Please stop learning me what can be called driver and what nope.
>>>> Your definition is nonsense and I don't want to follow you on it.
>>>
>>>
>>> You can stick your fingers in your ears and shout all you like but given
>>> Mauro is the maintainer I'd suggest you work with him rather than making
>>> it painful. One of the failures we routinely exclude code from the kernel
>>> for is best described as "user interface of contributor"
>>
>>
>> You may be not read all my mails but I really tried to be very positive in
>> them.
>> I wanted to focus on my Subject, but Mauro has, sometimes, the demand
>> to focus on insignificant things (like if the code is driver or not). At
>> least
>> it is my feeling from all those disscussions with him.
>>
>>>
>>> It's a loopback that adds a performance hit. The right way to do this is
>>> in userspace with the userspace infrastructure. At that point you can
>>> handle all the corner cases properly, integrate things like service
>>> discovery into your model and so on - stuff you'll never get to work that
>>> well with kernel loopback hackery.
>>>
>>>> Can you show me, how then can be reused most important part
>>>> of dvb-core subsystem like tuning and demuxing? Or do you want me
>>>> to invent wheels and to recode everything in the library? Of course
>>>
>>>
>>> You could certainly build a library from the same code. That might well
>>> be a good thing for all kinds of 'soft' DV applications. At that point
>>> the discussion to have is the best way to make that code sharable between
>>> a userspace library and the kernel and buildable for both.
>>>
>>>> I can be wrong, I'm no big kernel hacker. So please show me the
>>>> way for it. BTW, even if you can find the way, then data copying
>>>> from userspace to the kernel and back is also necessery. I really
>>>> don't see any advantage of you solution.
>>>
>>>
>>> In a properly built media subsystem you shouldn't need any copies beyond
>>> those that naturally occur as part of a processing pass and are therefore
>>> free.
>>
>>
>> I may describe project goal, in few sentences: We have small box, running
>> embedded linux with 2 satellite tuners on input and ethernet. Nothing
>> more.
>> We have designed the box for live sat TV/Radio reception, distributing
>> them
>> down to the network. One of the mode of working is "vtuner", what allows
>> reuse those tuners remotely on linux desktop. The kernel part is very
>> simple
>> code exposing kernel's dvb-core to the userspace. Userspace client/server
>> tools do all resource discovery and connection management. It works
>> nicely and guys with vdr who is using it are rather satisfied with it.
>> So, the main
>> goal of vtuner code is to fully virtualize remote DVB adapter. To any
>> linux dvb api
>> compatible applications and tools. The vtuner kernel code seems to be
>> the simplest and straightforward way to achieve it.
>
>
> The company I work for also has something like this. We can attach a DVB
> tuner to either the Gateway or the STB we provide and use it indifferently ,
> except that we have the following architecture:
>
> - a DVB daemon controlling the physical DVB tuner and exposing methods for
> tuning/scanning/zapping
> - a web server and web services for accessing the DVB daemon methods
> - a RTSP streamer with associated methods for controlling streaming
>
> The software running on both devices is the same (one compiled for ARM, the
> other for x86).
>
> I do not see any problem with this solution, people wanting to get the
> stream can still get the RTSP stream directly joining the multicast gro

Re: [RFC] vtunerc: virtual DVB device - is it ok to NACK driver because of worrying about possible misusage?

2011-12-04 Thread HoP
>> Well, initial report was made on vdr-portal because of our hardware announce,
>> but you can be sure the same is true if server is build on any linux 
>> hardware.
>> Here is some note:
>> http://www.vdr-portal.de/board18-vdr-hardware/board84-allgemein/106610-das-neue-netzwerk-client-der-f%C3%BCr-vdr-verwenden-k%C3%B6nnen/?highlight=vtuner
>>
>> Additional info you can find (or ask) on our forum:
>> http://forum.nessiedvb.org/forum/viewforum.php?f=11
>>
>> Please note, that compilation of vtunerc kernel driver (or loopback, or 
>> pigback
>> or whatever name the code should be used) is simple - no need for any
>> kernel real patching is required. Code can be compiled outside of the
>> kernel tree
>> (of course kernel headers are still needed).
>>
>> Some useful hints regarding userland application daemons you
>> can find in our wiki:
>> http://wiki.nessiedvb.org/wiki/doku.php?id=vtuner_mode
>>
>> When you get vtunerc and vtunerd applications connected, try
>> simple command line tuning (szap/tzap or czap) to check
>> if it works correctly. Only if you get zapping working switch
>> to vdr.
>
> Thanks for the info and links. I do know many guys who would be
> interested in this if it can provide good server/client ability with
> VDR. However, a large number of us only speak english so places like
> vdr-portal aren't much use a lot of the time. If you have english
> forums somewhere, that link would be far more useful I think.

No problem. Simply ignore first URL. All others are english :-)

I would recommend start from how-it-works-diagram:
http://code.google.com/p/vtuner/wiki/BigPicture

and then have a look  at wiki. where you can some
step-by-step info.

Anyway, don't hesitate to ask any question in our forum
or write me directly.

Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC] vtunerc: virtual DVB device - is it ok to NACK driver because of worrying about possible misusage?

2011-12-04 Thread HoP
Hi,

> Some input from the sideline reading this discussion. As a FreeBSD'er I would
> very much like to see two things happen:
>
> - vtunerc goes into userspace like a client/server daemon pair using CUSE and
> can support _any_ /dev/dvb/adapter, also those created by CUSE itself. That
> means I could potentially use vtunerc in FreeBSD with drivers like cx88:

Vtuner already has userland client/server pair. The server application
is connecting to _any_ /dev/dvb/adapter device. Please look at small
picture here:
http://code.google.com/p/vtuner/wiki/BigPicture

That means the server part is using totally "clean" linux. Nothing more.

>
> http://corona.homeunix.net/cx88wiki
>
> - DVB-X solution in Linux gets mmap support to avoid endless copying of data
> between kernel and userspace.

Adding nmap support should be straightforward. I have it on my TODO.

Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC] vtunerc: virtual DVB device - is it ok to NACK driver because of worrying about possible misusage?

2011-12-04 Thread HoP
Devin,

I perfectly remember your opinion regarding vtuner.

2011/12/3 Devin Heitmueller :
> On Sat, Dec 3, 2011 at 12:42 PM, Alan Cox  wrote:
>> On Sat, 3 Dec 2011 09:21:23 -0800
>> VDR User  wrote:
>>
>>> On Sat, Dec 3, 2011 at 8:13 AM, Andreas Oberritter  wrote:
>>> > You could certainly build a library to reach a different goal. The goal
>>> > of vtuner is to access remote tuners with any existing program
>>> > implementing the DVB API.
>>>
>>> So you could finally use VDR as a server/client setup using vtuner,
>>> right? With full OSD, timer, etc? Yes, I'm aware that streamdev
>>> exists. It was horrible when I tried it last (a long time ago) and I
>>> understand it's gotten better. But it's not a suitable replacement for
>>> a real server/client setup. It sounds like using vtuner, this would
>>> finally be possible and since Klaus has no intention of ever
>>> modernizing VDR into server/client (that I'm aware of), it's also the
>>> only suitable option as well.
>>
>> I would expect it to still suck. One of the problems you have with trying
>> to pretend things are not networked is that you fake asynchronous events
>> synchronously, you can't properly cover error cases and as a result you
>> get things like ioctls that hang for two minutes or fail in bogus and
>> bizarre ways. If you loop via userspace you've also got to deal with
>> deadlocks and all sorts of horrible cornercases like the user space
>> daemon dying.
>>
>> There is a reason properly working client/server code looks different -
>> it's not a trivial transformation and faking it kernel side won't be any
>> better than faking it in user space - it may well even be a worse fake.
>>
>> Alan
>
> This whole notion of creating fake kernel devices to represent
> networked tuners feels like a hack.  If applications want to access
> networked tuners, adding support for RTP/RTSP or incorporating
> libhdhomerun (LGPL) is a fairly straightforward exercise.  In fact,
> many applications already have incorporated support for one of these
> two approaches.  The fact that app maintainers have been
> unwilling/uninterested to do such doesn't feel like it should be an
> excuse for hacking this functionality into the kernel.

Still the same nonsense - why I should add 10x or even 100 times more
code to achieve not the same but may be 80-90% same result?

The idea is hell simple = allow to use those remote tuners by
100% of dvb api compliant applications. Not 80%, but 100%.

Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC] vtunerc: virtual DVB device - is it ok to NACK driver because of worrying about possible misusage?

2011-12-04 Thread HoP
Hi.

2011/12/3 VDR User :
> On Sat, Dec 3, 2011 at 8:13 AM, Andreas Oberritter  wrote:
>> You could certainly build a library to reach a different goal. The goal
>> of vtuner is to access remote tuners with any existing program
>> implementing the DVB API.
>
> So you could finally use VDR as a server/client setup using vtuner,
> right? With full OSD, timer, etc? Yes, I'm aware that streamdev
> exists. It was horrible when I tried it last (a long time ago) and I
> understand it's gotten better. But it's not a suitable replacement for
> a real server/client setup. It sounds like using vtuner, this would
> finally be possible and since Klaus has no intention of ever
> modernizing VDR into server/client (that I'm aware of), it's also the
> only suitable option as well.
>
> Or am I wrong about anything?  If not, I know several users who would
> like to use this, myself included.

Well, initial report was made on vdr-portal because of our hardware announce,
but you can be sure the same is true if server is build on any linux hardware.
Here is some note:
http://www.vdr-portal.de/board18-vdr-hardware/board84-allgemein/106610-das-neue-netzwerk-client-der-f%C3%BCr-vdr-verwenden-k%C3%B6nnen/?highlight=vtuner

Additional info you can find (or ask) on our forum:
http://forum.nessiedvb.org/forum/viewforum.php?f=11

Please note, that compilation of vtunerc kernel driver (or loopback, or pigback
or whatever name the code should be used) is simple - no need for any
kernel real patching is required. Code can be compiled outside of the
kernel tree
(of course kernel headers are still needed).

Some useful hints regarding userland application daemons you
can find in our wiki:
http://wiki.nessiedvb.org/wiki/doku.php?id=vtuner_mode

When you get vtunerc and vtunerd applications connected, try
simple command line tuning (szap/tzap or czap) to check
if it works correctly. Only if you get zapping working switch
to vdr.

Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC] vtunerc: virtual DVB device - is it ok to NACK driver because of worrying about possible misusage?

2011-12-02 Thread HoP
Hi Alan.

2011/12/3 Alan Cox :
> On Thu, 1 Dec 2011 15:58:41 +0100
> HoP  wrote:
>
>> Hi,
>>
>> let me ask you some details of your interesting idea (how to
>> achieve the same functionality as with vtunerc driver):
>>
>> [...]
>>
>> > The driver, as proposed, is not really a driver, as it doesn't support any
>> > hardware. The kernel driver would be used to just copy data from one
>> > userspace
>>
>> Please stop learning me what can be called driver and what nope.
>> Your definition is nonsense and I don't want to follow you on it.
>
> You can stick your fingers in your ears and shout all you like but given
> Mauro is the maintainer I'd suggest you work with him rather than making
> it painful. One of the failures we routinely exclude code from the kernel
> for is best described as "user interface of contributor"

You may be not read all my mails but I really tried to be very positive in them.
I wanted to focus on my Subject, but Mauro has, sometimes, the demand
to focus on insignificant things (like if the code is driver or not). At least
it is my feeling from all those disscussions with him.

>
> It's a loopback that adds a performance hit. The right way to do this is
> in userspace with the userspace infrastructure. At that point you can
> handle all the corner cases properly, integrate things like service
> discovery into your model and so on - stuff you'll never get to work that
> well with kernel loopback hackery.
>
>> Can you show me, how then can be reused most important part
>> of dvb-core subsystem like tuning and demuxing? Or do you want me
>> to invent wheels and to recode everything in the library? Of course
>
> You could certainly build a library from the same code. That might well
> be a good thing for all kinds of 'soft' DV applications. At that point
> the discussion to have is the best way to make that code sharable between
> a userspace library and the kernel and buildable for both.
>
>> I can be wrong, I'm no big kernel hacker. So please show me the
>> way for it. BTW, even if you can find the way, then data copying
>> from userspace to the kernel and back is also necessery. I really
>> don't see any advantage of you solution.
>
> In a properly built media subsystem you shouldn't need any copies beyond
> those that naturally occur as part of a processing pass and are therefore
> free.

I may describe project goal, in few sentences: We have small box, running
embedded linux with 2 satellite tuners on input and ethernet. Nothing more.
We have designed the box for live sat TV/Radio reception, distributing them
down to the network. One of the mode of working is "vtuner", what allows
reuse those tuners remotely on linux desktop. The kernel part is very simple
code exposing kernel's dvb-core to the userspace. Userspace client/server
tools do all resource discovery and connection management. It works
nicely and guys with vdr who is using it are rather satisfied with it.
So, the main
goal of vtuner code is to fully virtualize remote DVB adapter. To any
linux dvb api
compatible applications and tools. The vtuner kernel code seems to be
the simplest and straightforward way to achieve it.

I still think the code is very similar to NBD (Network block device) what sits
in the kernel and is using silently. I guess NBD also do data copying
from/to user space. Is there something what I overlooked?

Can you show me the way (hint please) I can initiate TCP connection
from within kernel space? If I can do it, then the big disadvantage
of data passing to and from kernel can be removed.

I must say that the box is primary focused to the DLNA/UpnP world, so
vtuner feature is something like interesting addon only. But I was myself
very nice surprised how good it behaves on real installations and that
was reason I decided to try to get it included in kernel. I see that
in present there is no willingness for code acceptation, so I will continue
out of the kernel tree.

Anyway, if I can find the way how to start TCP connection from the kernel
part, I understand it can boost throughput very nicely up.

Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC] vtunerc: virtual DVB device - is it ok to NACK driver because of worrying about possible misusage?

2011-12-02 Thread HoP
[...]

>>> you failed to convince
>>> people
>>> why this can't be implemented on userspace,
>>
>> Wrong. You failed to convince people why this must be implemented in
>> userspace. Even Michael Krufky, who's "only" against merging it, likes
>> the idea, because it's useful.
>
> Sometimes, when I'm debugging a driver, I use to add several hacks inside
> the kernelspace, in order to do things that are useful on my development
> (debug printk's, dirty hacks, etc). I even have my own set of patches that
> I apply on kvm, in order to sniff PCI traffic. This doesn't mean that
> I should send all those crap upstream.

If you want to disscuss, please better use wordings. Even my Subject was
not about endless discussion that your userspace aproach is better
(me, Andreas and few others doesn't agree with you, it is your own POV,
nobody follows you, if you not noted) don't be so offensive regarding my code.
I don't thing it is so crap.

>
>> Just because something can be implemented in userspace doesn't mean that
>> it's technically superior.
>
> True, but I didn't see anything at the submitted code or at the discussions
> showing that implementing it in kernelspace is technically superior.
>
> What I'm seeing is what is coded there:
>
>        http://code.google.com/p/vtuner/
>
> The kernelspace part is just a piggyback driver, that just copies data
> from/to
> the dvb calls into another device, that sends the request back to userspace.
>
> A separate userspace daemon will get such results and send to the network
> stack:
>
>  http://code.google.com/p/vtuner/source/browse/vtuner-network.c?repo=apps
>
> This is technically inferior of letting the application just talk to vtuner
> directly via some library call.
>
> Btw, applications like vdr, vlc, kaffeine and others already implement their
> own ways to remotelly access the DVB devices without requiring any
> kernelspace piggyback driver.

This in not only about well-known "fatty" applications like vdr, kaffeine etc.
Using vtunerc allows to use any dvb api compatible tools. Like tools
from dvb-tools package (szap/dvbsnoop/...)

There is no more general way of having dvb adapter virtualized.

>
>>> the driver adds hooks at
>>> kernelspace
>>> that would open internal API's that several developers don't agree on
>>> exposing
>>> at userspace, as would allow non GPL license compatible drivers to re-use
>>> their work in a way they are against.
>>
>> What's left is your unreasonable GPL blah blah. So the answer to Honza's
>> question is: Yes, Mauro is nacking the driver because he's worrying
>> about possible misuse.

Well, yes. I feel the same what wrote Andreas. The only pity is that
nobody from outside linuxm-media need to comment that.

Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC] vtunerc: virtual DVB device - is it ok to NACK driver because of worrying about possible misusage?

2011-12-01 Thread HoP
2011/12/1 Mauro Carvalho Chehab :
> On 01-12-2011 12:58, HoP wrote:
>>
>> Hi,
>>
>> let me ask you some details of your interesting idea (how to
>> achieve the same functionality as with vtunerc driver):
>>
>> [...]
>>
>>> The driver, as proposed, is not really a driver, as it doesn't support
>>> any
>>> hardware. The kernel driver would be used to just copy data from one
>>> userspace
>>
>> Please stop learning me what can be called driver and what nope.
>> Your definition is nonsense and I don't want to follow you on it.
>>
>>> application to the other. The same result could be obtained in userspace,
>>> by implementing a library. Such library could even use LD_PRELOAD to
>>> support
>>> binary only applications, like what libv4l does. In terms of performance,
>>> such library would probably perform better than a kernel driver, as
>>> there's
>>> no need to do context switching for each call, and no need to talk with a
>>> device (where kernel outperforms userspace). Also, depending on how such
>>> library
>>> is implemented, double buffering might be avoided.
>>>
>>> So, from architectural POV, this code should be written as an userspace
>>> library.
>>> BTW, alsa also came with the same results, years ago, as audio remote
>>> streaming is supported via userspace tools, like pulseaudio.
>>
>> Can you show me, how then can be reused most important part
>> of dvb-core subsystem like tuning and demuxing?
>
> Why do you need to implement it? Just forward the requests to the machine
> with the real driver.
>
>> Or do you want me
>> to invent wheels and to recode everything in the library?
>
> Kernel code is GPLv2. You can use its code on a GPLv2 licensed library.

I see. So if you think it is nice to get dvb-core, make a wrapper around
to get it usable in userspace and maintain totally same functionality
by myself then I say it is no go. If it looks for you like good idea
I must disagree. Code duplication? Two maintaners? That is crazy idea man.

>
>> Of course
>> I can be wrong, I'm no big kernel hacker. So please show me the
>> way for it. BTW, even if you can find the way, then data copying
>> from userspace to the kernel and back is also necessery.
>
> See libv4l, at v4l2-utils.git (at linuxtv.org).
>
>> I really
>> don't see any advantage of you solution.
>
> And I can't see any advantage on yours ;) Putting something that belongs
> to userspace into kernelspace just because it is easier to re-use the
> existing code inside the kernel is not a good argument.

It is only your POV that it should be in userspace.

Creating additional code which not only enlarge code size by 2
but I think by 10 is really not good idea.  And it get no advantage
only disadvantages.

>
> Don't get me wrong but if you want to submit a code to be merged
> on any existing software (being open source or not), you should be
> prepared to defend your code and justify the need for it to the
> other developers.

Sure. I was prepared for technical disscussion, but was fully suprised
that it was not happend (ok, to be correct, few guys are exception, like
Andreas and few others. I really appreciate it).

So, my question was still not answered: "Can be driver NACKed only
because of worrying about possible misuse?"

Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC] vtunerc: virtual DVB device - is it ok to NACK driver because of worrying about possible misusage?

2011-12-01 Thread HoP
Hi,

let me ask you some details of your interesting idea (how to
achieve the same functionality as with vtunerc driver):

[...]

> The driver, as proposed, is not really a driver, as it doesn't support any
> hardware. The kernel driver would be used to just copy data from one
> userspace

Please stop learning me what can be called driver and what nope.
Your definition is nonsense and I don't want to follow you on it.

> application to the other. The same result could be obtained in userspace,
> by implementing a library. Such library could even use LD_PRELOAD to support
> binary only applications, like what libv4l does. In terms of performance,
> such library would probably perform better than a kernel driver, as there's
> no need to do context switching for each call, and no need to talk with a
> device (where kernel outperforms userspace). Also, depending on how such
> library
> is implemented, double buffering might be avoided.
>
> So, from architectural POV, this code should be written as an userspace
> library.
> BTW, alsa also came with the same results, years ago, as audio remote
> streaming is supported via userspace tools, like pulseaudio.

Can you show me, how then can be reused most important part
of dvb-core subsystem like tuning and demuxing? Or do you want me
to invent wheels and to recode everything in the library? Of course
I can be wrong, I'm no big kernel hacker. So please show me the
way for it. BTW, even if you can find the way, then data copying
from userspace to the kernel and back is also necessery. I really
don't see any advantage of you solution.

Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC] vtunerc: virtual DVB device

2011-12-01 Thread HoP
Hi

> On Wed, 30 Nov 2011 22:38:33 +0100, HoP  wrote:
>> I have one big problem with it. I can even imagine that some "bad guys"
>> could abuse virtual driver to use it for distribution close-source
> drivers
>> in the binary blobs. But is it that - worrying about bad boys abusing -
>> the sufficient reason for such aggressive NACK which I did?
>
> I am not a LinuxTV developer so I am not in position to take a stand for
> or against this. Ultimately though, either your driver is rejected or it is
> accepted. This is not really a matter of being aggressive or not. It just
> so happens that many Linux-DVB contributors feel the same way against that
> class of driver.
>
> Also note the fear of GPL avoidance is not unique to Linux-DVB. If I am
> not mistaken there is no user-space socket API back-end for the same
> reasons. And there is also no _in-tree_ loopback V4L2 device driver in
> kernel.

Well, that is why I was asking again - in some parts there are similar
drivers accepted and in another parts no. Really confusing to me.
I'm not kernel hacker, so I didn't know about historical cases. Sorry.

[...]

>> I can't understand that because I see very similar drivers in kernel for
>> ages (nbd, or even more similar is usbip) and seems they don't hamper to
>> anybody.
>
> Sure. On That said, the Network Block Device, USB-IP and TUNTAP are not
> really competing with real drivers because of their high perfomance impact,
> so they are probably not the best examples to support your argument. uinput
> and ALSA loopback would seem like better examples to me.

Thanks for hints. It is no problem to use another arguments, if things get
cleaner then :-)

>> I would like to note that I don't want to start any flame-war,
>> so very short answer would be enough for me.
>
> Did you try to implement this through CUSE? Then there should be no GPL
> problems. Also then you do not need to convince anybody to take your driver
> in the kernel.

I did a very quick look on CUSE and if I understood it well, it was usable for
drivers not need for cooperation of other kernel internal subsystems.
But DVB driver usually use dvb-core subsystem (for tuning and for pid
filtering/demuxing),
so I don't see the way how to connect there. I think it is impossible.

Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[RFC] vtunerc: virtual DVB device - is it ok to NACK driver because of worrying about possible misusage?

2011-11-30 Thread HoP
Hi folks.

I need to warn you that my mail is a bit little longer then I would like
to be.But I'm not able to ask my question without some
background information.

On June 19th, I was sending the driver to the Linux-media
mailing list. Original announcement is there:

http://www.spinics.net/lists/linux-media/msg34240.html

One would say that the code describes very well what it does = adds
virtual DVB device. To be more clear on it I have even done some
small picture:

http://www.nessiedvb.org/wiki/doku.php?id=vtuner_bigpicture

I was hoping to get any feedback regarding code implementation.
It was my first code for the kernel and I felt very well that some
part can be done better or even simpler.

What really surprised me badly was that when I read all 54 responses
I have counted only two real technical answers!!! All rest were about
POLITICAL issues - code was NACKed w/o any technical discussion.
Because of fear of possible abusing of driver.

I didn't know that there existed very big movement against such
code in dvb-core subsystem before.

I have one big problem with it. I can even imagine that some "bad guys"
could abuse virtual driver to use it for distribution close-source drivers
in the binary blobs. But is it that - worrying about bad boys abusing -
the sufficient reason for such aggressive NACK which I did? Then would
be better to remove loadable module API fully from kernel. Is it the right way?

Please confirm me that worrying about abusive act is enough to NACK
particular driver. Then I may be definitely understand I'm doing something
wrong and will stay (with such enemy driver) out of tree.

I can't understand that because I see very similar drivers in kernel for ages
(nbd, or even more similar is usbip) and seems they don't hamper to anybody.

I would like to note that I don't want to start any flame-war, so very short
answer would be enough for me.

Regards

Honza

PS: Please be so kind and CC the answer/comment to me, I'm
only on linux-media ML, not on linux-kernel ML. Thanks.

BTW, if accidentally, somebody find it interesting and would like to
help me doing code review, there is the code hosted now:
http://code.google.com/p/vtuner/source/browse?repo=linux-driver
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Smart card reader support for Anysee DVB devices

2011-10-02 Thread HoP
> If you would like to help me then you can find out correct device name and
> whats needed for that. I mainly see following possibilities;
> * /dev/ttyAnyseeN
> * /dev/ttyDVBN
> * /dev/adapterN/serial
>

/dev/ttyscXN

or

/dev/dvb/adapterX/scN

where X = ordered adapter number
and N = ordered smartcard number in one device

/Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATH v2] cxd2820r: fix possible out-of-array lookup

2011-07-28 Thread HoP
When I2C_WRITE is used the msg[] array contains one element only.
Don't access msg[1] in that case. Also moved rest of msg2[1]
setting to be used only if needed.

Signed-off-by: Honza Petrous 

---

diff -r ae517614bf00 drivers/media/dvb/frontends/cxd2820r_core.c
--- a/drivers/media/dvb/frontends/cxd2820r_core.c   Thu Jul 28 15:44:49 
2011 +0200
+++ b/drivers/media/dvb/frontends/cxd2820r_core.c   Thu Jul 28 16:20:17 
2011 +0200
@@ -747,12 +747,7 @@ static int cxd2820r_tuner_i2c_xfer(struc
.flags = 0,
.len = sizeof(obuf),
.buf = obuf,
-   }, {
-   .addr = priv->cfg.i2c_address,
-   .flags = I2C_M_RD,
-   .len = msg[1].len,
-   .buf = msg[1].buf,
-   }
+   },
};

obuf[0] = 0x09;
@@ -760,6 +755,11 @@ static int cxd2820r_tuner_i2c_xfer(struc
if (num == 2) { /* I2C read */
obuf[1] = (msg[0].addr << 1) | I2C_M_RD; /* I2C RD flag */
msg2[0].len = sizeof(obuf) - 1; /* maybe HW bug ? */
+
+   msg2[1].addr = priv->cfg.i2c_address,
+   msg2[1].flags = I2C_M_RD,
+   msg2[1].len = msg[1].len,
+   msg2[1].buf = msg[1].buf,
}
memcpy(&obuf[2], msg[0].buf, msg[0].len);
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] cxd2820r: fix possible out-of-array lookup

2011-07-25 Thread HoP
Hi Antti

2011/7/23 Antti Palosaari :
> On 07/23/2011 02:01 AM, HoP wrote:
>>
>> 2011/7/23 Antti Palosaari:
>>>
>>> On 07/23/2011 01:47 AM, HoP wrote:
>>>>
>>>> 2011/7/23 Antti Palosaari:
>>>>>
>>>>> On 07/23/2011 01:18 AM, HoP wrote:
>>>>>>
>>>>>> In case of i2c write operation there is only one element in msg[]
>>>>>> array.
>>>>>> Don't access msg[1] in that case.
>>>>>
>>>>> NACK.
>>>>> I suspect you confuse now local msg2 and msg that is passed as function
>>>>> parameter. Could you double check and explain?

Can you confirm your NACK?

As I wrote before, my patch was about read access out of msg[] array
parameter of function cxd2820r_tuner_i2c_xfer() in case when msg[]
array has only one element (what should be case when using
tda18271_write_regs() for example). Or am I still missed something?

[snip]

> And one point more for I2C implementations, i2c_transfer() should implement
> repeated start sequence to messages given. But I am almost sure there is
> rather none I2C adapter HW which can do that really. Whole i2c_transfer()

Strange enought. Or may better say that linux/i2c.h must fool if you are right,
because there you can read:

--- linux/i2c.h ---
 * An i2c_msg is the low level representation of one segment of an I2C
 * transaction.  It is visible to drivers in the @i2c_transfer() procedure,
 * to userspace from i2c-dev, and to I2C adapter drivers through the
 * @i2c_adapter.@master_xfer() method.
 *
 * Except when I2C "protocol mangling" is used, all I2C adapters implement
 * the standard rules for I2C transactions.  Each transaction begins with a
 * START.  That is followed by the slave address, and a bit encoding read
 * versus write.  Then follow all the data bytes, possibly including a byte
 * with SMBus PEC.  The transfer terminates with a NAK, or when all those
 * bytes have been transferred and ACKed.  If this is the last message in a
 * group, it is followed by a STOP.  Otherwise it is followed by the next
 * @i2c_msg transaction segment, beginning with a (repeated) START.
---

It says quite the reverse - all multimessage transfers have using
repeated START.
Very annoying. At least for kernel newbies.

Regards

Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] cxd2820r: fix possible out-of-array lookup

2011-07-23 Thread HoP
2011/7/23 Malcolm Priestley :
> On Sat, 2011-07-23 at 01:47 +0200, HoP wrote:
>> 2011/7/23 Antti Palosaari :
>> > On 07/23/2011 02:31 AM, Antti Palosaari wrote:
>> >>
>> >> On 07/23/2011 02:01 AM, HoP wrote:
>> >>>
>> >>> 2011/7/23 Antti Palosaari:
>> >>>>
>> >>>> But now I see what you mean. msg2[1] is set as garbage fields in case of
>> >>>> incoming msg len is 1. True, but it does not harm since it is not
>> >>>> used in
>> >>>> that case.
>> >>>
>> >>> In case of write, cxd2820r_tuner_i2c_xfer() gets msg[] parameter
>> >>> with only one element, true? If so, then my patch is correct.
>> >>
>> >> Yes it is true but nonsense. It is also wrong to make always msg2 as two
>> >> element array too, but those are just simpler and generates most likely
>> >> some code less. Could you see it can cause problem in some case?
>> >
>> > Now I thought it more, could it crash if it point out of memory area?
> Arrays are not fussy they will read anything, just don't poke them :-)

Are you sure about not crashing? On every architecture on which linux
can run?

Even if it not crash kernel, I hope we can agree that it is incorrect
and need to be fixed.

>>
>> I see you finally understood what I wanted to do :-)
>>
>> I'm surprised that it not crashed already. I thought I have to missed 
>> something.
>
> It does not crash because num is constant throughout, when the number of
> messages is one the second element isn't transferred.

Sure, that is evident. My fix was about not do read access outside
of input array msg[]. I still don't understand the NACK.

/Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] cxd2820r: fix possible out-of-array lookup

2011-07-22 Thread HoP
2011/7/23 Antti Palosaari :
> On 07/23/2011 02:31 AM, Antti Palosaari wrote:
>>
>> On 07/23/2011 02:01 AM, HoP wrote:
>>>
>>> 2011/7/23 Antti Palosaari:
>>>>
>>>> But now I see what you mean. msg2[1] is set as garbage fields in case of
>>>> incoming msg len is 1. True, but it does not harm since it is not
>>>> used in
>>>> that case.
>>>
>>> In case of write, cxd2820r_tuner_i2c_xfer() gets msg[] parameter
>>> with only one element, true? If so, then my patch is correct.
>>
>> Yes it is true but nonsense. It is also wrong to make always msg2 as two
>> element array too, but those are just simpler and generates most likely
>> some code less. Could you see it can cause problem in some case?
>
> Now I thought it more, could it crash if it point out of memory area?

I see you finally understood what I wanted to do :-)

I'm surprised that it not crashed already. I thought I have to missed something.

Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] cxd2820r: fix possible out-of-array lookup

2011-07-22 Thread HoP
2011/7/23 Antti Palosaari :
> On 07/23/2011 01:47 AM, HoP wrote:
>>
>> 2011/7/23 Antti Palosaari:
>>>
>>> On 07/23/2011 01:18 AM, HoP wrote:
>>>>
>>>> In case of i2c write operation there is only one element in msg[] array.
>>>> Don't access msg[1] in that case.
>>>
>>> NACK.
>>> I suspect you confuse now local msg2 and msg that is passed as function
>>> parameter. Could you double check and explain?
>>>
>>
>> Ok, may I really understand it badly.
>>
>> My intention was that in case of tda18271_write_regs() there is
>> i2c_transfer() called with msg[] array of one element only.
>> So am I wrong?
>
> No. There is only one msg array in write and in case of reg read there is
> two elements, first one is write and second is read.
>
> But now I see what you mean. msg2[1] is set as garbage fields in case of
> incoming msg len is 1. True, but it does not harm since it is not used in
> that case.

In case of write, cxd2820r_tuner_i2c_xfer() gets msg[] parameter
with only one element, true? If so, then my patch is correct.

>
> The idea of whole system is just add 2 bytes to incoming msg .buf and then
> forward that message.
>

Yes. I just learnt it, very clever way. What I only don't understand is
why do you decrease msg2[0].len. Seems really like some hw bug.

Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] cxd2820r: fix possible out-of-array lookup

2011-07-22 Thread HoP
2011/7/23 Antti Palosaari :
> On 07/23/2011 01:18 AM, HoP wrote:
>>
>> In case of i2c write operation there is only one element in msg[] array.
>> Don't access msg[1] in that case.
>
> NACK.
> I suspect you confuse now local msg2 and msg that is passed as function
> parameter. Could you double check and explain?
>

Ok, may I really understand it badly.

My intention was that in case of tda18271_write_regs() there is
i2c_transfer() called with msg[] array of one element only.
So am I wrong?

Thanks

Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] cxd2820r: fix possible out-of-array lookup

2011-07-22 Thread HoP
In case of i2c write operation there is only one element in msg[] array.
Don't access msg[1] in that case.

Signed-off-by: Honza Petrous 

--

diff -uBbp cxd2820r_core.c.orig cxd2820r_core.c
--- cxd2820r_core.c.orig2011-07-22 23:31:56.319168405 +0200
+++ cxd2820r_core.c 2011-07-22 23:35:02.508046078 +0200
@@ -750,8 +750,6 @@ static int cxd2820r_tuner_i2c_xfer(struc
}, {
.addr = priv->cfg.i2c_address,
.flags = I2C_M_RD,
-   .len = msg[1].len,
-   .buf = msg[1].buf,
}
};

@@ -760,6 +758,8 @@ static int cxd2820r_tuner_i2c_xfer(struc
if (num == 2) { /* I2C read */
obuf[1] = (msg[0].addr << 1) | I2C_M_RD; /* I2C RD flag */
msg2[0].len = sizeof(obuf) - 1; /* maybe HW bug ? */
+   msg2[1].len = msg[1].len;
+   msg2[1].buf = msg[1].buf;
}
memcpy(&obuf[2], msg[0].buf, msg[0].len);
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [Patch] dvb-apps: add test tool for DMX_OUT_TSDEMUX_TAP

2011-07-10 Thread HoP
2011/7/10 Rémi Denis-Courmont :
> Le dimanche 10 juillet 2011 13:43:03 Stefan Seyfried, vous avez écrit :
>> Hi all,
>>
>> I patched test_dvr to use DMX_OUT_TSDEMUX_TAP and named it test_tapdmx.
>> Might be useful for others, too :-)
>> This is my first experience with mercurial, so bear with me if it's
>> totally wrong.
>
> Did it work for you? We at VideoLAN.org could not get DMX_OUT_TSDEMUX_TAP to
> work with any of three distinct device/drivers (on two different delivery
> systems). We do get TS packets, but they seem to be partly corrupt.

DMX_OUT_TSDEMUX_TAP works for me also. It worked well even
in 2.6.22 kernel with backported dvb_core from 2.6.28.

Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC] vtunerc - virtual DVB device driver

2011-06-22 Thread HoP
2011/6/22 Mauro Carvalho Chehab :
> Em 22-06-2011 10:13, Andreas Oberritter escreveu:
>> On 06/22/2011 03:03 PM, Mauro Carvalho Chehab wrote:
>>> Em 22-06-2011 09:37, HoP escreveu:
>>>> 2011/6/22 Mauro Carvalho Chehab :
>>>>> Em 21-06-2011 14:38, HoP escreveu:
>>>>>> 2011/6/21 Mauro Carvalho Chehab :
>>>>>>> Em 21-06-2011 12:09, Andreas Oberritter escreveu:
>>>>>>>> On 06/21/2011 04:35 PM, Mauro Carvalho Chehab wrote:
>>>>>>>>> Em 21-06-2011 11:15, Andreas Oberritter escreveu:
>>>>>>>>>> On 06/21/2011 03:44 PM, Devin Heitmueller wrote:
>>>>>>>>>>> On Tue, Jun 21, 2011 at 7:04 AM, Andreas Oberritter 
>>>>>>>>>>>  wrote:
>>>>>>>>>>>> Mauro and Devin, I think you're missing the point. This is not 
>>>>>>>>>>>> about
>>>>>>>>>>>> creating drivers in userspace. This is not about open or closed 
>>>>>>>>>>>> source.
>>>>>>>>>>>> The "vtuner" interface, as implemented for the Dreambox, is used to
>>>>>>>>>>>> access remote tuners: Put x tuners into y boxes and access them 
>>>>>>>>>>>> from
>>>>>>>>>>>> another box as if they were local. It's used in conjunction with 
>>>>>>>>>>>> further
>>>>>>>>>>>> software to receive the transport stream over a network connection.
>>>>>>>>>>>> Honza's code does the same thing.
>>>>>>>>>>>
>>>>>>>>>>> I'm not missing the point at all.  I realize exactly what Honza is
>>>>>>>>>>> trying to accomplish (and from a purely technical standpoint, it's 
>>>>>>>>>>> not
>>>>>>>>>>> a bad approach) - but I'm talking about the effects of such a driver
>>>>>>>>>>> being introduced which changes the kernel/userland licensing 
>>>>>>>>>>> boundary
>>>>>>>>>>> and has very real implications with how the in-kernel code is
>>>>>>>>>>> accessed.
>>>>>>>>>>>
>>>>>>>>>>>> You don't need it in order to create closed source drivers. You can
>>>>>>>>>>>> already create closed kernel drivers now. Also, you can create 
>>>>>>>>>>>> tuner
>>>>>>>>>>>> drivers in userspace using the i2c-dev interface. If you like to 
>>>>>>>>>>>> connect
>>>>>>>>>>>> a userspace driver to a DVB API device node, you can distribute a 
>>>>>>>>>>>> small
>>>>>>>>>>>> (open or closed) wrapper with it. So what are you arguing about?
>>>>>>>>>>>> Everything you're feared of can already be done since virtually 
>>>>>>>>>>>> forever.
>>>>>>>>>>>
>>>>>>>>>>> I disagree.  There is currently no API which allows applications to
>>>>>>>>>>> issue tuning requests into the DVB core, and have those requests
>>>>>>>>>>> proxied back out to userland where an application can then use 
>>>>>>>>>>> i2c-dev
>>>>>>>>>>> to tune the actual device.  Meaning if somebody wants to write a
>>>>>>>>>>> closed source userland application which controls the tuner, he/she
>>>>>>>>>>> can do that (while not conforming to the DVB API).  But if if he 
>>>>>>>>>>> wants
>>>>>>>>>>> to reuse the GPL licensed DVB core, he has to replace the entire DVB
>>>>>>>>>>> core.
>>>>>>>>>>>
>>>>>>>>>>> The introduction of this patch makes it trivial for a third party to
>>>>>>>>>>> provide closed-source userland support for tuners while reusing all
>>>>>>>>>>> the existing GPL driver code that makes up the framework.
>>>>>

Re: [RFC] vtunerc - virtual DVB device driver

2011-06-22 Thread HoP
2011/6/22 Mauro Carvalho Chehab :
> Em 22-06-2011 09:30, Andreas Oberritter escreveu:
>> On 06/22/2011 02:17 PM, Mauro Carvalho Chehab wrote:
>>> Em 21-06-2011 14:38, HoP escreveu:
>>>> 2011/6/21 Mauro Carvalho Chehab :
>>>>> Em 21-06-2011 12:09, Andreas Oberritter escreveu:
>>>>>> On 06/21/2011 04:35 PM, Mauro Carvalho Chehab wrote:
>>>>>>> Em 21-06-2011 11:15, Andreas Oberritter escreveu:
>>>>>>>> On 06/21/2011 03:44 PM, Devin Heitmueller wrote:
>>>>>>>>> On Tue, Jun 21, 2011 at 7:04 AM, Andreas Oberritter 
>>>>>>>>>  wrote:
>>>>>>>>>> Mauro and Devin, I think you're missing the point. This is not about
>>>>>>>>>> creating drivers in userspace. This is not about open or closed 
>>>>>>>>>> source.
>>>>>>>>>> The "vtuner" interface, as implemented for the Dreambox, is used to
>>>>>>>>>> access remote tuners: Put x tuners into y boxes and access them from
>>>>>>>>>> another box as if they were local. It's used in conjunction with 
>>>>>>>>>> further
>>>>>>>>>> software to receive the transport stream over a network connection.
>>>>>>>>>> Honza's code does the same thing.
>>>>>>>>>
>>>>>>>>> I'm not missing the point at all.  I realize exactly what Honza is
>>>>>>>>> trying to accomplish (and from a purely technical standpoint, it's not
>>>>>>>>> a bad approach) - but I'm talking about the effects of such a driver
>>>>>>>>> being introduced which changes the kernel/userland licensing boundary
>>>>>>>>> and has very real implications with how the in-kernel code is
>>>>>>>>> accessed.
>>>>>>>>>
>>>>>>>>>> You don't need it in order to create closed source drivers. You can
>>>>>>>>>> already create closed kernel drivers now. Also, you can create tuner
>>>>>>>>>> drivers in userspace using the i2c-dev interface. If you like to 
>>>>>>>>>> connect
>>>>>>>>>> a userspace driver to a DVB API device node, you can distribute a 
>>>>>>>>>> small
>>>>>>>>>> (open or closed) wrapper with it. So what are you arguing about?
>>>>>>>>>> Everything you're feared of can already be done since virtually 
>>>>>>>>>> forever.
>>>>>>>>>
>>>>>>>>> I disagree.  There is currently no API which allows applications to
>>>>>>>>> issue tuning requests into the DVB core, and have those requests
>>>>>>>>> proxied back out to userland where an application can then use i2c-dev
>>>>>>>>> to tune the actual device.  Meaning if somebody wants to write a
>>>>>>>>> closed source userland application which controls the tuner, he/she
>>>>>>>>> can do that (while not conforming to the DVB API).  But if if he wants
>>>>>>>>> to reuse the GPL licensed DVB core, he has to replace the entire DVB
>>>>>>>>> core.
>>>>>>>>>
>>>>>>>>> The introduction of this patch makes it trivial for a third party to
>>>>>>>>> provide closed-source userland support for tuners while reusing all
>>>>>>>>> the existing GPL driver code that makes up the framework.
>>>>>>>>>
>>>>>>>>> I used to work for a vendor that makes tuners, and they do a bunch of
>>>>>>>>> Linux work.  And that work has resulted in a bunch of open source
>>>>>>>>> drivers.  I can tell you though that *every* conversation I've had
>>>>>>>>> regarding a new driver goes something like this:
>>>>>>>>>
>>>>>>>>> ===
>>>>>>>>> "Devin, we need to support tuner X under Linux."
>>>>>>>>>
>>>>>>>>> "Great!  I'll be happy to write a new GPL driver for the
>>>>>>>>> tuner/demodulator/whatever for that d

Re: [RFC] vtunerc - virtual DVB device driver

2011-06-22 Thread HoP
2011/6/22 Mauro Carvalho Chehab :
> Em 21-06-2011 14:38, HoP escreveu:
>> 2011/6/21 Mauro Carvalho Chehab :
>>> Em 21-06-2011 12:09, Andreas Oberritter escreveu:
>>>> On 06/21/2011 04:35 PM, Mauro Carvalho Chehab wrote:
>>>>> Em 21-06-2011 11:15, Andreas Oberritter escreveu:
>>>>>> On 06/21/2011 03:44 PM, Devin Heitmueller wrote:
>>>>>>> On Tue, Jun 21, 2011 at 7:04 AM, Andreas Oberritter  
>>>>>>> wrote:
>>>>>>>> Mauro and Devin, I think you're missing the point. This is not about
>>>>>>>> creating drivers in userspace. This is not about open or closed source.
>>>>>>>> The "vtuner" interface, as implemented for the Dreambox, is used to
>>>>>>>> access remote tuners: Put x tuners into y boxes and access them from
>>>>>>>> another box as if they were local. It's used in conjunction with 
>>>>>>>> further
>>>>>>>> software to receive the transport stream over a network connection.
>>>>>>>> Honza's code does the same thing.
>>>>>>>
>>>>>>> I'm not missing the point at all.  I realize exactly what Honza is
>>>>>>> trying to accomplish (and from a purely technical standpoint, it's not
>>>>>>> a bad approach) - but I'm talking about the effects of such a driver
>>>>>>> being introduced which changes the kernel/userland licensing boundary
>>>>>>> and has very real implications with how the in-kernel code is
>>>>>>> accessed.
>>>>>>>
>>>>>>>> You don't need it in order to create closed source drivers. You can
>>>>>>>> already create closed kernel drivers now. Also, you can create tuner
>>>>>>>> drivers in userspace using the i2c-dev interface. If you like to 
>>>>>>>> connect
>>>>>>>> a userspace driver to a DVB API device node, you can distribute a small
>>>>>>>> (open or closed) wrapper with it. So what are you arguing about?
>>>>>>>> Everything you're feared of can already be done since virtually 
>>>>>>>> forever.
>>>>>>>
>>>>>>> I disagree.  There is currently no API which allows applications to
>>>>>>> issue tuning requests into the DVB core, and have those requests
>>>>>>> proxied back out to userland where an application can then use i2c-dev
>>>>>>> to tune the actual device.  Meaning if somebody wants to write a
>>>>>>> closed source userland application which controls the tuner, he/she
>>>>>>> can do that (while not conforming to the DVB API).  But if if he wants
>>>>>>> to reuse the GPL licensed DVB core, he has to replace the entire DVB
>>>>>>> core.
>>>>>>>
>>>>>>> The introduction of this patch makes it trivial for a third party to
>>>>>>> provide closed-source userland support for tuners while reusing all
>>>>>>> the existing GPL driver code that makes up the framework.
>>>>>>>
>>>>>>> I used to work for a vendor that makes tuners, and they do a bunch of
>>>>>>> Linux work.  And that work has resulted in a bunch of open source
>>>>>>> drivers.  I can tell you though that *every* conversation I've had
>>>>>>> regarding a new driver goes something like this:
>>>>>>>
>>>>>>> ===
>>>>>>> "Devin, we need to support tuner X under Linux."
>>>>>>>
>>>>>>> "Great!  I'll be happy to write a new GPL driver for the
>>>>>>> tuner/demodulator/whatever for that device"
>>>>>>>
>>>>>>> "But to save time/money, we just want to reuse the Windows driver code
>>>>>>> (or reference code from the vendor)."
>>>>>>>
>>>>>>> "Ok.  Well, what is the licensing for that code?  Is it GPL compatible?"
>>>>>>>
>>>>>>> "Not currently.  So can we just make our driver closed source?"
>>>>>>>
>>>>>>> "Well, you can't reuse any of the existing DVB core functionality or
>>>>>&g

Re: [RFC] vtunerc - virtual DVB device driver

2011-06-21 Thread HoP
2011/6/22 Markus Rechberger :
>>
>> My very little opinion is that waving GPL is way to the hell. Nobody told me
>> why similar technologies, in different kernel parts are acceptable,
>> but not here.
>>
>
> since a customer was trying to use this module the only feedback I can give
> right now is that there are still some fundamental bugs in that work.
> Just running it with some intuitive parameters (without having a dvb
> device connected) caused
> it to hang.
>
> ./vtunerc.i686  -c 1
> vtunerc: [5210 ../../vtunerc.c:349] debug: added frontend mode DVB-C
> as mode 0, searching for tuner types 2
> vtunerc: [5210 ../../vtunerc.c:346] error: unknown tuner mode
> specified: 1 allow values are: -s -S -s2 -S2 -c -t
> it just never returned.
>

Never returned? How it is possible if just next line is exit(1) call?

> DMESG:
> vtunerc: [5207 ../../vtunerc.c:593] info: fake server answer
> vtunerc: [5207 ../../vtunerc.c:606] info: msg: 4096 completed
> vtunerc: [5207 ../../vtunerc.c:506] info: vtuner message!
> vtunerc: [5207 ../../vtunerc.c:593] info: fake server answer
>
> ps fax | grep vtunerc:
>  5194 pts/4    S      0:00  |       \_ bash
>  5210 pts/4    S+     0:00  |           \_ [vtunerc.i686]
>
> that way it's not good enough for inclusion yet anyway.

I never wanted to get it include immediatelly. I never stated that.
That is why subject of this mail starts with [RFC]. I wanted
to know if such driver is even interesting by others and if
so to get help from community having the code better.
I was already noted that it is my first kernel driver and I understand
that reviewing code by kernel hackers can help making
code better.

On the other hand I never thought that the code can be
totally refused because of its nature. Even I all time
was writing that all subsystem (kernel + userland daemons)
are GPL.

Marcus, tell the customer I'm just starting some howto
document to guide all willing to test how it works through
compilation and installation process.

In parallel I'm going to address all hints gave me by Andreas,
the only guy who even had a look at source.

Anyway, I'm happy for any feedback, so thanks.

/Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC] vtunerc - virtual DVB device driver

2011-06-21 Thread HoP
2011/6/21 Mauro Carvalho Chehab :
> Em 21-06-2011 12:09, Andreas Oberritter escreveu:
>> On 06/21/2011 04:35 PM, Mauro Carvalho Chehab wrote:
>>> Em 21-06-2011 11:15, Andreas Oberritter escreveu:
 On 06/21/2011 03:44 PM, Devin Heitmueller wrote:
> On Tue, Jun 21, 2011 at 7:04 AM, Andreas Oberritter  
> wrote:
>> Mauro and Devin, I think you're missing the point. This is not about
>> creating drivers in userspace. This is not about open or closed source.
>> The "vtuner" interface, as implemented for the Dreambox, is used to
>> access remote tuners: Put x tuners into y boxes and access them from
>> another box as if they were local. It's used in conjunction with further
>> software to receive the transport stream over a network connection.
>> Honza's code does the same thing.
>
> I'm not missing the point at all.  I realize exactly what Honza is
> trying to accomplish (and from a purely technical standpoint, it's not
> a bad approach) - but I'm talking about the effects of such a driver
> being introduced which changes the kernel/userland licensing boundary
> and has very real implications with how the in-kernel code is
> accessed.
>
>> You don't need it in order to create closed source drivers. You can
>> already create closed kernel drivers now. Also, you can create tuner
>> drivers in userspace using the i2c-dev interface. If you like to connect
>> a userspace driver to a DVB API device node, you can distribute a small
>> (open or closed) wrapper with it. So what are you arguing about?
>> Everything you're feared of can already be done since virtually forever.
>
> I disagree.  There is currently no API which allows applications to
> issue tuning requests into the DVB core, and have those requests
> proxied back out to userland where an application can then use i2c-dev
> to tune the actual device.  Meaning if somebody wants to write a
> closed source userland application which controls the tuner, he/she
> can do that (while not conforming to the DVB API).  But if if he wants
> to reuse the GPL licensed DVB core, he has to replace the entire DVB
> core.
>
> The introduction of this patch makes it trivial for a third party to
> provide closed-source userland support for tuners while reusing all
> the existing GPL driver code that makes up the framework.
>
> I used to work for a vendor that makes tuners, and they do a bunch of
> Linux work.  And that work has resulted in a bunch of open source
> drivers.  I can tell you though that *every* conversation I've had
> regarding a new driver goes something like this:
>
> ===
> "Devin, we need to support tuner X under Linux."
>
> "Great!  I'll be happy to write a new GPL driver for the
> tuner/demodulator/whatever for that device"
>
> "But to save time/money, we just want to reuse the Windows driver code
> (or reference code from the vendor)."
>
> "Ok.  Well, what is the licensing for that code?  Is it GPL compatible?"
>
> "Not currently.  So can we just make our driver closed source?"
>
> "Well, you can't reuse any of the existing DVB core functionality or
> any of the other GPL drivers (tuners, bridges, demods), so you would
> have rewrite all that from scratch."
>
> "Oh, that would be a ton of work.   Can we maybe write some userland
> stuff that controls the demodulator which we can keep closed source?
> Since it's not in the kernel, the GPL won't apply".
>
> "Well, you can't really do that because there is no way for the DVB
> core to call back out to userland when the application makes the
> tuning request to the DVB core."
>
> "Oh, ok then.  I guess we'll have to talk to the vendor and get them
> to give us the reference driver code under the GPL."
> ===
>
> I can tell you without a doubt that if this driver were present in the
> kernel, that going forward that vendor would have *zero* interest in
> doing any GPL driver work.  Why would they?  Why give away the code
> which could potentially help their competitors if they can keep it
> safe and protected while still being able to reuse everybody else's
> contributions?
>
> Companies don't contribute GPL code out of "good will".  They do it
> because they are compelled to by licenses or because there is no
> economically viable alternative.
>
> Mauro, ultimately it is your decision as the maintainer which drivers
> get accepted in to the kernel.  I can tell you though that this will
> be a very bad thing for the driver ecosystem as a whole - it will
> essentially make it trivial for vendors (some of which who are doing
> GPL work now) to provide solutions that reuse the GPL'd DVB core
> without having to make any of their stuff open source.
>
> Anyway, 

Re: [RFC] vtunerc - virtual DVB device driver

2011-06-21 Thread HoP
2011/6/21 Mauro Carvalho Chehab :
> Em 21-06-2011 08:04, Andreas Oberritter escreveu:
>> On 06/21/2011 03:35 AM, Mauro Carvalho Chehab wrote:
>>> Em 20-06-2011 18:31, HoP escreveu:
>>>> 2011/6/20 Mauro Carvalho Chehab :
>>>>> Em 20-06-2011 17:24, HoP escreveu:
>>>>>> 2011/6/20 Devin Heitmueller :
>>>>>>> On Mon, Jun 20, 2011 at 3:56 PM, HoP  wrote:
>>>>>>>> Do you think it is really serious enough reason to prevent of having
>>>>>>>> such virtualization driver in the kernel?
>>>>>>>>
>>>>>>>> Let check my situation and tell me how I should continue (TBH, I 
>>>>>>>> already
>>>>>>>> thought that driver can be accepted, but my dumb brain thought because
>>>>>>>> of non quality code/design or so. It was really big "surprise" which
>>>>>>>> reason was used aginst it):
>>>>>>>
>>>>>>> Yes, this is entirely a political issue and not a technical one.
>>>>>>
>>>>>> Political? So we can declare that politics win (again) technicians. Sad.
>>>>>
>>>>> This is not a political issue. It is a licensing issue. If you want to use
>>>>> someone's else code, you need to accept the licensing terms that the 
>>>>> developers
>>>>> are giving you, by either paying the price for the code usage (on closed 
>>>>> source
>>>>> licensing models), or by accepting the license when using an open-sourced 
>>>>> code.
>>>>>
>>>>> Preserving the open-source eco-system is something that everyone
>>>>> developing open source expect: basically, you're free to do whatever
>>>>> you want, but if you're using a code written by an open-source developer,
>>>>> the expected behaviour that GPL asks (and that the developer wants, when 
>>>>> he
>>>>> opted for GPL) is that you should return back to the community with any
>>>>> changes you did, including derivative work. This is an essential rule of 
>>>>> working
>>>>> with GPL.
>>>>>
>>>>> If you're not happy with that, that's fine. You can implement another 
>>>>> stack
>>>>> that is not GPL-licensed.
>>>>
>>>> Mauro, you totally misunderstood me. If you see on my first post in that 
>>>> thread
>>>> I was sending full GPL-ed driver to the mailinglist.
>>>
>>> You misunderstood me. Something that exposes the kernel interface to for an
>>> userspace client driver to implement DVB is not a driver, it is a wrapper.
>>>
>>> The real driver will be in userspace, using the DVB stack, and can even be
>>> closed source. Some developers already tried to do things like that and sell
>>> the userspace code. Such code submission were nacked. There is even one case
>>> where the kernelspace code were dropped due to that (and later, replaced by 
>>> an
>>> opensource driver).
>>>
>>> We don't want to go on this way again.
>>
>> Mauro and Devin, I think you're missing the point. This is not about
>> creating drivers in userspace. This is not about open or closed source.
>> The "vtuner" interface, as implemented for the Dreambox, is used to
>> access remote tuners: Put x tuners into y boxes and access them from
>> another box as if they were local. It's used in conjunction with further
>> software to receive the transport stream over a network connection.
>> Honza's code does the same thing.
>>
>> You don't need it in order to create closed source drivers. You can
>> already create closed kernel drivers now. Also, you can create tuner
>> drivers in userspace using the i2c-dev interface. If you like to connect
>> a userspace driver to a DVB API device node, you can distribute a small
>> (open or closed) wrapper with it. So what are you arguing about?
>> Everything you're feared of can already be done since virtually forever.
>
> Yes, but we don't need to review/maintain a kernel driver meant to be
> used by closed source applications, and, if they're using a GPL'd code
> inside a closed source application, they can be sued.

Well, seems you are trying to argue using wrong arguments.
One more again: If you follow my picture - all on the path,
INCLUDING userland application, is GPL code. If you thi

Re: [RFC] vtunerc - virtual DVB device driver

2011-06-21 Thread HoP
2011/6/21 Mauro Carvalho Chehab :
> Em 20-06-2011 18:31, HoP escreveu:
>> 2011/6/20 Mauro Carvalho Chehab :
>>> Em 20-06-2011 17:24, HoP escreveu:
>>>> 2011/6/20 Devin Heitmueller :
>>>>> On Mon, Jun 20, 2011 at 3:56 PM, HoP  wrote:
>>>>>> Do you think it is really serious enough reason to prevent of having
>>>>>> such virtualization driver in the kernel?
>>>>>>
>>>>>> Let check my situation and tell me how I should continue (TBH, I already
>>>>>> thought that driver can be accepted, but my dumb brain thought because
>>>>>> of non quality code/design or so. It was really big "surprise" which
>>>>>> reason was used aginst it):
>>>>>
>>>>> Yes, this is entirely a political issue and not a technical one.
>>>>
>>>> Political? So we can declare that politics win (again) technicians. Sad.
>>>
>>> This is not a political issue. It is a licensing issue. If you want to use
>>> someone's else code, you need to accept the licensing terms that the 
>>> developers
>>> are giving you, by either paying the price for the code usage (on closed 
>>> source
>>> licensing models), or by accepting the license when using an open-sourced 
>>> code.
>>>
>>> Preserving the open-source eco-system is something that everyone
>>> developing open source expect: basically, you're free to do whatever
>>> you want, but if you're using a code written by an open-source developer,
>>> the expected behaviour that GPL asks (and that the developer wants, when he
>>> opted for GPL) is that you should return back to the community with any
>>> changes you did, including derivative work. This is an essential rule of 
>>> working
>>> with GPL.
>>>
>>> If you're not happy with that, that's fine. You can implement another stack
>>> that is not GPL-licensed.
>>
>> Mauro, you totally misunderstood me. If you see on my first post in that 
>> thread
>> I was sending full GPL-ed driver to the mailinglist.
>
> You misunderstood me. Something that exposes the kernel interface to for an
> userspace client driver to implement DVB is not a driver, it is a wrapper.
>
> The real driver will be in userspace, using the DVB stack, and can even be
> closed source. Some developers already tried to do things like that and sell
> the userspace code. Such code submission were nacked. There is even one case
> where the kernelspace code were dropped due to that (and later, replaced by an
> opensource driver).

No, you are again wrong, sorry.

If you ever tried to understand my small schema and description, you would
find that REAL drivers remeains in kernel. May be you understand what
I want from attached picture. You can see that the driver acts as bridge
(ok, you like wording "wrapper" so) to distribute remote driver functionality
down to the client and back.

/Honza
<>

Re: [RFC] vtunerc - virtual DVB device driver

2011-06-20 Thread HoP
Hi Bjørn.

2011/6/21 Bjørn Mork :
> Devin Heitmueller  writes:
>
>> Nothing prevents a third-party from writing closed source drivers.
>> What we do *not* think is fair though is that those third parties
>> should be able to take advantage of all the GPL code that makes up the
>> DVB core, and the man-years spent developing that code.
>
> You could use the same argument against adding a loadable module
> interface to the Linux kernel (and I'm pretty sure it was used).
> Thankfully, usability won back then.  Or we most likely wouldn't have
> had a single Linux DVB driver.  Or Linux at all, except as a historical
> footnote.
>
> Honza posted a GPL licensed driver and gave a pretty good usage
> scenario.  Please don't reject it based on fear of abuse.  If you think
> about it, almost any usability improvement will also make abuse easier.
> And if you reject all of them based on such fear, then your system will
> die.

Thank you for you support. Until now I thought that my non-understanding
of that "abuse-fearing-rule" was only my own brain defect :-)

So, linux-media guys, don't worry. Because vtunerc is my very first kernel
code I can assure you that you find most likely some design defects
or something like that what prevent of code upstreaming. It can take lng
time until the code will grow up for upstreaming :-)

/Honza

PS: The driver is in use for more then 6 months with VDR.
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC] vtunerc - virtual DVB device driver

2011-06-20 Thread HoP
2011/6/20 Mauro Carvalho Chehab :
> Em 20-06-2011 17:24, HoP escreveu:
>> 2011/6/20 Devin Heitmueller :
>>> On Mon, Jun 20, 2011 at 3:56 PM, HoP  wrote:
>>>> Do you think it is really serious enough reason to prevent of having
>>>> such virtualization driver in the kernel?
>>>>
>>>> Let check my situation and tell me how I should continue (TBH, I already
>>>> thought that driver can be accepted, but my dumb brain thought because
>>>> of non quality code/design or so. It was really big "surprise" which
>>>> reason was used aginst it):
>>>
>>> Yes, this is entirely a political issue and not a technical one.
>>
>> Political? So we can declare that politics win (again) technicians. Sad.
>
> This is not a political issue. It is a licensing issue. If you want to use
> someone's else code, you need to accept the licensing terms that the 
> developers
> are giving you, by either paying the price for the code usage (on closed 
> source
> licensing models), or by accepting the license when using an open-sourced 
> code.
>
> Preserving the open-source eco-system is something that everyone
> developing open source expect: basically, you're free to do whatever
> you want, but if you're using a code written by an open-source developer,
> the expected behaviour that GPL asks (and that the developer wants, when he
> opted for GPL) is that you should return back to the community with any
> changes you did, including derivative work. This is an essential rule of 
> working
> with GPL.
>
> If you're not happy with that, that's fine. You can implement another stack
> that is not GPL-licensed.

Mauro, you totally misunderstood me. If you see on my first post in that thread
I was sending full GPL-ed driver to the mailinglist.

I simply didn't expect that my source will be refused because of worrying
about misuse it to the bad things(tm).

Note again: I did it GPLed and opensourced, I never ever thought about
binary blobs or some other closed stuffs!

/Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC] vtunerc - virtual DVB device driver

2011-06-20 Thread HoP
2011/6/20 Devin Heitmueller :
> On Mon, Jun 20, 2011 at 3:56 PM, HoP  wrote:
>> Do you think it is really serious enough reason to prevent of having
>> such virtualization driver in the kernel?
>>
>> Let check my situation and tell me how I should continue (TBH, I already
>> thought that driver can be accepted, but my dumb brain thought because
>> of non quality code/design or so. It was really big "surprise" which
>> reason was used aginst it):
>
> Yes, this is entirely a political issue and not a technical one.

Political? So we can declare that politics win (again) technicians. Sad.

> Every couple of years somebody implements such a driver, and they have
> all been rejected for upstream.

Why same not apply to other devices? If I would be really accurate
I would vote for removing nfs, smbfs and all other network sharing filesystems.

> original author of the patch/driver.  In fact, I believe all the cases
> in the past were by people who were friendly to open source.

I would like to know how much such "bad guys" stayed with kernel
development.

> To be fair, I am not the originator of this argument.  If you read the
> history, a variety of other Linux DVB-V4L developers have shared the
> same view (which I adopted after hearing the arguments).

Seems DVB hackers are very specific group. Such politic rule
don't wan't to have any place in the code development. Of course,
it's my personal opinion only.

/Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC] vtunerc - virtual DVB device driver

2011-06-20 Thread HoP
2011/6/20 Devin Heitmueller :
> 2011/6/20 Sébastien RAILLARD (COEXSI) :
>> If I may put my two cents in this discussion regarding the closed source
>> code problem: maybe it could be great to have some closed source drivers
>> making some DVB hardware working better or even allowing more DVB hardware
>> working under Linux. For example, there is a good support of PCI DVB
>> devices, but not yet so much support for PCIe DVB devices (and even less if
>> you're searching for DVB-S2 tuner with CAM support at reasonable price).
>
> Nothing prevents a third-party from writing closed source drivers.
> What we do *not* think is fair though is that those third parties
> should be able to take advantage of all the GPL code that makes up the
> DVB core, and the man-years spent developing that code.
>
> If somebody wants to write a closed source driver, they are welcome to
> (in fact, some companies actually have).  But I'll be damned if
> they're going to reuse GPL code to accomplish it.  They are welcome to
> reimplement the DVB core in userland if that is their goal (under
> whatever licensing terms suits them).
>

Do you think it is really serious enough reason to prevent of having
such virtualization driver in the kernel?

Let check my situation and tell me how I should continue (TBH, I already
thought that driver can be accepted, but my dumb brain thought because
of non quality code/design or so. It was really big "surprise" which
reason was used aginst it):

I have equipment, based of course on Linux and others open-source
code, which is using DVB tuners sharing (the box has two DVB-S2 NIMs
on inputs and ethernet on output). If I understand you well, I have to cut
such box feature (which is, btw, one of very nicer usecase of such box)
and stop thinking about it?

Do you really think that it is a good way which should linux come?
I don't like binary drivers as well. But if developers can't extend
usability of linux because of worrying about blob drivers, it is not
good, it is path to the hell.

My 2cents.

/Honza

PS: I don't want to start any war, but I would like to know if it is only
Devin POV or it has wider support inside linux-media hackers.
Of course I will stay with my drivers outside the kernel. Ugly, I know.
But I never want to enter by closed doors. Not my way.
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC] vtunerc - virtual DVB device driver

2011-06-20 Thread HoP
Hi Devin.

2011/6/20 Devin Heitmueller :
> 2011/6/20 Rémi Denis-Courmont :
>>        Hello,
>>
>> Le dimanche 19 juin 2011 03:10:15 HoP, vous avez écrit :
>>> get inspired by (unfortunately close-source) solution on stb
>>> Dreambox 800 I have made my own implementation
>>> of virtual DVB device, based on the same device API.
>>
>> Some might argue that CUSE can already do this. Then again, CUSE would not be
>> able to reuse the kernel DVB core infrastructure: everything would need to be
>> reinvented in userspace.
>
> Generally speaking, this is the key reason that "virtual dvb" drivers
> have been rejected in the past for upstream inclusion - it makes it

Can you tell me when such disscussion was done? I did a big attempt
to check if my work is not reinventing wheels, but I found only some
very generic frontend template by Emard .

> easier for evil tuner manufacturers to leverage all the hard work done
> by the LinuxTV developers while providing a closed-source solution.

May be I missunderstood something, but I can't see how frontend
virtualization/sharing can help to leverage others work.

> It was an explicit goal to *not* allow third parties to reuse the
> Linux DVB core unless they were providing in-kernel drivers which
> conform to the GPL.

I'm again not sure if you try to argument against vtunerc code
or nope.

Thanks

/Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[RFC] vtunerc - virtual DVB device driver

2011-06-18 Thread HoP
Hi,

get inspired by (unfortunately close-source) solution on stb
Dreambox 800 I have made my own implementation
of virtual DVB device, based on the same device API.

In conjunction with "Dreamtuner" userland project
[http://code.google.com/p/dreamtuner/] by Ronald Mieslinger
user can create virtual DVB device on client side and connect it
to the server. When connected, user is able to use any Linux DVB API
compatible application on client side (like VDR, MeTV, MythTV, etc)
without any need of code modification. As server can be used any
Linux DVB API compatible device.

Here is the small and ugly big picture :-)

CLIENTSERVER
  -
|  Favourite Linux DVB API | |  Real DVB tuner HW   |
|  compatible application| | (any S, C or T)  |
-  -
 |  ^
Linux DVB API layer   Linux DVB API layer
 |  |
v  |
-  |
|   vtunerc.ko  |  |
| (virtual DVB device )|  |
-  |
 |  |
/dev/vtunerX API layer   |
 |  |
v  |
-   -
|  vtunerc.x86||  vtuners.arm
   |
|   (dreamtuner client app)  |   |  (dreamtuner server app)  |
-
 |   ^
 |TCP/IP network |
 --
dreamtuner network protocol


Note: current code was tested on kernels from 2.6.22 up to 2.6.38
and that is the reason of codeversion preprocessor ifdefs there.
I understand fully that such code must be removed for possible
code submission.

Signed-off-by: Honza Petrous 


diff -r a43a9e31be8b drivers/media/dvb/vtunerc/Kconfig
--- /dev/null   Thu Jan 01 00:00:00 1970 +
+++ b/drivers/media/dvb/vtunerc/Kconfig Sun Jun 19 01:55:52 2011 +0200
@@ -0,0 +1,13 @@
+config DVB_VTUNERC
+   tristate "Virtual DVB adapters support"
+   depends on DVB_CORE
+   ---help---
+ Support for virtual DVB adapter.
+
+ Choose Y here if you want to access DVB device residing on other
+ computers using vtuner protocol.  To compile this driver as a module,
+ choose M here: the module will be called vtunerc.
+
+ To connect remote DVB device, you also need to install the user space
+ vtunerc command which can be found in the Dreamtuner package, 
available
+ from http://code.google.com/p/dreamtuner/.
diff -r a43a9e31be8b drivers/media/dvb/vtunerc/Makefile
--- /dev/null   Thu Jan 01 00:00:00 1970 +
+++ b/drivers/media/dvb/vtunerc/MakefileSun Jun 19 01:55:52 2011 +0200
@@ -0,0 +1,14 @@
+#
+# Makefile for the nGene device driver
+#
+
+vtunerc-objs = vtunerc_main.o vtunerc_ctrldev.o vtunerc_proxyfe.o
+
+obj-$(CONFIG_DVB_VTUNERC) += vtunerc.o
+
+EXTRA_CFLAGS += -Idrivers/media/dvb/dvb-core
+EXTRA_CFLAGS += -Idrivers/media/dvb/frontends
+EXTRA_CFLAGS += -Idrivers/media/common/tuners
+EXTRA_CFLAGS += -Iinclude/linux
+
+EXTRA_CFLAGS += -DHAVE_DVB_API_VERSION=5
diff -r a43a9e31be8b drivers/media/dvb/vtunerc/vtuner.h
--- /dev/null   Thu Jan 01 00:00:00 1970 +
+++ b/drivers/media/dvb/vtunerc/vtuner.hSun Jun 19 01:55:52 2011 +0200
@@ -0,0 +1,163 @@
+/*
+ * vtunerc: /dev/vtunerc API
+ *
+ * Copyright (C) 2010-11 Honza Petrous 
+ * [based on dreamtuner userland code by Roland Mieslinger]
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation version 2.
+ *
+ * This program is distributed WITHOUT ANY WARRANTY of any
+ * kind, whether express or implied; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef _VTUNER_H_
+#define _VTUNER_H_
+
+#ifndef HAVE_DVB_API_VERSION
+#define HAVE_DVB_API_VERSION 5
+#endif
+
+#if HAVE_DVB_API_VERSION < 3
+  #include 
+  #include 
+  #include 
+#else
+  #include 
+  #include 
+  #include 
+#endif
+
+#define VT_S   0x01
+#define VT_C   0x02
+#define VT

Re: dvb-core/dvb_frontend.c: Synchronizing legacy and new tuning API

2011-05-12 Thread HoP
2011/5/12 Bjørn Mork :
> Andreas Oberritter  writes:
>
>> Please try the patches submitted for testing:
>>
>> http://www.mail-archive.com/linux-media@vger.kernel.org/msg31194.html
>
> Ah, great! Thanks.  Nothing better than a problem already solved.

Not solved. Andreas did an attempt to solve it (at least as far as I know
patches not get accepted yet), so please report your result of testing.

Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: stv090x vs stv0900

2010-05-06 Thread HoP
Hi Pascal,

> I was adding support for a non working version of DVBWorld HD 2104
>
> It is listed on
> http://www.linuxtv.org/wiki/index.php/DVBWorld_HD_2104_FTA_USB_Box as :
>
> =
> for new solution : 2104B (Sharp0169 Tuner)
>
>      * STV6110A tuner
>      * ST0903 demod
>      * Cyrix CY7C68013A USB controller
> =
>
> The 2104A is supposed to be working and also have ST0903 but uses
> stv0900, so I tried using it too but did not manage to get it working.
>
> I now have some working code by using stv090x + stv6110x (copied config
> from budget) but I am wondering why do we have 2 drivers for stv0900,
> and is stv0900 supposed to handle stv0903 devices or is either the code
> or the wki wrong about 2104A?
>
> Also, are they both maintained ? I wrote a patch to add get_frontend to
> stv090x but stv0900 also does not have it and I don't know which one
> should get new code.
>
> And stv6110x seems to also handle stv6110 which also exists as a
> separate module...

Hehe, you are not only one who is fooled by current situation
regarding demods stv0900/stv0903 and plls stv6110.

Current status-quo is not good. Same question is asked here
again and again. Interesting that it is against usual rule
having only one driver for every chip in kernel, but this time that
rather strong rule was not applied. Dunno why.

May be someone from "knowings" can answer that on wiki?

/Honza

PS: FYI I'm also using BOTH variants in 2 projects. For me
both look very similar and work w/o probs. So I can't tell you
which is better :)
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: zvbi-atsc-cc device node conflict

2010-04-17 Thread HoP
> That's promising but no cigar:
>
> cat test-cat3.mpeg > zvbi-atsc-cc --ts
>
> just feeds the output of the cat into a file called zvbi-atsc-cc (not
> surprisingly).

Hehe. Sure, it was my mistake. Piping syntax what you tried
later is exactly what I thought :-)

>
>  cat test-cat3.mpeg | zvbi-atsc-cc --ts
>
> also doesn't work. zvbi-atsc-cc's --ts switch is designed to "Decode a DVB
> Transport Stream on stdin", so if the file created with
>
>  cat /dev/dvb/adapter0/dvr0 > test-cat3.mpeg
>
> qualifies as a DVB Transport Stream, then there's a way to pipe it to
> zvbi-atsc-cc.  How do we get the syntax for this?
>

Of course I can be wrong as I have exactly zero experiences of using
zvbi tool, but I think command line option --ts should tell that
data are not comming from dvr device but from stdin. Dunno
why it not works for you. May be it needs some additional options?

/Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: zvbi-atsc-cc device node conflict

2010-04-17 Thread HoP
2010/4/17 David Liontooth :
> HoP wrote:
>>
>> 2010/4/17 Devin Heitmueller :
>>
>>>
>>> On Fri, Apr 16, 2010 at 7:19 PM, David Liontooth 
>>> wrote:
>>>
>>>>
>>>> I'm using a HVR-1850 in digital mode and get good picture and sound
>>>> using
>>>>
>>>>  mplayer -autosync 30 -cache 2048 dvb://KCAL-DT
>>>>
>>>> Closed captioning works flawlessly with this command:
>>>>
>>>> zvbi-atsc-cc -C test-cc.txt KCAL-DT
>>>>
>>>> However, if I try to run both at the same time, I get a device node
>>>> conflict:
>>>>
>>>>  zvbi-atsc-cc: Cannot open '/dev/dvb/adapter0/frontend0': Device or
>>>> resource
>>>> busy.
>>>>
>>>> How do I get video and closed captioning at the same time?
>>>>
>>>
>>> To my knowledge, you cannot run two userland apps streaming from the
>>> frontend at the same time.  Generally, when people need to do this
>>> sort of thing they write a userland daemon that multiplexes.
>>> Alternatively, you can cat the frontend to disk and then have both
>>> mplayer and your cc parser reading the resulting file.
>>>
>>>
>>
>> Usually there is some way, for ex. command line option,
>> how to say to "second" app that frondend is already locked.
>> Then second app simply skips tuning at all.
>>
>> Rest processing is made using demux and dvr devices,
>> so there is not reason why 2 apps should tune in same
>> time.
>>
>> /Honza
>>
>
> Thanks! I'm trying to create separate recordings of the video/audio file on
> the one hand and the closed captioning on the other.
>
> In one console, I issue
>
>  azap -r KOCE-HD
>
> In a second, I issue
>
>  cat /dev/dvb/adapter0/dvr0 > test-cat3.mpeg
>
> I cannot at the same time run this in a third:
>
>  zvbi-atsc-cc -C test-cc.txt KOCE-HD
>
> because of resource conflict.
>
> Using cat works, but how do I get closed captioning from the resulting mpeg
> file?
>

Very dump way is simply feed zvbi with resulting test-cat3.mpeg.
If this page is correct: http://www.digipedia.pl/man/doc/view/zvbi-atsc-cc.1/
using -t command line option you can get CC by issuing something like
"cat test-cat3.mpeg > zvbi-atsc-cc -ts -C test-cc.txt"

Of course I'm assuming that CC pid is included in recording.
But dunno if azap is demuxing pids others then A/V.

/Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: zvbi-atsc-cc device node conflict

2010-04-16 Thread HoP
2010/4/17 Devin Heitmueller :
> On Fri, Apr 16, 2010 at 7:19 PM, David Liontooth  wrote:
>> I'm using a HVR-1850 in digital mode and get good picture and sound using
>>
>>  mplayer -autosync 30 -cache 2048 dvb://KCAL-DT
>>
>> Closed captioning works flawlessly with this command:
>>
>> zvbi-atsc-cc -C test-cc.txt KCAL-DT
>>
>> However, if I try to run both at the same time, I get a device node
>> conflict:
>>
>>  zvbi-atsc-cc: Cannot open '/dev/dvb/adapter0/frontend0': Device or resource
>> busy.
>>
>> How do I get video and closed captioning at the same time?
>
> To my knowledge, you cannot run two userland apps streaming from the
> frontend at the same time.  Generally, when people need to do this
> sort of thing they write a userland daemon that multiplexes.
> Alternatively, you can cat the frontend to disk and then have both
> mplayer and your cc parser reading the resulting file.
>

Usually there is some way, for ex. command line option,
how to say to "second" app that frondend is already locked.
Then second app simply skips tuning at all.

Rest processing is made using demux and dvr devices,
so there is not reason why 2 apps should tune in same
time.

/Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [ivtv-devel] Andy Walls' change of email address

2010-03-25 Thread HoP
2010/3/25 Jay R. Ashworth :
> - "HoP"  wrote:
>> > As a consequence of moving myself into the 21st century by obtaining
>> > cable internet service, I have a new e-mail address:
>> >
>> >        awalls md.metrocast.net
>> >
>> > My radix.net email address will soon cease working.
>>
>> of course it is not my job, but I wonder why you not
>> stay on old email. In 21 century there is no problem
>> to move domain to other place or, at least, do
>> some type of forwarding :)
>>
>> My 2 cents
>>
>> /Honza
>>
>> PS: The only real reason I can imagine is that radix.com
>> is not your own domain and owner of it doesn't allow
>> mail forwarding.
>
> Which is, indeed, what one finds by pointing a browser at www.radix.net;
> that mailbox belongs to his old ISP, and presumably he doesn't want to keep
> paying them for it.
>
> It might be worth your while, though, Andy, as active as you are in the
> development community (and thanks again for it) to ask them if they'd forward
> that address for a while, for a nominal charge...  I used to do it, when I
> ran a small dialup ISP...
>

TBH I would imagine radix.net can be proud if so well-know developer
is using theirs domain. May be they would pay for his advertising :)

/Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Andy Walls' change of email address

2010-03-25 Thread HoP
Hi,

> As a consequence of moving myself into the 21st century by obtaining
> cable internet service, I have a new e-mail address:
>
>        awalls md.metrocast.net
>
> My radix.net email address will soon cease working.
>

of course it is not my job, but I wonder why you not
stay on old email. In 21 century there is no problem
to move domain to other place or, at least, do
some type of forwarding :)

My 2 cents

/Honza

PS: The only real reason I can imagine is that radix.com
is not your own domain and owner of it doesn't allow
mail forwarding.
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: "However, if you don't want to lose your freedom, you had better not follow him." (Re: Videotext application crashes the kernel due to DVB-demux patch)

2010-02-07 Thread HoP
Hi Chicken

2010/2/7 Chicken Shack :
> Am Sonntag, den 07.02.2010, 19:10 +0100 schrieb HoP:
>> Hi Chicken,
>>
>> >
>> > However I am still alone with the other problem I always stressed:
>> >
>> > When using alevt-dvb (I attached my overworked version 1.7.0 in earlier
>> > mails - please do have a look at it!) the application hangs when you
>> > decide to switch to a channel that is part of a new transponder.
>> > The program hangs then. That means the way alevt-dvb is dealing with the
>> > PMT (program map table) is highly incomplete.
>> > It needs a reset function to read the new PMT when the transponder is
>> > being changed...
>> >
>>
>> If you tell me which application is managing channel zaping function
>> then we can try to find way how to signal that to alevt-dvb.
>
> Hi Hello Honza,
>
> well, every application being capable of playing back DVB-TV with
> in-built receiver engine could manage that.
>
> Just the examples that I know:
>
> 1. mplayer (receiver engine is good old dvbstream from D. Chapman)
> 2. xine-ui (receiver engine is libxine)
> 3. kaffeine (dito 2.)
> 4. mythtv (don't know which)
> 5. xawtv (proprietary receiver engine)
>
>

Oki, seems you not understood me fully. I ment exactly your configuration.
I need to know:

1, which application is tuning to transponder in your case.
2, is there only one alevt-dvb instance running? Typically, there is the only
one, but, of course I can imagine you do some postprocessing of ALL
teletext services on current transponder.

>> > I do not know how to program that simple reset function. But I know that
>> > this is the definite key to resolve the issue.
>> > PMT reading, PMT opening, PMT parsing...
>> > Everything is already inside of the source code of alevt-dvb.
>> >
>>
>> In case, if more then one DVB application is running, one is something
>> like "master" (which do frontend operation, ie. channel change)
>> and rest are slaves. So master has to signal channel/transponder change
>> to the all slaves. Typically, it is done by some custom specific way.
>> For example master can open some well-known unix socket
>> where all slaves are connecting and where, in case of channel change,
>> is sent (by master) some info about such event.
>
> Yes, exactly that's the way it is! Right!
>
> But however the "master" application is doing this tuning job, it's not
> our problem issue right here.
> Our problem issue right here is how to make the "slave" application
> comprehend what the "master" application just managed to do.
>
> When I was doing the code cleanup of the complete Flexcop driver series
> Patrick Boettcher taught me what a software watchdog is and how it
> works. The Conexant frontend / demodulator chip does not work together
> with the Flexcop main chip without a software watchdog performing
> reinitialization every 400 milliseconds. That came into my mind a couple
> of minutes ago.
>

Well, we should stay outside kernel layer. Best solution should be
to manage signalling (of transponder change and futher information)
inside userland level. And this is why I was asking who is the master
(who is doing channel change)

> So how about giving alevt-dvb a software watchdog function that just
> looks up lets say every 2 seconds whether the PMT has changed or not,
> performing a reinitialisation of the PMT treatment built inside, i. e.
> doing something like a restart of alevt-dvb?
>

To find how to catch that "PMT has changed" we have to know
who is doing such PMT change operation.

> Would that be a pratical solution?
> Or what would be your personal proposal, Honza?
>
> Cheers
>
> CS
>
> P. S.: The decisive case the program must learn to deal with is NOT a
> simple channel change, as you express it above, Honza.
> The proggy can already run multiple instances in parallel console
> sessions if the transponder is one and the same..
>
> The decisive case the program must learn to deal with is a combination
> of channel change PLUS transponder change, which makes it necessary to
> read, work over and parse a complete new PMT (program map table) causing
> the UI to at least starting the main program of the new transponder
> (which is ZDF f. ex. if the transponder is ZDFVision.
> Everything clear so far? Questions?
>

Still the only one question - how it works for you now? How do you
zap to channel right now? I expect you have some favourite application.

Cheers

/Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: "However, if you don't want to lose your freedom, you had better not follow him." (Re: Videotext application crashes the kernel due to DVB-demux patch)

2010-02-07 Thread HoP
Hi Chicken,

>
> However I am still alone with the other problem I always stressed:
>
> When using alevt-dvb (I attached my overworked version 1.7.0 in earlier
> mails - please do have a look at it!) the application hangs when you
> decide to switch to a channel that is part of a new transponder.
> The program hangs then. That means the way alevt-dvb is dealing with the
> PMT (program map table) is highly incomplete.
> It needs a reset function to read the new PMT when the transponder is
> being changed...
>

If you tell me which application is managing channel zaping function
then we can try to find way how to signal that to alevt-dvb.

> I do not know how to program that simple reset function. But I know that
> thsi is the definite key to resolve the issue.
> PMT reading, PMT opening, PMT parsing...
> Everything is already inside of the source code of alevt-dvb.
>

In case, if more then one DVB application is running, one is something
like "master" (which do frontend operation, ie. channel change)
and rest are slaves. So master has to signal channel/transponder change
to the all slaves. Typically, it is done by some custom specific way.
For example master can open some well-known unix socket
where all slaves are connecting and where, in case of channel change,
is sent (by master) some info about such event.

Cheers

/Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Need to discuss method for multiple, multiple-PID TS's from same demux (Re: Videotext application crashes the kernel due to DVB-demux patch)

2010-02-05 Thread HoP
Hi Chicken

>
> Furthermore: If it is technically possible to send and receive, demux
> and multiplex, play and record complete contents of a transponder (i. e.
> multiple TS streams) by using dvbstream or mumudvb (-> 8192 command line
> parameter), then I myself do not see the necessity to extend the
> capabilities of one physical device dvr0 or demux0 into a multiplicity
> of devices dvr0 or demux0.
> The what and especially the why will remain Andreas Oberritters' secret.

I can only say my 2 words regarding Andreas' patch:

At least one big DVB application is using it - enigma (originally
inside tuxbox project, later enhanced by Dream Multimedia
for theirs well-known linux based set-top-boxes Dreambox).
Those boxes are selling worlwide, so userbase is wide enough
(note: I'm not in any way connected with Dream Multimedia,
so it is only my personal feeling and/or investigation).

Of course using full TS and remuxing only in user land
is not possible way for embedded application. And if you count
that there can be more then one TS input, things are getting even worst.

And as Andy wrote:
>> But sending multiple PIDs out in a TS to the open demux0 device instance
>> is just an awkward way to essentially dynamically create a dvrN device
>> associated with filter(s) set on an open demux0 instance.
>>
>> It would be better, in my opinion, to figure out a way to properly
>> create and/or associate a dvrN device node with a collection of demuxN
>> filters.
>>
>> Maybe just allow creation of a logical demux1 device and dvr1 device and
>> the use the DVB API calls as is on the new logical devices.
>>
>> I'm not a DVB apps programmer, so I don't know all the userspace needs
>> nor if anything is already using the DMX_ADD_PID and DMX_REMOVE_PID
>> ioctl()s.
>>
>>

Well, it is also possible way. But it expands
dvrX from usuall dvr0 to something like dvr0 ... dvr31 or so.

We definitelly need such feature.

I, personally, like DMX_OUT_TSDEMUX_TAP approach.

Rgds

/Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v3] isl6421.c - added tone control and temporary diseqc overcurrent

2010-01-20 Thread HoP
2010/1/21 Mauro Carvalho Chehab :
> HoP wrote:
>> Hi Mauro,
>>
>> 2010/1/20 Mauro Carvalho Chehab :
>>> HoP wrote:
>>>> Hi Mauro,
>>>>
>>>> Not to hassle you, I'm sure you're very busy.
>>>>
>>>> But I'm not yet received a response from you on mail with corrected patch.
>>>>
>>>> Your attention would be appreciated
>>> Hi Honza,
>>>
>>> The patch looks correct to me, but, as I previously mentioned, our policy is
>>> to add new features at the kernel driver only together with a driver that
>>> actually requires it. This helps to avoid increasing the kernel without 
>>> need.
>>>
>>> So, please re-submit it when you have your driver requiring the isl6421
>>> changes ready for submission, on the same patch series.
>>>
>>
>> Are you sure about such policy?
>>
>> I did small google research and found out the following:
>>
>> My feeling is different otherwise I don't understand why did you
>> accept WITHOUT any word Oliver Endriss' PULL request
>> from December 12th:
>> http://www.mail-archive.com/linux-media@vger.kernel.org/msg13302.html
>>
>> I'm pointing on Oliver's pull request only because he did very similar
>> thing for lnbp21 like I did for isl6421.
>>
>> You very quickly added his patch to 2.6.33 on December 16th:
>> http://www.mail-archive.com/linux-media@vger.kernel.org/msg13429.html
>>
>> So again. If I'm not blind you have accepted same work from him
>> but not from me. Please show me what I have overlooked
>> and this is not true.
>>
>> Another possible explanation is that I'm totally unknow.
>>
>> I hope you have some other explanation otherwise it feels to
>> me like elitism.
>
> As far as I understood, those changes are needed by the mantis driver, that
> got committed on the next day, as shown at the commit logs:
>
> http://linuxtv.org/hg/v4l-dvb/rev/07c36cb88bce
> http://linuxtv.org/hg/v4l-dvb/rev/d644727cd528
>
> So, on that time I had already a pull request for the mantis driver.
>
> It is fine if I receive two separate pull requests, one depending of the 
> other.
>
> That's said, Oliver is the maintainer of isl6421 driver, so he is the one 
> that better
> know what bugs are there and what fixes are needed. Due to that, when I 
> receive a
> patch from a driver maintainer, I'm inclined to ack with the changes, in the 
> belief
> that he is doing the better for the driver. Even so, I review the driver 
> looking
> for troubles on his approach taking more care with new exported symbols added 
> and with
> new userspace API's that the patch might have.
>

OK, you beat me.

Good bye

/Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v3] isl6421.c - added tone control and temporary diseqc overcurrent

2010-01-20 Thread HoP
Hi Mauro,

2010/1/20 Mauro Carvalho Chehab :
> HoP wrote:
>> Hi Mauro,
>>
>> Not to hassle you, I'm sure you're very busy.
>>
>> But I'm not yet received a response from you on mail with corrected patch.
>>
>> Your attention would be appreciated
>
> Hi Honza,
>
> The patch looks correct to me, but, as I previously mentioned, our policy is
> to add new features at the kernel driver only together with a driver that
> actually requires it. This helps to avoid increasing the kernel without need.
>
> So, please re-submit it when you have your driver requiring the isl6421
> changes ready for submission, on the same patch series.
>

Are you sure about such policy?

I did small google research and found out the following:

My feeling is different otherwise I don't understand why did you
accept WITHOUT any word Oliver Endriss' PULL request
from December 12th:
http://www.mail-archive.com/linux-media@vger.kernel.org/msg13302.html

I'm pointing on Oliver's pull request only because he did very similar
thing for lnbp21 like I did for isl6421.

You very quickly added his patch to 2.6.33 on December 16th:
http://www.mail-archive.com/linux-media@vger.kernel.org/msg13429.html

So again. If I'm not blind you have accepted same work from him
but not from me. Please show me what I have overlooked
and this is not true.

Another possible explanation is that I'm totally unknow.

I hope you have some other explanation otherwise it feels to
me like elitism.

Regards

/Honza

> Cheers,
> Mauro.
>>
>> Regards
>>
>> /Honza
>>
>> 2009/12/16 HoP :
>>> Hi Mauro,
>>>
>>> 2009/12/15 Mauro Carvalho Chehab :
>>> [snip]
>>>
>>>> I'm still missing a driver or a board entry that requires those
>>>> changes. Could you please send it together with this patch series?
>>>>
>>> We are using it in our project. Currently we are in very early
>>> stage of it. We still have some serious issue, what not allows
>>> us sending such code for mainlining.
>>>
>>> Anyway, I don't think it can block accepting current patchset.
>>> Isl6421 driver is already in tree, we only want to add some
>>> features, which can be or can not be interesting for others.
>>>
>>> I believe extending of usability of current drivers is correct
>>> way.
>>>
>>>> Also, you forgot to send your Signed-off-By. This is required for
>>>> patch submission.
>>>>
>>>>> Regards
>>>>>
>>>>> /Honza
>>>>>
>>>>> ---
>>>>>
>>>>> isl6421.c - added tone control and temporary diseqc overcurrent
>>>> Please, always send patches in-lined. makes easier for commenting.
>>>>
>>> OK.
>>>
>>>>> diff -r 79fc32bba0a0 linux/drivers/media/dvb/b2c2/flexcop-fe-tuner.c
>>>>> --- a/linux/drivers/media/dvb/b2c2/flexcop-fe-tuner.c Mon Dec 14 17:43:13 
>>>>> 2009 -0200
>>>>> +++ b/linux/drivers/media/dvb/b2c2/flexcop-fe-tuner.c Tue Dec 15 16:36:14 
>>>>> 2009 +0100
>>>>> @@ -302,6 +302,12 @@ static struct itd1000_config skystar2_re
>>>>>       .i2c_address = 0x61,
>>>>>  };
>>>>>
>>>>> +static struct isl6421_config skystar2_rev2_7_isl6421_config = {
>>>>> +     .i2c_address = 0x08,
>>>>> +     .override_set = 0x01,
>>>>> +     .override_clear = 0x01,
>>>>> +};
>>>>> +
>>>>>  static int skystar2_rev27_attach(struct flexcop_device *fc,
>>>>>       struct i2c_adapter *i2c)
>>>>>  {
>>>>> @@ -325,7 +331,7 @@ static int skystar2_rev27_attach(struct
>>>>>       /* enable no_base_addr - no repeated start when reading */
>>>>>       fc->fc_i2c_adap[2].no_base_addr = 1;
>>>>>       if (!dvb_attach(isl6421_attach, fc->fe, 
>>>>> &fc->fc_i2c_adap[2].i2c_adap,
>>>>> -                     0x08, 1, 1)) {
>>>>> +                     &skystar2_rev2_7_isl6421_config)) {
>>>>>               err("ISL6421 could NOT be attached");
>>>>>               goto fail_isl;
>>>>>       }
>>>>> @@ -368,6 +374,12 @@ static const struct cx24113_config skyst
>>>>>       .xtal_khz = 10111,
>>>>>  };
>>>>>
>>>>> +static struct isl6421_config skystar2_rev2_8_isl6421_config = {
>>>>> +     .i2c_addre

Re: [PATCH v3] isl6421.c - added tone control and temporary diseqc overcurrent

2010-01-20 Thread HoP
Hi Mauro,

Not to hassle you, I'm sure you're very busy.

But I'm not yet received a response from you on mail with corrected patch.

Your attention would be appreciated

Regards

/Honza

2009/12/16 HoP :
> Hi Mauro,
>
> 2009/12/15 Mauro Carvalho Chehab :
> [snip]
>
>>
>> I'm still missing a driver or a board entry that requires those
>> changes. Could you please send it together with this patch series?
>>
>
> We are using it in our project. Currently we are in very early
> stage of it. We still have some serious issue, what not allows
> us sending such code for mainlining.
>
> Anyway, I don't think it can block accepting current patchset.
> Isl6421 driver is already in tree, we only want to add some
> features, which can be or can not be interesting for others.
>
> I believe extending of usability of current drivers is correct
> way.
>
>> Also, you forgot to send your Signed-off-By. This is required for
>> patch submission.
>>
>>>
>>> Regards
>>>
>>> /Honza
>>>
>>> ---
>>>
>>> isl6421.c - added tone control and temporary diseqc overcurrent
>>
>> Please, always send patches in-lined. makes easier for commenting.
>>
>
> OK.
>
>>> diff -r 79fc32bba0a0 linux/drivers/media/dvb/b2c2/flexcop-fe-tuner.c
>>> --- a/linux/drivers/media/dvb/b2c2/flexcop-fe-tuner.c Mon Dec 14 17:43:13 
>>> 2009 -0200
>>> +++ b/linux/drivers/media/dvb/b2c2/flexcop-fe-tuner.c Tue Dec 15 16:36:14 
>>> 2009 +0100
>>> @@ -302,6 +302,12 @@ static struct itd1000_config skystar2_re
>>>       .i2c_address = 0x61,
>>>  };
>>>
>>> +static struct isl6421_config skystar2_rev2_7_isl6421_config = {
>>> +     .i2c_address = 0x08,
>>> +     .override_set = 0x01,
>>> +     .override_clear = 0x01,
>>> +};
>>> +
>>>  static int skystar2_rev27_attach(struct flexcop_device *fc,
>>>       struct i2c_adapter *i2c)
>>>  {
>>> @@ -325,7 +331,7 @@ static int skystar2_rev27_attach(struct
>>>       /* enable no_base_addr - no repeated start when reading */
>>>       fc->fc_i2c_adap[2].no_base_addr = 1;
>>>       if (!dvb_attach(isl6421_attach, fc->fe, &fc->fc_i2c_adap[2].i2c_adap,
>>> -                     0x08, 1, 1)) {
>>> +                     &skystar2_rev2_7_isl6421_config)) {
>>>               err("ISL6421 could NOT be attached");
>>>               goto fail_isl;
>>>       }
>>> @@ -368,6 +374,12 @@ static const struct cx24113_config skyst
>>>       .xtal_khz = 10111,
>>>  };
>>>
>>> +static struct isl6421_config skystar2_rev2_8_isl6421_config = {
>>> +     .i2c_address = 0x08,
>>
>>> +     .override_set = 0x00,
>>> +     .override_clear = 0x00,
>>
>> Please, do not set any static value to zero. Kernel module support already
>> does that, and this will just add uneeded stuff into BSS.
>>
>
> Done.
>
>>> +};
>>> +
>>>  static int skystar2_rev28_attach(struct flexcop_device *fc,
>>>       struct i2c_adapter *i2c)
>>>  {
>>> @@ -391,7 +403,7 @@ static int skystar2_rev28_attach(struct
>>>
>>>       fc->fc_i2c_adap[2].no_base_addr = 1;
>>>       if (!dvb_attach(isl6421_attach, fc->fe, &fc->fc_i2c_adap[2].i2c_adap,
>>> -                     0x08, 0, 0)) {
>>> +                     &skystar2_rev2_8_isl6421_config)) {
>>>               err("ISL6421 could NOT be attached");
>>>               fc->fc_i2c_adap[2].no_base_addr = 0;
>>>               return 0;
>>> diff -r 79fc32bba0a0 linux/drivers/media/dvb/frontends/isl6421.c
>>> --- a/linux/drivers/media/dvb/frontends/isl6421.c     Mon Dec 14 17:43:13 
>>> 2009 -0200
>>> +++ b/linux/drivers/media/dvb/frontends/isl6421.c     Tue Dec 15 16:36:14 
>>> 2009 +0100
>>> @@ -3,6 +3,9 @@
>>>   *
>>>   * Copyright (C) 2006 Andrew de Quincey
>>>   * Copyright (C) 2006 Oliver Endriss
>>> + * Copyright (C) 2009 Ales Jurik and Jan Petrous (added optional 22k tone
>>> + *                    support and temporary diseqc overcurrent enable until
>>> + *                    next command - set voltage or tone)
>>>   *
>>>   * This program is free software; you can redistribute it and/or
>>>   * modify it under the terms of the GNU General Public License
>>> @@ -36,37 +39,88 @@
>>>  #include "isl6421.h"
>&g

Re: About driver architecture

2010-01-14 Thread HoP
> The STi7109 also has a frame buffer approach, currently the
> framebuffer is not implemented in this specific case.
> http://osdir.com/ml/linux.fbdev.user/2008-07/msg4.html
>

When you use stb7109 as main cpu for system (like is done
for many linux or os21-based set-top-boxes already), then
you can use FB driver from stlinux, what is STM's port
of linux for theirs STB7xxx SOCs. See more on www.stlinux.com.

Even more, there is already flying around full source code
for such SOCs, which allows you to make full-featured box.

I have a dream that sometimes those drivers come to mainline
similar like TI chips are comming these days.

/Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: About driver architecture

2010-01-14 Thread HoP
Hi Manu,

2010/1/14 Manu Abraham :
> Well, the SAA716x is only the PCI Express interface. There is no video
> capture involved in there with the STi7109. It is a full fledged DVB
> STB SOC.
>
> OSD is handled by the STi7109 on that STB.
> http://www.st.com/stonline/products/literature/bd/11660/sti7109.pdf
>
> Though it is not complete, that driver, it still does handle it,
> through the firmware interface. These are the kind of devices that you
> find on a DVB STB, i must say.
>
> On a DVB STB, what happens is that you load a vendor specific firmware
> on the SOC. The SOC is just issued the firmware commands, that's how a
> STB works in principle. A DVB STB can be considered to have 2 outputs,
> ie if you use it as a PC card, you can output the whole thing to your
> PC monitor, or output it to a TV set. But in the case of the STB, you
> have a TV output alone.
>

I never know about use of stb7109 in any PCI card. It is surprise
to me. Interesting what firmware is loaded to stb7109. Is it STM's
proprietary os21 or even linux?

/Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: CI USB

2010-01-10 Thread HoP
> I don't know the details into the USB device, but each of those CAM's
> have bandwidth limits on them and they vary from one CAM to the other.
> Also, there is a limit on the number of simultaneous PID's that which
> you can decrypt.
>
> Some allow only 1 PID, some allow 3. Those are the basic CAM's for
> home usage.The most expensive CAM's allow a maximum of 24 PID's. But

You, of course, ment number of descramblers not PIDS because it is evident
that getting TV service descrambled, you need as minimum 2 PIDS for A/V.

Anyway, it is very good note. Users, in general, don't know about it.

/Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: CI USB

2010-01-02 Thread HoP
Hi Jonas

> Does anyone know if there's any progress on USB CI adapter support?
> Last posts I can find are from 2008 (Terratec Cinergy CI USB &
> Hauppauge WinTV-CI).
>
> That attempt seems to have stranded with Luc Brosens (who gave it a
> shot back then) asking for help.
>
> The chip manufacturer introduced a usb stick as well;
> http://www.smardtv.com/index.php?page=products_listing&rubrique=pctv§ion=usbcam
> but besides the scary Vista logo on that page, it looks like they
> target broadcast companies only and not end users.
>

You are right. Seems DVB CI stick is not targeted to end consumers.

Anyway, it looks interesting, even it requires additional DVB tuner
"somewhere in the pc" what means duplicated traffic (to the CI stick
for descrambling and back for mpeg a/v decoding).

It would be nice to see such stuff working in linux, but because of
market targeting i don' t expect that.

BTW, Hauppauge's WinTV-CI looked much more promissing.
At least when I started reading whole thread about it here:
http://www.mail-archive.com/linux-...@linuxtv.org/msg28113.html

Unfortunatelly, last Steve's note about not getting anything
(even any answer) has disappointed me fully. And because
google is quiet about any progress on it I pressume
no any docu nor driver was released later on.

/Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v3] isl6421.c - added tone control and temporary diseqc overcurrent

2009-12-15 Thread HoP
Hi Mauro,

2009/12/15 Mauro Carvalho Chehab :
[snip]

>
> I'm still missing a driver or a board entry that requires those
> changes. Could you please send it together with this patch series?
>

We are using it in our project. Currently we are in very early
stage of it. We still have some serious issue, what not allows
us sending such code for mainlining.

Anyway, I don't think it can block accepting current patchset.
Isl6421 driver is already in tree, we only want to add some
features, which can be or can not be interesting for others.

I believe extending of usability of current drivers is correct
way.

> Also, you forgot to send your Signed-off-By. This is required for
> patch submission.
>
>>
>> Regards
>>
>> /Honza
>>
>> ---
>>
>> isl6421.c - added tone control and temporary diseqc overcurrent
>
> Please, always send patches in-lined. makes easier for commenting.
>

OK.

>> diff -r 79fc32bba0a0 linux/drivers/media/dvb/b2c2/flexcop-fe-tuner.c
>> --- a/linux/drivers/media/dvb/b2c2/flexcop-fe-tuner.c Mon Dec 14 17:43:13 
>> 2009 -0200
>> +++ b/linux/drivers/media/dvb/b2c2/flexcop-fe-tuner.c Tue Dec 15 16:36:14 
>> 2009 +0100
>> @@ -302,6 +302,12 @@ static struct itd1000_config skystar2_re
>>   .i2c_address = 0x61,
>>  };
>>
>> +static struct isl6421_config skystar2_rev2_7_isl6421_config = {
>> + .i2c_address = 0x08,
>> + .override_set = 0x01,
>> + .override_clear = 0x01,
>> +};
>> +
>>  static int skystar2_rev27_attach(struct flexcop_device *fc,
>>   struct i2c_adapter *i2c)
>>  {
>> @@ -325,7 +331,7 @@ static int skystar2_rev27_attach(struct
>>   /* enable no_base_addr - no repeated start when reading */
>>   fc->fc_i2c_adap[2].no_base_addr = 1;
>>   if (!dvb_attach(isl6421_attach, fc->fe, &fc->fc_i2c_adap[2].i2c_adap,
>> - 0x08, 1, 1)) {
>> + &skystar2_rev2_7_isl6421_config)) {
>>   err("ISL6421 could NOT be attached");
>>   goto fail_isl;
>>   }
>> @@ -368,6 +374,12 @@ static const struct cx24113_config skyst
>>   .xtal_khz = 10111,
>>  };
>>
>> +static struct isl6421_config skystar2_rev2_8_isl6421_config = {
>> + .i2c_address = 0x08,
>
>> + .override_set = 0x00,
>> + .override_clear = 0x00,
>
> Please, do not set any static value to zero. Kernel module support already
> does that, and this will just add uneeded stuff into BSS.
>

Done.

>> +};
>> +
>>  static int skystar2_rev28_attach(struct flexcop_device *fc,
>>   struct i2c_adapter *i2c)
>>  {
>> @@ -391,7 +403,7 @@ static int skystar2_rev28_attach(struct
>>
>>   fc->fc_i2c_adap[2].no_base_addr = 1;
>>   if (!dvb_attach(isl6421_attach, fc->fe, &fc->fc_i2c_adap[2].i2c_adap,
>> - 0x08, 0, 0)) {
>> + &skystar2_rev2_8_isl6421_config)) {
>>   err("ISL6421 could NOT be attached");
>>   fc->fc_i2c_adap[2].no_base_addr = 0;
>>   return 0;
>> diff -r 79fc32bba0a0 linux/drivers/media/dvb/frontends/isl6421.c
>> --- a/linux/drivers/media/dvb/frontends/isl6421.c Mon Dec 14 17:43:13 
>> 2009 -0200
>> +++ b/linux/drivers/media/dvb/frontends/isl6421.c Tue Dec 15 16:36:14 
>> 2009 +0100
>> @@ -3,6 +3,9 @@
>>   *
>>   * Copyright (C) 2006 Andrew de Quincey
>>   * Copyright (C) 2006 Oliver Endriss
>> + * Copyright (C) 2009 Ales Jurik and Jan Petrous (added optional 22k tone
>> + *support and temporary diseqc overcurrent enable until
>> + *next command - set voltage or tone)
>>   *
>>   * This program is free software; you can redistribute it and/or
>>   * modify it under the terms of the GNU General Public License
>> @@ -36,37 +39,88 @@
>>  #include "isl6421.h"
>>
>>  struct isl6421 {
>> - u8  config;
>> - u8  override_or;
>> - u8  override_and;
>> - struct i2c_adapter  *i2c;
>> - u8  i2c_addr;
>> + const struct isl6421_config *config;
>> + u8  reg1;
>
> reg1 seems a very bad name. Based on the datasheet, maybe
> you could call it as sys_config or sys_reg_config.
>

Renamed to sys_reg.

>> +
>> + struct i2c_adapter *i2c;
>> +
>> + int (*diseqc_send_master_cmd_orig)(struct dvb_frontend *fe,
>> + struct dvb_diseqc_master_cmd *cmd);
>>  };
>>
>>  static int isl6421_set_voltage(struct dvb_frontend *fe, fe_sec_voltage_t 
>> voltage)
>>  {
>>   struct isl6421 *isl6421 = (struct isl6421 *) fe->sec_priv;
>> - struct i2c_msg msg = {  .addr = isl6421->i2c_addr, .flags = 0,
>> - .buf = &isl6421->config,
>> - .len = sizeof(isl6421->config) };
>> + struct i2c_msg msg = {  .addr = isl6421->config->i2c_addr, .flags = 0,
>> + .buf = &isl6421->reg1,
>> + .len = sizeof(isl6421->reg1) };
>>
>> - isl6421->config &= ~(ISL6421_VSEL1 | ISL6421_EN1)

[PATCH v2] isl6421.c - added tone control and temporary diseqc overcurrent

2009-12-15 Thread HoP
Hi Mauro,

I have finally found some time for reworking our patch
with regards of notes I got in disscussion.

BTW, I learnt that sending patch for review to original
authors is right thing (tm), so I have added Oliver,
as isl6421.c author, Patrick as flexcop author, Gerd
as cx88/saa7134 author (I hope I found correct persons,
if no please ignore posting).

Regards

/Honza

---

isl6421.c - added tone control and temporary diseqc overcurrent

Signed-off-by: Jan Petrous 
Signed-off-by: Ales Jurik 


isl6421-v2.patch
Description: Binary data


Re: [linux-dvb] Is there somobody dealing with DVB cards here ?!?

2009-12-13 Thread HoP
Hi,

2009/12/13 dvblinux :
> I first have to learn what is and how to "create a patch" since I only
> used my vi to modify the source of the driver and then recompiled it...
>

Start from here:

http://www.linuxtv.org/wiki/index.php/Development:_How_to_submit_patches


/Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Latest stack that can be merged on top of linux-next tree

2009-12-11 Thread HoP
Hi

2009/12/11 Karicheri, Muralidharan :
> Hi,
>
> Thanks for the response. One more question that I have is if
> the devices on the two buses can use the same i2c address.
> That is the case for my board. So wondering if this works as
> well.
>

That is IMHO exactly reason of existence such "expanders".
We, for example have two DVB-S2 tuners, using totally
same i2c addresses (for demod & pll).

If you are carefull and access such devices only using
those virtual i2c buses, then you not need to manage
switching between them at all. It is job for pca954x
driver. Simple and easy :)

/Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Latest stack that can be merged on top of linux-next tree

2009-12-10 Thread HoP
Hi,

2009/12/10 Karicheri, Muralidharan :
> Hi,
>
> Thanks for the email.
>
> Any idea how i2c drivers can work with this?
>
> Currently in my board, I have adapter id = 1 for main i2c bus. So when this 
> mux driver is built into the kernel, I guess I can access it using a 
> different adapter id, right? If so, what is the adapter id?

Yes, exactly that is way of using - additional i2c buses were born when pca954x
started.

Daniel already described this in his mail:

"With these patches the bus segments beyond the i2c multiplexer will be
registered as separate i2c busses. Access to a device on those busses
will then automatically reconfigure the multiplexer."

Additional i2c buses (adapters) were counted from number +1 higher
then highest i2c bus number. If you main i2c bus is i2c-1, then you
you should find i2c-2,i2c-3,i2c-4,i2c-5 new buses after pca954x loading.

You can check that with i2cdetect tools.

>
> How do I use this with MT9T031 driver? Any idea to share?
>

I never had a look inside mt9t031 driver, but in general - you simply
point to some of that additional adaper by i2c_get_adapter(x)

Idea is very smart. You don't need to manage pca954x on your own.
Driver do it itself :)

/Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Latest stack that can be merged on top of linux-next tree

2009-12-10 Thread HoP
Hi,

2009/12/10 Karicheri, Muralidharan :
> Guennadi,
>
> I am not sure if your MT9T031 changes are part of linux-next tree at v4l-dvb. 
> If not, can you point me to the latest stack that I can apply on top of 
> linux-next tree to get your latest changes for MT9T031 sensor driver?
>
> I plan to do integrate sensor driver with vpfe capture driver this week.
>
> BTW, Is there a driver for the PCA9543 i2c switch that is part of MT9T031 
> headboard?
>

I would like to know answer also :)

I had to add support for pca9542 (what is 2 port switch) for our project.
After some googling I found some patches for similar kernel I was
working on (2.6.22). You can find original patches for example there:
http://www.mail-archive.com/i...@lm-sensors.org/msg00315.html

FYI, the driver pca954x.c seems to be driver for full family of i2c
muxes/switches. Such code works fine for me.

The only thing I didn't find was why the code was never merged.

I hope it can helps you.

/Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [resend] radio-sf16fmi: fix mute, add SF16-FMP to texts

2009-12-02 Thread HoP
Hi Ondrej,

2009/12/2 Ondrej Zary :
> On Tuesday 01 December 2009, Petr Vandrovec wrote:
>> Ondrej Zary wrote:
>> > Fix completely broken mute handling radio-sf16fmi.
>> > The sound was muted immediately after tuning in KRadio.
>> > Also fix typos and add SF16-FMP to the texts.
>>
>> I do not have device anymore.  Looks OK to me.
>>
>> > Signed-off-by: Ondrej Zary 
>>
>> Acked-by: Petr Vandrovec 
>>
>> To whom should I forward this (and your second patch), I did not do any
>> SF16 work for 10 years (and no LKML for 3).
>
> No one seems to care here on linux-media :(
>
>


I recommend to wait a bit more. You seems jumped directly to
time when maintainers are busy with 2.6.32 release. Mauro
usually answers asap.

/Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] isl6421.c - added optional features: tone control and temporary diseqc overcurrent

2009-11-03 Thread HoP
Hi Hermann,

>> >>
>> >> Attached patch adds two optional (so, disabled by default
>> >> and therefore could not break any compatibility) features:
>> >>
>> >> 1, tone_control=1
>> >> When enabled, ISL6421 overrides frontend's tone control
>> >> function (fe->ops.set_tone) by its own one.
>> >>
>> >
>> > On your comments, the better is to describe why someone would need
>> > to use such option. You should also add a quick hint about that at the
>> > option description.
>>
>> Well, I'm not sure I can make some good hint why such option can
>> be useful by someone. I can only say that isl6121 has possibility
>> to drive 22k tone, so why not enable usage of it?
>
> well, we have much more experienced guys than me here on that, but it
> should be device specific then.
>
>> Of course, we made such code because we were using exactly
>> this way of 22k control in our device.
>
> So the demod can't do it or just free choice?
>

Well, more detailed Ales can speak about it, he is "hw guy" here :)
Anyway, regardless reason of choice important is that isl6421
can be used this way and, may be even more important, it is
used (and works correctly) in our hardware.

I understand it can be a bit non-usual way of usage, but as
I said, it works for us :)

>> >>
>> >> 2, overcurrent_enable=1
>> >> When enabled, overcurrent protection is disabled during
>> >> sending diseqc command. Such option is usable when ISL6421
>> >> catch overcurrent threshold and starts limiting output.
>> >> Note: protection is disabled only during sending
>> >> of diseqc command, until next set_tone() usage.
>> >> What typically means only max up to few hundreds of ms.
>> >> WARNING: overcurrent_enable=1 is dangerous
>> >> and can damage your device. Use with care
>> >> and only if you really know what you do.
>> >>
>> >
>> > I'm not sure if it is a good idea to have this... Why/when someone would
>> > need this?
>> >
>>
>> I know that it is a bit dangerous option, so I can understand you can
>> don't like it :)
>>
>> But I would like to note again - such way of using is permitted
>> by datasheet (otherwise it would not be even possible to enable it)
>> and we learnt when used correctly (it is enabled only within diseqc
>> sequence), it boost rotor moving or fixes using some "power-eating"
>> diseqc switches.
>>
>> If you still feel it is better to not support bit strange mode, then
>> I can live with "#if 0" commented out blocks or adding some
>> kernel config option with something like ISL6421_ENABLE_OVERCURRENT
>> or so.
>
> Question is, can you melt down some chip with it or not?
>
> If you can, stay away, since this was not in the scope earlier.
>

We have tested it with few devices (both rotor and diseqc switches)
and have not ran in any damage yet.

TBH, I'm writing about possibility of damage only because
of understanding that if I disable overcurrent safeguard I
can imagine it can end up bad way. But not tested on our side.

Regards

/Honza
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] isl6421.c - added optional features: tone control and temporary diseqc overcurrent

2009-11-03 Thread HoP
Hi Mauro,

thank you for your valued hints. I'm commenting inside
message:

> First of all, please check all your patches with checkpatch, to be sure
> that they don't have any CodingStyle troubles. There are some on your
> patch (the better is to read README.patches for more info useful
> for developers).

Did checkpatch testing and has fixed all errors/warnings except
of 3 warning regarding longer line (all 3 lines has exactly
one char over 80, so I guess it should not bother much).
Of course if this rule is a must, then I can fix that also).

>>
>> Attached patch adds two optional (so, disabled by default
>> and therefore could not break any compatibility) features:
>>
>> 1, tone_control=1
>> When enabled, ISL6421 overrides frontend's tone control
>> function (fe->ops.set_tone) by its own one.
>>
>
> On your comments, the better is to describe why someone would need
> to use such option. You should also add a quick hint about that at the
> option description.

Well, I'm not sure I can make some good hint why such option can
be useful by someone. I can only say that isl6121 has possibility
to drive 22k tone, so why not enable usage of it?

Of course, we made such code because we were using exactly
this way of 22k control in our device.

>>
>> 2, overcurrent_enable=1
>> When enabled, overcurrent protection is disabled during
>> sending diseqc command. Such option is usable when ISL6421
>> catch overcurrent threshold and starts limiting output.
>> Note: protection is disabled only during sending
>> of diseqc command, until next set_tone() usage.
>> What typically means only max up to few hundreds of ms.
>> WARNING: overcurrent_enable=1 is dangerous
>> and can damage your device. Use with care
>> and only if you really know what you do.
>>
>
> I'm not sure if it is a good idea to have this... Why/when someone would
> need this?
>

I know that it is a bit dangerous option, so I can understand you can
don't like it :)

But I would like to note again - such way of using is permitted
by datasheet (otherwise it would not be even possible to enable it)
and we learnt when used correctly (it is enabled only within diseqc
sequence), it boost rotor moving or fixes using some "power-eating"
diseqc switches.

If you still feel it is better to not support bit strange mode, then
I can live with "#if 0" commented out blocks or adding some
kernel config option with something like ISL6421_ENABLE_OVERCURRENT
or so.

> If we go ahead and add this one, you should add a notice about it at the
> parameter.
> I would also print a big WARNING message at the dmesg if the module were
> loaded
> with this option turned on.

Added some WARNING printing to dmesg when option is enabled.

Regards

/Honza

---

Signed-off-by: Jan Petrous 
Signed-off-by: Ales Jurik 
diff -r 9d9bc92d7c33 drivers/media/dvb/frontends/isl6421.c
--- a/drivers/media/dvb/frontends/isl6421.c	Sat Sep 19 12:48:44 2009 +0200
+++ b/drivers/media/dvb/frontends/isl6421.c	Tue Nov 03 23:23:05 2009 +0100
@@ -3,6 +3,9 @@
  *
  * Copyright (C) 2006 Andrew de Quincey
  * Copyright (C) 2006 Oliver Endriss
+ * Copyright (C) 2009 Ales Jurik and Jan Petrous (added optional 22k tone
+ *support and temporary diseqc overcurrent enable until
+ *next command - set voltage or tone)
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -35,12 +38,23 @@
 #include "dvb_frontend.h"
 #include "isl6421.h"
 
+static int tone_control;
+module_param(tone_control, int, S_IRUGO);
+MODULE_PARM_DESC(tone_control, "Set ISL6421 to control 22kHz tone");
+
+static int overcurrent_enable;
+module_param(overcurrent_enable, int, S_IRUGO);
+MODULE_PARM_DESC(overcurrent_enable, "Set ISL6421 to temporary enable "
+		"overcurrent when diseqc command is active");
+
 struct isl6421 {
 	u8			config;
 	u8			override_or;
 	u8			override_and;
 	struct i2c_adapter	*i2c;
 	u8			i2c_addr;
+	int (*diseqc_send_master_cmd_orig)(struct dvb_frontend *fe,
+			struct dvb_diseqc_master_cmd *cmd);
 };
 
 static int isl6421_set_voltage(struct dvb_frontend *fe, fe_sec_voltage_t voltage)
@@ -60,6 +74,55 @@ static int isl6421_set_voltage(struct dv
 		break;
 	case SEC_VOLTAGE_18:
 		isl6421->config |= (ISL6421_EN1 | ISL6421_VSEL1);
+		break;
+	default:
+		return -EINVAL;
+	};
+
+	isl6421->config |= isl6421->override_or;
+	isl6421->config &= isl6421->override_and;
+
+	return (i2c_transfer(isl6421->i2c, &msg, 1) == 1) ? 0 : -EIO;
+}
+
+static int isl6421_send_diseqc(struct dvb_frontend *fe,
+struct dvb_diseqc_master_cmd *cmd)
+{
+	struct isl6421 *isl6421 = (struct isl6421 *) fe->sec_priv;
+	struct i2c_msg msg = {	.addr = isl6421->i2c_addr, .flags = 0,
+.buf = &isl6421->config,
+.len = sizeof(isl6421->config) };
+
+	isl6421->config |= ISL6421_DCL;
+
+	isl6421->config |= isl6421->override_or;
+	isl6421->config &= isl6421->override_and;
+
+	if (i2c_transfer(isl6421->i2c, &msg, 1) != 1)
+		return -EIO;
+

[PATCH] isl6421.c - added optional features: tone control and temporary diseqc overcurrent

2009-10-24 Thread HoP
Hi,

this is my first kernel patch, so all comments are welcome.

Attached patch adds two optional (so, disabled by default
and therefore could not break any compatibility) features:

1, tone_control=1
When enabled, ISL6421 overrides frontend's tone control
function (fe->ops.set_tone) by its own one.

2, overcurrent_enable=1
When enabled, overcurrent protection is disabled during
sending diseqc command. Such option is usable when ISL6421
catch overcurrent threshold and starts limiting output.
Note: protection is disabled only during sending
of diseqc command, until next set_tone() usage.
What typically means only max up to few hundreds of ms.
WARNING: overcurrent_enable=1 is dangerous
and can damage your device. Use with care
and only if you really know what you do.

/Honza

Signed-off-by: Jan Petrous 
---
diff -r f6680fa8e7ec linux/drivers/media/dvb/frontends/isl6421.c
--- a/linux/drivers/media/dvb/frontends/isl6421.c	Tue Oct 20 00:08:05 2009 +0900
+++ b/linux/drivers/media/dvb/frontends/isl6421.c	Sun Oct 25 00:59:46 2009 +0200
@@ -3,6 +3,9 @@
  *
  * Copyright (C) 2006 Andrew de Quincey
  * Copyright (C) 2006 Oliver Endriss
+ * Copyright (C) 2009 Ales Jurik and Jan Petrous (added optional 22k tone 
+ *support and temporary diseqc overcurrent enable until 
+ *next command - set voltage or tone)
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -35,12 +38,23 @@
 #include "dvb_frontend.h"
 #include "isl6421.h"
 
+static int tone_control = 0;
+module_param(tone_control, int, S_IRUGO);
+MODULE_PARM_DESC(tone_control, "Set ISL6421 to control 22kHz tone");
+
+static int overcurrent_enable = 0;
+module_param(overcurrent_enable, int, S_IRUGO);
+MODULE_PARM_DESC(overcurrent_enable, "Set ISL6421 to temporary enable overcurrent "
+		"when diseqc command is active");
+
 struct isl6421 {
 	u8			config;
 	u8			override_or;
 	u8			override_and;
 	struct i2c_adapter	*i2c;
 	u8			i2c_addr;
+	int (*diseqc_send_master_cmd_orig)(struct dvb_frontend* fe,
+			struct dvb_diseqc_master_cmd* cmd);
 };
 
 static int isl6421_set_voltage(struct dvb_frontend *fe, fe_sec_voltage_t voltage)
@@ -60,6 +74,53 @@
 		break;
 	case SEC_VOLTAGE_18:
 		isl6421->config |= (ISL6421_EN1 | ISL6421_VSEL1);
+		break;
+	default:
+		return -EINVAL;
+	};
+
+	isl6421->config |= isl6421->override_or;
+	isl6421->config &= isl6421->override_and;
+
+	return (i2c_transfer(isl6421->i2c, &msg, 1) == 1) ? 0 : -EIO;
+}
+
+static int isl6421_send_diseqc(struct dvb_frontend *fe,
+struct dvb_diseqc_master_cmd *cmd)
+{
+	struct isl6421 *isl6421 = (struct isl6421 *) fe->sec_priv;
+	struct i2c_msg msg = {	.addr = isl6421->i2c_addr, .flags = 0,
+.buf = &isl6421->config,
+.len = sizeof(isl6421->config) };
+
+	isl6421->config |= ISL6421_DCL;
+
+	isl6421->config |= isl6421->override_or;
+	isl6421->config &= isl6421->override_and;
+
+	if (i2c_transfer(isl6421->i2c, &msg, 1) != 1) return -EIO;
+	
+	isl6421->config &= ~ISL6421_DCL;
+	
+	return isl6421->diseqc_send_master_cmd_orig(fe, cmd);
+}
+
+static int isl6421_set_tone(struct dvb_frontend *fe, fe_sec_tone_mode_t tone)
+{
+	struct isl6421 *isl6421 = (struct isl6421 *) fe->sec_priv;
+	struct i2c_msg msg = {	.addr = isl6421->i2c_addr, .flags = 0,
+.buf = &isl6421->config,
+.len = sizeof(isl6421->config) };
+
+	isl6421->config &= ~(ISL6421_ENT1);
+
+	printk(KERN_INFO "%s: %s\n", __func__, ((tone == SEC_TONE_OFF) ? "Off" : "On"));
+
+	switch(tone) {
+	case SEC_TONE_ON:
+		isl6421->config |= ISL6421_ENT1;
+		break;
+	case SEC_TONE_OFF:
 		break;
 	default:
 		return -EINVAL;
@@ -91,18 +152,26 @@
 
 static void isl6421_release(struct dvb_frontend *fe)
 {
+	struct isl6421 *isl6421 = (struct isl6421 *) fe->sec_priv;
+
 	/* power off */
 	isl6421_set_voltage(fe, SEC_VOLTAGE_OFF);
+
+	if(overcurrent_enable)
+		fe->ops.diseqc_send_master_cmd =
+			isl6421->diseqc_send_master_cmd_orig;
 
 	/* free */
 	kfree(fe->sec_priv);
 	fe->sec_priv = NULL;
 }
 
-struct dvb_frontend *isl6421_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, u8 i2c_addr,
-		   u8 override_set, u8 override_clear)
+struct dvb_frontend *isl6421_attach(struct dvb_frontend *fe,
+		struct i2c_adapter *i2c, u8 i2c_addr, u8 override_set,
+		u8 override_clear)
 {
 	struct isl6421 *isl6421 = kmalloc(sizeof(struct isl6421), GFP_KERNEL);
+
 	if (!isl6421)
 		return NULL;
 
@@ -131,6 +200,31 @@
 	/* override frontend ops */
 	fe->ops.set_voltage = isl6421_set_voltage;
 	fe->ops.enable_high_lnb_voltage = isl6421_enable_high_lnb_voltage;
+	if(tone_control)
+		fe->ops.set_tone = isl6421_set_tone;
+	if(overcurrent_enable) {
+		if((override_set & ISL6421_DCL) ||
+(override_clear & ISL6421_DCL)) {
+		/* there is no sense to use overcurrent_enable with DCL bit set
+		 * in any override byte */
+			if(override_set & ISL6421_DCL)
+printk(KERN_WARNING "ISL6421 overcurrent_enable"
+		" with DCL bit in override_set,"
+		

Re: Viewing HD?

2009-10-03 Thread HoP
Seems your installed ffmpeg libavcodec library
has no support for PAFF+spatial. Check if update
of such library can help.

Good starting point for PAFF understanging:
http://forum.doom9.org/showthread.php?p=927675

and mplayer with PAFF:
http://forum.doom9.org/archive/index.php/t-130797.html

/Honza

PS: I'm not sure if this ML is correct target for your question
as it is main development ML for linux-media (v4l2+dvb)
subsystem inside kernel. Your question is rather application specific.

2009/10/3 Mikhail Ramendik :
> Hello,
>
> I have an AverMedia Pro A700 DVB-S card, working well with Kaffeine;
> the dish is tuned to Astra 28.2E (in Ireland).
>
> However, I am unable to view HD. I tried BBC HD and nothing is shown;
> the terminal output mentions "illegal aspect ratio".
>
> Instant recording worked. In mplayer, the result was viewed very
> jerkily, with many messages saying "PAFF + spatial direct mode is not
> implemented"; the codec was ffmpeg h.264. CPU load was maxed out
> (Pentium 3 GHz).
>
> Is there any way to view HD - live or recorded? Or if the CPU is not
> powerful enough, which will be? And, as a CPU workaround, is there a
> way to recode in non-realtime, without losing data? (With the "not
> implemented" messages, I am wary of using mencoder).
>
> --
> Yours, Mikhail Ramendik
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html