Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: MythTV: Dev

EPG Improvements - Need some help

 

 

MythTV dev RSS feed   Index | Next | Previous | View Threaded


harvardpan at gmail

May 5, 2005, 4:01 AM

Post #1 of 13 (1696 views)
Permalink
EPG Improvements - Need some help

I'm currently implementing the improvements to EPG that I mentioned
earlier. Here are the main enhancements:

a) Pressing "C" in the EPG will toggle the Input.
This will update the channel list as well as the preview video.
b) Pressing "Y" in the EPG will switch the card (if you have more than one)
This will update the channel list as well as the preview video.
c) the EPG will ONLY show the channels available for your current card and input
Today, the EPG displays either all channels, or just your
favorites. It seems like the correct thing would be to filter it also
by the current source when it's being accessed by Live TV. (Schedule
Recordings->Program Guide will continue to show all channels)
d) *would like to implement* Have the channel guide navigate to the
correct channel when you switch inputs. If you are on input 1 with
channel 5 and switch to input 2 with channel 230, it will
automatically jump the guide to 230.

I've got some working code that I'm attaching as a diff, but I'm not
ready to submit it as a patch yet. I still have some testing to do and
some code cleanup after I get everything in a working satte. While I
was testing, I found that I get a segmentation fault when there is an
error thrown. Here are the steps to reproduce:

1. Open MythFrontend
2. Watch Live TV
3. Go into the program guide.
4. Press "Y" to switch inputs. If your second input has an error (mine
errors out because my slave backend is on a different protocol
version), it will pop up a box telling you the error.
5. press OK, then Escape. Mythfrontend segfaults at this point.

It is dying when it's trying to call m_parent->detach(this). I've been
wracking my brain (and the debugger), but I don't think I understand
the code enough to figure out what's wrong. Does anyone have any
insights? When you switch input in regular live tv and get the same
error, somehow it can throw you back to the menu correctly without
segfaulting. I can't figure out why that works though.

Below is the gdb stack trace. Any help would be greatly appreciated.
Please also find the diff file attached to this email.

--Harvard

2005-05-05 03:51:54.479 Changing from WatchingLiveTV to None
2005-05-05 03:51:54.504 Protocol version mismatch (frontend=16,backend=15)

ASSERT: "i <= nodes" in /usr/lib64/qt-3.3/include/qvaluelist.h (372)
ASSERT: "i <= nodes" in /usr/lib64/qt-3.3/include/qvaluelist.h (372)
2005-05-05 03:51:55.871 TV::HandleStateChange() Error, failed to start
RingBuffer on backend. Aborting.
2005-05-05 03:51:55.871 Unknown state transition: 0 to 0
2005-05-05 03:51:55.875 Changing from None to None
[Thread 1094719840 (LWP 22194) exited]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1147169120 (LWP 22203)]
0x0000000000000000 in ?? ()
(gdb) back
#0 0x0000000000000000 in ?? ()
#1 0x00002aaaabadc092 in MythMainWindow::detach (this=0x6e9dd0,
child=0x806b00) at mythdialogs.cpp:348
#2 0x00002aaaabadfe75 in ~MythDialog (this=0x806b00) at mythdialogs.cpp:893
#3 0x00002aaaaae36dd5 in ~GuideGrid (this=0x806b00) at guidegrid.cpp:280
#4 0x00002aaaaae323c8 in RunProgramGuide (startchannel=
{static null = {static null = <same as static member of an
already seen type>, d = 0x641e20, static shared_null = 0x641e20}, d =
0x9e6970, static shared_null = 0x641e20}, thread=true,
player=0x7389d0, allowsecondaryepg=true)
at guidegrid.cpp:64
#5 0x00002aaaaaf0b476 in TV::doLoadMenu (this=0x7389d0) at tv_play.cpp:3184
#6 0x00002aaaaaf0b6ab in TV::MenuHandler (param=0x7389d0) at tv_play.cpp:3209
#7 0x0000003418c060aa in start_thread () from /lib64/tls/libpthread.so.0
#8 0x00000034181c53d3 in clone () from /lib64/tls/libc.so.6
#9 0x0000000000000000 in ?? ()
Attachments: EPG.diff (6.38 KB)


lmarlow at yahoo

May 5, 2005, 10:38 AM

Post #2 of 13 (1632 views)
Permalink
RE: EPG Improvements - Need some help [In reply to]

Why filter out channels not on that input or card? I'd rather see all channels and then have the input and/or card changed to
whatever is needed for the channel I selected. I think this would be much more friendly for people who don't even know there are
multiple cards/inputs.

-Lee

-----Original Message-----
From: mythtv-dev-bounces [at] mythtv [mailto:mythtv-dev-bounces [at] mythtv] On Behalf Of Harvard Pan
Sent: Thursday, May 05, 2005 5:01 AM
To: Development of mythtv
Subject: [mythtv] EPG Improvements - Need some help

I'm currently implementing the improvements to EPG that I mentioned earlier. Here are the main enhancements:

a) Pressing "C" in the EPG will toggle the Input.
This will update the channel list as well as the preview video.
b) Pressing "Y" in the EPG will switch the card (if you have more than one)
This will update the channel list as well as the preview video.
c) the EPG will ONLY show the channels available for your current card and input
Today, the EPG displays either all channels, or just your favorites. It seems like the correct thing would be to filter it also
by the current source when it's being accessed by Live TV. (Schedule
Recordings->Program Guide will continue to show all channels)
d) *would like to implement* Have the channel guide navigate to the correct channel when you switch inputs. If you are on input 1
with channel 5 and switch to input 2 with channel 230, it will automatically jump the guide to 230.

I've got some working code that I'm attaching as a diff, but I'm not ready to submit it as a patch yet. I still have some testing to
do and some code cleanup after I get everything in a working satte. While I was testing, I found that I get a segmentation fault
when there is an error thrown. Here are the steps to reproduce:

1. Open MythFrontend
2. Watch Live TV
3. Go into the program guide.
4. Press "Y" to switch inputs. If your second input has an error (mine errors out because my slave backend is on a different
protocol version), it will pop up a box telling you the error.
5. press OK, then Escape. Mythfrontend segfaults at this point.

It is dying when it's trying to call m_parent->detach(this). I've been wracking my brain (and the debugger), but I don't think I
understand the code enough to figure out what's wrong. Does anyone have any insights? When you switch input in regular live tv and
get the same error, somehow it can throw you back to the menu correctly without segfaulting. I can't figure out why that works
though.

Below is the gdb stack trace. Any help would be greatly appreciated.
Please also find the diff file attached to this email.

--Harvard

2005-05-05 03:51:54.479 Changing from WatchingLiveTV to None
2005-05-05 03:51:54.504 Protocol version mismatch (frontend=16,backend=15)

ASSERT: "i <= nodes" in /usr/lib64/qt-3.3/include/qvaluelist.h (372)
ASSERT: "i <= nodes" in /usr/lib64/qt-3.3/include/qvaluelist.h (372)
2005-05-05 03:51:55.871 TV::HandleStateChange() Error, failed to start RingBuffer on backend. Aborting.
2005-05-05 03:51:55.871 Unknown state transition: 0 to 0
2005-05-05 03:51:55.875 Changing from None to None [Thread 1094719840 (LWP 22194) exited]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1147169120 (LWP 22203)] 0x0000000000000000 in ?? ()
(gdb) back
#0 0x0000000000000000 in ?? ()
#1 0x00002aaaabadc092 in MythMainWindow::detach (this=0x6e9dd0,
child=0x806b00) at mythdialogs.cpp:348
#2 0x00002aaaabadfe75 in ~MythDialog (this=0x806b00) at mythdialogs.cpp:893
#3 0x00002aaaaae36dd5 in ~GuideGrid (this=0x806b00) at guidegrid.cpp:280
#4 0x00002aaaaae323c8 in RunProgramGuide (startchannel=
{static null = {static null = <same as static member of an already seen type>, d = 0x641e20, static shared_null = 0x641e20}, d
= 0x9e6970, static shared_null = 0x641e20}, thread=true, player=0x7389d0, allowsecondaryepg=true)
at guidegrid.cpp:64
#5 0x00002aaaaaf0b476 in TV::doLoadMenu (this=0x7389d0) at tv_play.cpp:3184
#6 0x00002aaaaaf0b6ab in TV::MenuHandler (param=0x7389d0) at tv_play.cpp:3209
#7 0x0000003418c060aa in start_thread () from /lib64/tls/libpthread.so.0
#8 0x00000034181c53d3 in clone () from /lib64/tls/libc.so.6
#9 0x0000000000000000 in ?? ()


ijr at case

May 5, 2005, 10:50 AM

Post #3 of 13 (1636 views)
Permalink
Re: EPG Improvements - Need some help [In reply to]

On Thursday 05 May 2005 01:38 pm, Lee Marlow wrote:
> Why filter out channels not on that input or card? I'd rather see all
> channels and then have the input and/or card changed to whatever is needed
> for the channel I selected. I think this would be much more friendly for
> people who don't even know there are multiple cards/inputs.

Yup, that's the way to do it, not making the user switch manually in the
guide.

Isaac
_______________________________________________
mythtv-dev mailing list
mythtv-dev [at] mythtv
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev


rtsai1111 at comcast

May 5, 2005, 10:51 AM

Post #4 of 13 (1668 views)
Permalink
Re: EPG Improvements - Need some help [In reply to]

On Thu, May 05, 2005 at 11:38:37AM -0600, Lee Marlow wrote:
> Why filter out channels not on that input or card? I'd rather see
> all channels and then have the input and/or card changed to whatever
> is needed for the channel I selected. I think this would be much
> more friendly for people who don't even know there are multiple
> cards/inputs.

That does sound good, but what about the case where you have two tuner
cards that receive the same channels, but at different qualities (say,
HDTV and non-HDTV, or even just varying signal strengths, maybe one
card is newer than the other, or has a different antenna, or is
connected to a different source, or something).

--Rob
Attachments: signature.asc (0.18 KB)


huffman at graze

May 5, 2005, 11:00 AM

Post #5 of 13 (1672 views)
Permalink
RE: EPG Improvements - Need some help [In reply to]

lmarlow [at] yahoo, Development of mythtv <mythtv-dev [at] mythtv> wrote:
> Why filter out channels not on that input or card? I'd rather see all
channels and then have the input and/or card changed to
> whatever is needed for the channel I selected. I think this would be much
more friendly for people who don't even know there are
> multiple cards/inputs.
>
> -Lee
>

That's very close, but the problem occurs when you see all channels including
those unique to a source / input that is currently in use and therefore
*couldn't* change. I propose that you determine which sources are currently
*not* in use and then show a union of the lineups of those sources.

A suitable second alternative would be to do what Lee proposes but popup an
error if you attempt to select a channel that is unique to a busy source /
input.

-Brian


ijr at case

May 5, 2005, 11:06 AM

Post #6 of 13 (1677 views)
Permalink
Re: EPG Improvements - Need some help [In reply to]

> That's very close, but the problem occurs when you see all channels
> including those unique to a source / input that is currently in use and
> therefore *couldn't* change. I propose that you determine which sources
> are currently *not* in use and then show a union of the lineups of those
> sources.

Shouldn't matter if it's in use or not. The user can at least schedule future
recordings on that channel if it's shown. Kind of hard to do that if it's
hidden.

> A suitable second alternative would be to do what Lee proposes but popup an
> error if you attempt to select a channel that is unique to a busy source /
> input.

Only way to handle it, IMO.

Isaac
_______________________________________________
mythtv-dev mailing list
mythtv-dev [at] mythtv
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev


stuart at tase

May 5, 2005, 11:17 AM

Post #7 of 13 (1649 views)
Permalink
Re: EPG Improvements - Need some help [In reply to]

On Thursday 05 May 2005 19:00, Brian C. Huffman wrote:
> That's very close, but the problem occurs when you see all channels
> including those unique to a source / input that is currently in use and
> therefore *couldn't* change. I propose that you determine which sources
> are currently *not* in use and then show a union of the lineups of those
> sources.

I don't like that idea - I for one don't wish to explain to friends and family
why X channels have disappeared from the EPG. It would just cause as much
confusion as the original idea of switching inputs.

> A suitable second alternative would be to do what Lee proposes but popup an
> error if you attempt to select a channel that is unique to a busy source /
> input.

I'd rather a popup error or colour coding/shading on unavailable channels.
--
Stuart Morgan
_______________________________________________
mythtv-dev mailing list
mythtv-dev [at] mythtv
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev


stuart at tase

May 5, 2005, 11:21 AM

Post #8 of 13 (1649 views)
Permalink
Re: EPG Improvements - Need some help [In reply to]

On Thursday 05 May 2005 18:51, Robert Tsai wrote:
> On Thu, May 05, 2005 at 11:38:37AM -0600, Lee Marlow wrote:
> > Why filter out channels not on that input or card? I'd rather see
> > all channels and then have the input and/or card changed to whatever
> > is needed for the channel I selected. I think this would be much
> > more friendly for people who don't even know there are multiple
> > cards/inputs.
>
> That does sound good, but what about the case where you have two tuner
> cards that receive the same channels, but at different qualities (say,
> HDTV and non-HDTV, or even just varying signal strengths, maybe one
> card is newer than the other, or has a different antenna, or is
> connected to a different source, or something).

You can always implement a system to prioritise which tuner is used for which
channel or even have a flag to disable some channels on a certain tuner.

That would certainly be less confusing for the non-technical end-users in our
families.
--
Stuart Morgan
_______________________________________________
mythtv-dev mailing list
mythtv-dev [at] mythtv
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev


rich at goodin

May 5, 2005, 11:35 AM

Post #9 of 13 (1654 views)
Permalink
Re: EPG Improvements - Need some help [In reply to]

I'm coming in late to this discussion but has the "show all
channels/change to the next available card that supports that channel"
option been considered? I actually started looking today at patching
that in. The non-technical among us pretty much just want to point at a
channel in the guide and watch or record the show (this from my wife).
She doesn't care about the whole multiple card issue.

Rich Goodin

On May 5, 2005, at 11:21 AM, Stuart Morgan wrote:

> On Thursday 05 May 2005 18:51, Robert Tsai wrote:
>> On Thu, May 05, 2005 at 11:38:37AM -0600, Lee Marlow wrote:
>>> Why filter out channels not on that input or card? I'd rather see
>>> all channels and then have the input and/or card changed to whatever
>>> is needed for the channel I selected. I think this would be much
>>> more friendly for people who don't even know there are multiple
>>> cards/inputs.
>>
>> That does sound good, but what about the case where you have two tuner
>> cards that receive the same channels, but at different qualities (say,
>> HDTV and non-HDTV, or even just varying signal strengths, maybe one
>> card is newer than the other, or has a different antenna, or is
>> connected to a different source, or something).
>
> You can always implement a system to prioritise which tuner is used
> for which
> channel or even have a flag to disable some channels on a certain
> tuner.
>
> That would certainly be less confusing for the non-technical end-users
> in our
> families.
> --
> Stuart Morgan
> _______________________________________________
> mythtv-dev mailing list
> mythtv-dev [at] mythtv
> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev
>


harvardpan at gmail

May 5, 2005, 11:42 AM

Post #10 of 13 (1671 views)
Permalink
Re: EPG Improvements - Need some help [In reply to]

I think the consensus is that this is the desired behavior. I'll
change my code and modify it to follow this. It makes a lot of sense
since most people don't want to have to care about the input cards.

Has anyone been able to take a look at the seg fault and give any
advice on how to tackle the problem?

--Harvard

On 5/5/05, Rich Goodin <rich [at] goodin> wrote:
>
> I'm coming in late to this discussion but has the "show all
> channels/change to the next available card that supports that channel"
> option been considered? I actually started looking today at patching
> that in. The non-technical among us pretty much just want to point at a
> channel in the guide and watch or record the show (this from my wife).
> She doesn't care about the whole multiple card issue.
>
> Rich Goodin
>
> On May 5, 2005, at 11:21 AM, Stuart Morgan wrote:
>
> > On Thursday 05 May 2005 18:51, Robert Tsai wrote:
> >> On Thu, May 05, 2005 at 11:38:37AM -0600, Lee Marlow wrote:
> >>> Why filter out channels not on that input or card? I'd rather see
> >>> all channels and then have the input and/or card changed to whatever
> >>> is needed for the channel I selected. I think this would be much
> >>> more friendly for people who don't even know there are multiple
> >>> cards/inputs.
> >>
> >> That does sound good, but what about the case where you have two tuner
> >> cards that receive the same channels, but at different qualities (say,
> >> HDTV and non-HDTV, or even just varying signal strengths, maybe one
> >> card is newer than the other, or has a different antenna, or is
> >> connected to a different source, or something).
> >
> > You can always implement a system to prioritise which tuner is used
> > for which
> > channel or even have a flag to disable some channels on a certain
> > tuner.
> >
> > That would certainly be less confusing for the non-technical end-users
> > in our
> > families.
> > --
> > Stuart Morgan
> > _______________________________________________
> > mythtv-dev mailing list
> > mythtv-dev [at] mythtv
> > http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev
> >
>
>
> _______________________________________________
> mythtv-dev mailing list
> mythtv-dev [at] mythtv
> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev
>
>
>
_______________________________________________
mythtv-dev mailing list
mythtv-dev [at] mythtv
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev


huffman at graze

May 5, 2005, 11:44 AM

Post #11 of 13 (1671 views)
Permalink
Re: EPG Improvements - Need some help [In reply to]

Development of mythtv <mythtv-dev [at] mythtv> wrote:
>
> I'm coming in late to this discussion but has the "show all
> channels/change to the next available card that supports that channel"
> option been considered? I actually started looking today at patching
> that in. The non-technical among us pretty much just want to point at a
> channel in the guide and watch or record the show (this from my wife).
> She doesn't care about the whole multiple card issue.
>
> Rich Goodin

Yes - I believe that's more or less what's been the concensus, with the caveat
that if there are no tuners / sources available that support the requested
channel, popup an error, or in some other way explain that the system is not
broken, but is unable to change to the requested channel.

-b


lmarlow at yahoo

May 5, 2005, 3:19 PM

Post #12 of 13 (1660 views)
Permalink
RE: EPG Improvements - Need some help [In reply to]

Isn't there already some prioritization code to handle recordings that could occur on multiple inputs/cards? I would hope that
could be reused.

-----Original Message-----
From: Stuart Morgan [mailto:stuart [at] tase]
Sent: Thursday, May 05, 2005 12:21 PM
To: lmarlow [at] yahoo; Development of mythtv
Subject: Re: [mythtv] EPG Improvements - Need some help

On Thursday 05 May 2005 18:51, Robert Tsai wrote:
> On Thu, May 05, 2005 at 11:38:37AM -0600, Lee Marlow wrote:
> > Why filter out channels not on that input or card? I'd rather see
> > all channels and then have the input and/or card changed to whatever
> > is needed for the channel I selected. I think this would be much
> > more friendly for people who don't even know there are multiple
> > cards/inputs.
>
> That does sound good, but what about the case where you have two tuner
> cards that receive the same channels, but at different qualities (say,
> HDTV and non-HDTV, or even just varying signal strengths, maybe one
> card is newer than the other, or has a different antenna, or is
> connected to a different source, or something).

You can always implement a system to prioritise which tuner is used for which channel or even have a flag to disable some channels
on a certain tuner.

That would certainly be less confusing for the non-technical end-users in our families.
--
Stuart Morgan


stuart at tase

May 5, 2005, 3:29 PM

Post #13 of 13 (1637 views)
Permalink
Re: EPG Improvements - Need some help [In reply to]

On Thursday 05 May 2005 23:19, Lee Marlow wrote:
> Isn't there already some prioritization code to handle recordings that
> could occur on multiple inputs/cards? I would hope that could be reused.

There is, but IIRC it can't be used on a channel by channel basis.
--
Stuart Morgan
_______________________________________________
mythtv-dev mailing list
mythtv-dev [at] mythtv
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev

MythTV dev RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.