Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[vdr] Re: BUG: vdr-streamdev
C.Y.M <syphir@syphir.sytes.net> wrote:
> hm@seneca.muc.de wrote:
> > The reason is a string comparison using == does not work.
> >
> > if (String == channel->Name()) {
> >
> > should be replaced by
> >
> > if (strncasecmp (String, channel->Name(), strlen (channel->Name())) == 0)
> This patch breaks streaming live video. Tested against vdr-1.3.15,
> streamdev-0.3.3-pre3-geni, and VLC 0.0.8. Please reconsider this patch.
I re-checked the source code again, and I can't see how the above patch
could possibly break live video streaming.
ChannelFromString(arg) works (should work) as follows:
- if the arg is a number, return the corresponding cChannel*
- else check if the arg is a channelID (S19.2E-0-11597-10023 and such).
- If yes, return the corresponding cChannel*
- if not, assume we've got a channel station name, and scan the entire
channel list for a matching channel, and return its cChannel*. If
nothing is found, return NULL.
The only difference my patch makes is replace the never working
if (String == channel->Name())
by a string comparison that works. If the function gets a numerical or
channelID arg, nothing changes.
Now what exactly do the functions cConnectionVTP::CmdPROV() and
cConnectionVTP::CmdTUNE() send to ChannelFromString()? As you can see in
client/socket.c cClientSocket::ProvidesChannel(), they send a channelID. So
this is not affected by the above patch. Same with
cClientSocket::SetChannelDevice().
So if something broke your live streaming video, it was not the patch
above. Or I am missing something here...
--
After living in New York, you trust nobody, but you believe
everything. Just in case.
Home |
Main Index |
Thread Index