Mailing List Archive

Experimental Android TV "leanback" MythTV frontend
I am developing a pure android application for Android TV devices called
android-MythTV-Leanfront.

It uses the android TV leanback user interface as used by other apps
such as youtube, prime video, etc. to play MythTV recordings.

It supports 4K resolution video at 50 fps and voice search, which are
not working on mythfrontend for android. Also it supports surround sound.

It does not yet support many of the important features of Mythfrontend,
and some features it may never support.

See https://github.com/bennettpeter/android-MythTV-Leanfront for more
details

Peter
_______________________________________________
mythtv-dev mailing list
mythtv-dev@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-dev
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org
Re: Experimental Android TV "leanback" MythTV frontend [ In reply to ]
On 8/21/19 3:17 PM, Peter Bennett wrote:
> I am developing a pure android application for Android TV devices
> called android-MythTV-Leanfront.
>
> It uses the android TV leanback user interface as used by other apps
> such as youtube, prime video, etc. to play MythTV recordings.
>
> It supports 4K resolution video at 50 fps and voice search, which are
> not working on mythfrontend for android. Also it supports surround sound.
>
> It does not yet support many of the important features of
> Mythfrontend, and some features it may never support.
>
> See https://github.com/bennettpeter/android-MythTV-Leanfront for more
> details
>
> Peter


To answer David's question on IRC - Some reasons for attempting this:

- I saw an opportunity to use the android exoplayer library and the
sample program to easily build a new frontend.

- Support Voice search, 4K playback, use only service api and avoid
version dependence.

- Avoid Existing android frontend problems - it is compiled with
IGNORE_SCHEMA_VER_MISMATCH, IGNORE_PROTO_VER_MISMATCH", it will not
support 4K or ipv6, we have to build with out of date ndk.

- frontend should not require a 4k device to play 1080 recordings.

Peter
_______________________________________________
mythtv-dev mailing list
mythtv-dev@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-dev
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org
Re: [mythtv-users] Experimental Android TV "leanback" MythTV frontend [ In reply to ]
On Thu, Aug 22, 2019 at 11:14:34AM -0400, Peter Bennett wrote:
> On 8/21/19 3:17 PM, Peter Bennett wrote:
> > I am developing a pure android application for Android TV devices called
> > android-MythTV-Leanfront.
> >
> > It uses the android TV leanback user interface as used by other apps
> > such as youtube, prime video, etc. to play MythTV recordings.
> >
> > It supports 4K resolution video at 50 fps and voice search, which are
> > not working on mythfrontend for android. Also it supports surround
> > sound.
> >
> > It does not yet support many of the important features of Mythfrontend,
> > and some features it may never support.
> >
> > See https://github.com/bennettpeter/android-MythTV-Leanfront for more
> > details
> >
> > Peter
>
>
> To answer David's question on IRC - Some reasons for attempting this:
>
> - I saw an opportunity to use the android exoplayer library and the sample
> program to easily build a new frontend.

Does that mean you don't intend to handle the mpeg2 corruption problem
on the Shield that many users have on some channels?

Does the exoplayer framework allow for fask skips and real
fast-forward/rewind? Those are two features that set mythfrontend
apart from every other player I've seen.

> - Support Voice search, 4K playback, use only service api and avoid version
> dependence.

Nice. I've wondered how that and homepage channels feature could
eventually be implemented in mythfrontend. There have been and still
are way too many other things to do before that.

> - Avoid Existing android frontend problems - it is compiled with
> IGNORE_SCHEMA_VER_MISMATCH, IGNORE_PROTO_VER_MISMATCH", it will not support
> 4K or ipv6, we have to build with out of date ndk.

I've advocated converting mythfrontend to use only API calls from some
time. There isn't anything preventing anyone from doing that.

> - frontend should not require a 4k device to play 1080 recordings.

Does it? If so, I wasn't aware of that.

David
--
David Engel
david@istwok.net
_______________________________________________
mythtv-dev mailing list
mythtv-dev@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-dev
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org
Re: [mythtv-users] Experimental Android TV "leanback" MythTV frontend [ In reply to ]
On Wed, Aug 21, 2019 at 03:17:46PM -0400, Peter Bennett wrote:
> I am developing a pure android application for Android TV devices called
> android-MythTV-Leanfront.
>
> It uses the android TV leanback user interface as used by other apps such as
> youtube, prime video, etc. to play MythTV recordings.
>
> It supports 4K resolution video at 50 fps and voice search, which are not
> working on mythfrontend for android. Also it supports surround sound.
>
> It does not yet support many of the important features of Mythfrontend, and
> some features it may never support.
>
> See https://github.com/bennettpeter/android-MythTV-Leanfront for more
> details

I forgot to add this in my other email. When I run leanfront, all it
is crash. This is with your pre-built package. After I enter my
backend's IP address and exit the settings, leanfront exits back to
the Android, home screen after a few seconds. After that, every
launch attempt immediately returns to the Android, home screen. I can
provide an adb log if you like.

David
--
David Engel
david@istwok.net
_______________________________________________
mythtv-dev mailing list
mythtv-dev@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-dev
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org
Re: Experimental Android TV "leanback" MythTV frontend [ In reply to ]
On Wed, Aug 21, 2019 at 2:18 PM Peter Bennett <pb.mythtv@gmail.com> wrote:

> I am developing a pure android application for Android TV devices called
> android-MythTV-Leanfront.
>
>
Tried it on a Mi Box S. Works great!

Jon
Re: [mythtv-users] Experimental Android TV "leanback" MythTV frontend [ In reply to ]
> On Wed, Aug 21, 2019 at 03:17:46PM -0400, Peter Bennett wrote:
>> I am developing a pure android application for Android TV devices called
>> android-MythTV-Leanfront.
>>
>> It uses the android TV leanback user interface as used by other apps
>> such as
>> youtube, prime video, etc. to play MythTV recordings.
>>
>> It supports 4K resolution video at 50 fps and voice search, which are
>> not
>> working on mythfrontend for android. Also it supports surround sound.
>>
>> It does not yet support many of the important features of Mythfrontend,
>> and
>> some features it may never support.
>>
>> See https://github.com/bennettpeter/android-MythTV-Leanfront for more
>> details
>
> I forgot to add this in my other email. When I run leanfront, all it
> is crash. This is with your pre-built package. After I enter my
> backend's IP address and exit the settings, leanfront exits back to
> the Android, home screen after a few seconds. After that, every
> launch attempt immediately returns to the Android, home screen. I can
> provide an adb log if you like.

I've just tried this out on my FireTV (4k pendant version) and it also
crashes


08-28 04:13:59.146 21743 21743 I art : Rejecting re-init on
previously-failed class
java.lang.Class<androidx.core.view.ViewCompat$OnUnhandledKeyEventListenerWrapper>:
java.lang.NoClassDefFoundError: Failed resolution of:
Landroid/view/View$OnUnhandledKeyEventListener;
08-28 04:13:59.146 21743 21743 I art : at void
androidx.core.view.ViewCompat.setZ(android.view.View, float)
(ViewCompat.java:2905)
08-28 04:13:59.146 21743 21743 I art : at void
androidx.leanback.widget.SearchOrbView.setSearchOrbZ(float)
(SearchOrbView.java:152)
08-28 04:13:59.146 21743 21743 I art : at void
androidx.leanback.widget.SearchOrbView.<init>(android.content.Context,
android.util.AttributeSet, int) (SearchOrbView.java:206)
08-28 04:13:59.146 21743 21743 I art : at void
androidx.leanback.widget.SearchOrbView.<init>(android.content.Context,
android.util.AttributeSet) (SearchOrbView.java:160)
08-28 04:13:59.146 21743 21743 I art : at java.lang.Object
java.lang.reflect.Constructor.newInstance0!(java.lang.Object[])
(Constructor.java:-2)
08-28 04:13:59.146 21743 21743 I art : at java.lang.Object
java.lang.reflect.Constructor.newInstance(java.lang.Object[])
(Constructor.java:430)
08-28 04:13:59.146 21743 21743 I art : at android.view.View
android.view.LayoutInflater.createView(java.lang.String, java.lang.String,
android.util.AttributeSet) (LayoutInflater.java:645)
08-28 04:13:59.146 21743 21743 I art : at android.view.View
android.view.LayoutInflater.createViewFromTag(android.view.View,
java.lang.String, android.content.Context, android.util.AttributeSet,
boolean) (LayoutInflater.java:787)
08-28 04:13:59.146 21743 21743 I art : at android.view.View
android.view.LayoutInflater.createViewFromTag(android.view.View,
java.lang.String, android.content.Context, android.util.AttributeSet)
(LayoutInflater.java:727)
08-28 04:13:59.146 21743 21743 I art : at void
android.view.LayoutInflater.rInflate(org.xmlpull.v1.XmlPullParser,
android.view.View, android.content.Context, android.util.AttributeSet,
boolean) (LayoutInflater.java:858)
08-28 04:13:59.146 21743 21743 I art : at android.view.View
android.view.LayoutInflater.inflate(org.xmlpull.v1.XmlPullParser,
android.view.ViewGroup, boolean) (LayoutInflater.java:492)
08-28 04:13:59.146 21743 21743 I art : at android.view.View
android.view.LayoutInflater.inflate(int, android.view.ViewGroup, boolean)
(LayoutInflater.java:426)
08-28 04:13:59.146 21743 21743 I art : at android.view.View
android.view.LayoutInflater.inflate(int, android.view.ViewGroup)
(LayoutInflater.java:377)
08-28 04:13:59.146 21743 21743 I art : at void
androidx.leanback.widget.TitleView.<init>(android.content.Context,
android.util.AttributeSet, int) (TitleView.java:106)
08-28 04:13:59.146 21743 21743 I art : at void
androidx.leanback.widget.TitleView.<init>(android.content.Context,
android.util.AttributeSet) (TitleView.java:99)
08-28 04:13:59.146 21743 21743 I art : at java.lang.Object
java.lang.reflect.Constructor.newInstance0!(java.lang.Object[])
(Constructor.java:-2)
08-28 04:13:59.146 21743 21743 I art : at java.lang.Object
java.lang.reflect.Constructor.newInstance(java.lang.Object[])
(Constructor.java:430)
08-28 04:13:59.146 21743 21743 I art : at android.view.View
android.view.LayoutInflater.createView(java.lang.String, java.lang.String,
android.util.AttributeSet) (LayoutInflater.java:645)
08-28 04:13:59.146 21743 21743 I art : at android.view.View
android.view.LayoutInflater.createViewFromTag(android.view.View,
java.lang.String, android.content.Context, android.util.AttributeSet,
boolean) (LayoutInflater.java:787)
08-28 04:13:59.146 21743 21743 I art : at android.view.View
android.view.LayoutInflater.createViewFromTag(android.view.View,
java.lang.String, android.content.Context, android.util.AttributeSet)
(LayoutInflater.java:727)
08-28 04:13:59.146 21743 21743 I art : at android.view.View
android.view.LayoutInflater.inflate(org.xmlpull.v1.XmlPullParser,
android.view.ViewGroup, boolean) (LayoutInflater.java:495)
08-28 04:13:59.146 21743 21743 I art : at android.view.View
android.view.LayoutInflater.inflate(int, android.view.ViewGroup, boolean)
(LayoutInflater.java:426)
08-28 04:13:59.146 21743 21743 I art : at android.view.View
androidx.leanback.app.BrandedSupportFragment.onInflateTitleView(android.view.LayoutInflater,
android.view.ViewGroup, android.os.Bundle)
(BrandedSupportFragment.java:70)
08-28 04:13:59.146 21743 21743 I art : at void
androidx.leanback.app.BrandedSupportFragment.installTitleView(android.view.LayoutInflater,
android.view.ViewGroup, android.os.Bundle)
(BrandedSupportFragment.java:85)
08-28 04:13:59.146 21743 21743 I art : at android.view.View
androidx.leanback.app.BrowseSupportFragment.onCreateView(android.view.LayoutInflater,
android.view.ViewGroup, android.os.Bundle)
(BrowseSupportFragment.java:1297)
08-28 04:13:59.146 21743 21743 I art : at void
androidx.fragment.app.Fragment.performCreateView(android.view.LayoutInflater,
android.view.ViewGroup, android.os.Bundle) (Fragment.java:2439)
08-28 04:13:59.146 21743 21743 I art : at void
androidx.fragment.app.FragmentManagerImpl.ensureInflatedFragmentView(androidx.fragment.app.Fragment)
(FragmentManager.java:1689)
08-28 04:13:59.146 21743 21743 I art : at void
androidx.fragment.app.FragmentManagerImpl.moveToState(androidx.fragment.app.Fragment,
int, int, int, boolean) (FragmentManager.java:1431)
08-28 04:13:59.146 21743 21743 I art : at void
androidx.fragment.app.FragmentManagerImpl.moveToState(androidx.fragment.app.Fragment)
(FragmentManager.java:1684)
08-28 04:13:59.146 21743 21743 I art : at void
androidx.fragment.app.FragmentManagerImpl.addFragment(androidx.fragment.app.Fragment,
boolean) (FragmentManager.java:1930)
08-28 04:13:59.146 21743 21743 I art : at android.view.View
androidx.fragment.app.FragmentManagerImpl.onCreateView(android.view.View,
java.lang.String, android.content.Context, android.util.AttributeSet)
(FragmentManager.java:3745)
08-28 04:13:59.146 21743 21743 I art : at android.view.View
androidx.fragment.app.FragmentController.onCreateView(android.view.View,
java.lang.String, android.content.Context, android.util.AttributeSet)
(FragmentController.java:120)
08-28 04:13:59.146 21743 21743 I art : at android.view.View
androidx.fragment.app.FragmentActivity.dispatchFragmentsOnCreateView(android.view.View,
java.lang.String, android.content.Context, android.util.AttributeSet)
(FragmentActivity.java:405)
08-28 04:13:59.146 21743 21743 I art : at android.view.View
androidx.fragment.app.FragmentActivity.onCreateView(android.view.View,
java.lang.String, android.content.Context, android.util.AttributeSet)
(FragmentActivity.java:387)
08-28 04:13:59.146 21743 21743 I art : at android.view.View
android.view.LayoutInflater.createViewFromTag(android.view.View,
java.lang.String, android.content.Context, android.util.AttributeSet,
boolean) (LayoutInflater.java:777)
08-28 04:13:59.146 21743 21743 I art : at android.view.View
android.view.LayoutInflater.createViewFromTag(android.view.View,
java.lang.String, android.content.Context, android.util.AttributeSet)
(LayoutInflater.java:727)
08-28 04:13:59.146 21743 21743 I art : at android.view.View
android.view.LayoutInflater.inflate(org.xmlpull.v1.XmlPullParser,
android.view.ViewGroup, boolean) (LayoutInflater.java:495)
08-28 04:13:59.146 21743 21743 I art : at android.view.View
android.view.LayoutInflater.inflate(int, android.view.ViewGroup, boolean)
(LayoutInflater.java:426)
08-28 04:13:59.146 21743 21743 I art : at android.view.View
android.view.LayoutInflater.inflate(int, android.view.ViewGroup)
(LayoutInflater.java:377)
08-28 04:13:59.146 21743 21743 I art : at void
com.android.internal.policy.PhoneWindow.setContentView(int)
(PhoneWindow.java:419)
08-28 04:13:59.146 21743 21743 I art : at void
android.app.Activity.setContentView(int) (Activity.java:2420)
08-28 04:13:59.146 21743 21743 I art : at void
org.mythtv.leanfront.ui.MainActivity.onCreate(android.os.Bundle)
(MainActivity.java:38)
08-28 04:13:59.146 21743 21743 I art : at void
android.app.Activity.performCreate(android.os.Bundle) (Activity.java:6689)
08-28 04:13:59.146 21743 21743 I art : at void
android.app.Instrumentation.callActivityOnCreate(android.app.Activity,
android.os.Bundle) (Instrumentation.java:1118)
08-28 04:13:59.146 21743 21743 I art : at android.app.Activity
android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord,
android.content.Intent) (ActivityThread.java:2634)
08-28 04:13:59.146 21743 21743 I art : at void
android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord,
android.content.Intent, java.lang.String) (ActivityThread.java:2748)
08-28 04:13:59.146 21743 21743 I art : at void
android.app.ActivityThread.-wrap12(android.app.ActivityThread,
android.app.ActivityThread$ActivityClientRecord, android.content.Intent,
java.lang.String) (ActivityThread.java:-1)
08-28 04:13:59.146 21743 21743 I art : at void
android.app.ActivityThread$H.handleMessage(android.os.Message)
(ActivityThread.java:1488)
08-28 04:13:59.146 21743 21743 I art : at void
android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
08-28 04:13:59.146 21743 21743 I art : at void
android.os.Looper.loop() (Looper.java:154)
08-28 04:13:59.146 21743 21743 I art : at void
android.app.ActivityThread.main(java.lang.String[])
(ActivityThread.java:6188)
08-28 04:13:59.146 21743 21743 I art : at java.lang.Object
java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[])
(Method.java:-2)
08-28 04:13:59.146 21743 21743 I art : at void
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run()
(ZygoteInit.java:911)
08-28 04:13:59.146 21743 21743 I art : at void
com.android.internal.os.ZygoteInit.main(java.lang.String[])
(ZygoteInit.java:801)
08-28 04:13:59.146 21743 21743 I art : Caused by:
java.lang.ClassNotFoundException: Didn't find class
"android.view.View$OnUnhandledKeyEventListener" on path: DexPathList[[zip
file "/system/priv-app/MetricsApi/MetricsApi.apk", zip file
"/data/app/org.mythtv.leanfront-1/base.apk"],nativeLibraryDirectories=[/data/app/org.mythtv.leanfront-1/lib/arm,
/system/priv-app/MetricsApi/MetricsApi.apk!/lib/armeabi-v7a,
/system/priv-app/MetricsApi/lib/arm,
/system/priv-app/MetricsApi/MetricsApi.apk!/lib/armeabi, /system/lib,
/vendor/lib]]


_______________________________________________
mythtv-dev mailing list
mythtv-dev@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-dev
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org
Re: Experimental Android TV "leanback" MythTV frontend [ In reply to ]
On 21/08/2019 20:17, Peter Bennett wrote:

> I am developing a pure android application for Android TV devices
> called android-MythTV-Leanfront.
>
> It uses the android TV leanback user interface as used by other apps
> such as youtube, prime video, etc. to play MythTV recordings.
>
> It supports 4K resolution video at 50 fps and voice search, which are
> not working on mythfrontend for android. Also it supports surround sound.
>
> It does not yet support many of the important features of
> Mythfrontend, and some features it may never support.
>
> See https://github.com/bennettpeter/android-MythTV-Leanfront for more
> details
>
> Peter
>

I briefly tried this on both FireTV 4k and Nvidia Shield and it fails to
run on both of them. The first time it run it went to the settings
screen so I  set the backend IP and then backed out to a screen that I
think showed just two items for 'Settings' and 'All' nothing else.  Now
when I try it it just crashes back to the Home screen each time. Don't
have any time to debug but curious to why it's failing.

Does this use the Services API?

What Security Pin does it use (I have several BE's on the same network
so set a different pin on each one, I don't use the default  '0000'
could that be it?


I do have over 4100 recordings could that be it?


Paul H.


Paul H.


_______________________________________________
mythtv-dev mailing list
mythtv-dev@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-dev
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org
Re: Experimental Android TV "leanback" MythTV frontend [ In reply to ]
On 11/14/19 11:10 AM, Paul Harrison wrote:
> On 21/08/2019 20:17, Peter Bennett wrote:
>
>> I am developing a pure android application for Android TV devices
>> called android-MythTV-Leanfront.
>>
>> It uses the android TV leanback user interface as used by other apps
>> such as youtube, prime video, etc. to play MythTV recordings.
>>
>> It supports 4K resolution video at 50 fps and voice search, which are
>> not working on mythfrontend for android. Also it supports surround sound.
>>
>> It does not yet support many of the important features of
>> Mythfrontend, and some features it may never support.
>>
>> See https://github.com/bennettpeter/android-MythTV-Leanfront for more
>> details
>>
>> Peter
>>
> I briefly tried this on both FireTV 4k and Nvidia Shield and it fails to
> run on both of them. The first time it run it went to the settings
> screen so I  set the backend IP and then backed out to a screen that I
> think showed just two items for 'Settings' and 'All' nothing else.  Now
> when I try it it just crashes back to the Home screen each time. Don't
> have any time to debug but curious to why it's failing.
>
> Does this use the Services API?
Yes it uses the services API exclusively. It does not use the myth
protocol. v30 or master should work. I have not tested with any earlier
version. It loads the program list with
http://backend:6544/Dvr/GetRecordedList

After you enter the backend ip address it should start with a list of
recording groups: All, Default, Others. Then selecting one of those will
give a row for each title, with episodes across.

> What Security Pin does it use (I have several BE's on the same network
> so set a different pin on each one, I don't use the default  '0000'
> could that be it?
Since it does not use the myth protocol it does not need a pin or the
database credentials.
>
> I do have over 4100 recordings could that be it?
>
It was previously crashing due to a large number of titles. I made a fix
for that but perhaps there is still some limit I am not aware of. It
would be helpful for me to get a logcat output from when it crashes
(full logcat is best: adb logcat > logcat.txt)


_______________________________________________
mythtv-dev mailing list
mythtv-dev@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-dev
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org
Re: Experimental Android TV "leanback" MythTV frontend [ In reply to ]
On 14/11/2019 16:56, Peter Bennett wrote:
>
>
> On 11/14/19 11:10 AM, Paul Harrison wrote:
>> On 21/08/2019 20:17, Peter Bennett wrote:
>>
>>> I am developing a pure android application for Android TV devices
>>> called android-MythTV-Leanfront.
>>>
>>> It uses the android TV leanback user interface as used by other apps
>>> such as youtube, prime video, etc. to play MythTV recordings.
>>>
>>> It supports 4K resolution video at 50 fps and voice search, which are
>>> not working on mythfrontend for android. Also it supports surround
>>> sound.
>>>
>>> It does not yet support many of the important features of
>>> Mythfrontend, and some features it may never support.
>>>
>>> See https://github.com/bennettpeter/android-MythTV-Leanfront for more
>>> details
>>>
>>> Peter
>>>
>> I briefly tried this on both FireTV 4k and Nvidia Shield and it fails to
>> run on both of them. The first time it run it went to the settings
>> screen so I  set the backend IP and then backed out to a screen that I
>> think showed just two items for 'Settings' and 'All' nothing else.  Now
>> when I try it it just crashes back to the Home screen each time. Don't
>> have any time to debug but curious to why it's failing.
>>
>> Does this use the Services API?
> Yes it uses the services API exclusively. It does not use the myth
> protocol. v30 or master should work. I have not tested with any earlier
> version. It loads the program list with
> http://backend:6544/Dvr/GetRecordedList
>
> After you enter the backend ip address it should start with a list of
> recording groups: All, Default, Others. Then selecting one of those will
> give a row for each title, with episodes across.
>
>> What Security Pin does it use (I have several BE's on the same network
>> so set a different pin on each one, I don't use the default  '0000'
>> could that be it?
> Since it does not use the myth protocol it does not need a pin or the
> database credentials.
>>
>> I do have over 4100 recordings could that be it?
>>
> It was previously crashing due to a large number of titles. I made a fix
> for that but perhaps there is still some limit I am not aware of. It
> would be helpful for me to get a logcat output from when it crashes
> (full logcat is best: adb logcat > logcat.txt)
>

It hadn't occurred to me to try using this with my 'production' el7 box,
which has ~2500 DVB-T SD recordings that are now mainly in a DVD-style
mpeg2-ps format.

{{{

Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, top first),
704x576 [SAR 16:11 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0:1[0x1c0]: Audio: mp2, 48000 Hz, stereo, s16p, 256 kb/s

}}}

Selection is fine, but getting to the bottom of the list takes some
time :-) I get no sound, and the video repeatedly plays for a few
seconds, pauses briefly and moves on.

John



_______________________________________________
mythtv-dev mailing list
mythtv-dev@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-dev
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org
Re: Experimental Android TV "leanback" MythTV frontend [ In reply to ]
On 14/11/2019 16:56, Peter Bennett wrote:

> On 11/14/19 11:10 AM, Paul Harrison wrote:
>> On 21/08/2019 20:17, Peter Bennett wrote:
>> It was previously crashing due to a large number of titles. I made a
>> fix for that but perhaps there is still some limit I am not aware of.
>> It would be helpful for me to get a logcat output from when it
>> crashes (full logcat is best: adb logcat > logcat.txt)
>
OK I think I've figured out what was causing the crash. If you have any
recordings where the recording group (recgroup field in the database) is
empty then it goes boom. Making sure they have at least a 'Default'
recording group fixes it so nothing to do with the number of recordings
in this case.


How normal it is for recordings to have a blank/empty recording group I
don't know, my MythTV system and database are ancient and I always live
dangerously running master even in production so there could be some bad
data in the database.


Some recordings are refusing to play for some reason but that's a
problem for another day I was mainly interested to see how you was using
the leanback interface.


Paul H.

_______________________________________________
mythtv-dev mailing list
mythtv-dev@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-dev
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org
Re: Experimental Android TV "leanback" MythTV frontend [ In reply to ]
On Thu, 14 Nov 2019 19:12:22 +0000, you wrote:

>On 14/11/2019 16:56, Peter Bennett wrote:
>
>> On 11/14/19 11:10 AM, Paul Harrison wrote:
>>> On 21/08/2019 20:17, Peter Bennett wrote:
>>> It was previously crashing due to a large number of titles. I made a
>>> fix for that but perhaps there is still some limit I am not aware of.
>>> It would be helpful for me to get a logcat output from when it
>>> crashes (full logcat is best: adb logcat > logcat.txt)
>>
>OK I think I've figured out what was causing the crash. If you have any
>recordings where the recording group (recgroup field in the database) is
>empty then it goes boom. Making sure they have at least a 'Default'
>recording group fixes it so nothing to do with the number of recordings
>in this case.
>
>
>How normal it is for recordings to have a blank/empty recording group I
>don't know, my MythTV system and database are ancient and I always live
>dangerously running master even in production so there could be some bad
>data in the database.

I have a monster size database (36668 recordings, earliest date in
oldrecorded is 2009-11-29), but no empty recorded.recgroup fields. I
only run stable versions on my production box.

>Some recordings are refusing to play for some reason but that's a
>problem for another day I was mainly interested to see how you was using
>the leanback interface.
>
>
>Paul H.
_______________________________________________
mythtv-dev mailing list
mythtv-dev@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-dev
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org
Re: Experimental Android TV "leanback" MythTV frontend [ In reply to ]
On 14/11/2019 16:56, Peter Bennett wrote:
> On 11/14/19 11:10 AM, Paul Harrison wrote:
>> Does this use the Services API?
> Yes it uses the services API exclusively. It does not use the myth
> protocol. v30 or master should work. I have not tested with any earlier
> version.

I've had it working connecting to a backend running v29.1
_______________________________________________
mythtv-dev mailing list
mythtv-dev@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-dev
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org
Re: Experimental Android TV "leanback" MythTV frontend [ In reply to ]
On 11/14/19 2:12 PM, Paul Harrison wrote:
> On 14/11/2019 16:56, Peter Bennett wrote:
>
>> On 11/14/19 11:10 AM, Paul Harrison wrote:
>>> On 21/08/2019 20:17, Peter Bennett wrote:
>>> It was previously crashing due to a large number of titles. I made a
>>> fix for that but perhaps there is still some limit I am not aware of.
>>> It would be helpful for me to get a logcat output from when it
>>> crashes (full logcat is best: adb logcat > logcat.txt)
> OK I think I've figured out what was causing the crash. If you have any
> recordings where the recording group (recgroup field in the database) is
> empty then it goes boom. Making sure they have at least a 'Default'
> recording group fixes it so nothing to do with the number of recordings
> in this case.
>
Thanks for the information. i will get that fixed.
> How normal it is for recordings to have a blank/empty recording group I
> don't know, my MythTV system and database are ancient and I always live
> dangerously running master even in production so there could be some bad
> data in the database.
>
>
> Some recordings are refusing to play for some reason but that's a
> problem for another day I was mainly interested to see how you was using
> the leanback interface.
>
>
I have made a bunch of user interface changes since I last posted a
package. Are you using the package from bintray.com or building your
own? In any case I will post a new package once I have fixed the
recgroup empty issue.

Peter
_______________________________________________
mythtv-dev mailing list
mythtv-dev@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-dev
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org
Re: Experimental Android TV "leanback" MythTV frontend [ In reply to ]
On 11/15/19 10:03 AM, Peter Bennett wrote:
>
>
> On 11/14/19 2:12 PM, Paul Harrison wrote:
>> On 14/11/2019 16:56, Peter Bennett wrote:
>>
>>> On 11/14/19 11:10 AM, Paul Harrison wrote:
>>>> On 21/08/2019 20:17, Peter Bennett wrote:
>>>> It was previously crashing due to a large number of titles. I made a
>>>> fix for that but perhaps there is still some limit I am not aware of.
>>>> It would be helpful for me to get a logcat output from when it
>>>> crashes (full logcat is best: adb logcat > logcat.txt)
>> OK I think I've figured out what was causing the crash. If you have any
>> recordings where the recording group (recgroup field in the database) is
>> empty then it goes boom. Making sure they have at least a 'Default'
>> recording group fixes it so nothing to do with the number of recordings
>> in this case.
>>
> Thanks for the information. i will get that fixed.
>> How normal it is for recordings to have a blank/empty recording group I
>> don't know, my MythTV system and database are ancient and I always live
>> dangerously running master even in production so there could be some bad
>> data in the database.
>>
>>
>> Some recordings are refusing to play for some reason but that's a
>> problem for another day I was mainly interested to see how you was using
>> the leanback interface.
>>
>>
> I have made a bunch of user interface changes since I last posted a
> package. Are you using the package from bintray.com or building your
> own? In any case I will post a new package once I have fixed the
> recgroup empty issue.
>
> Peter
I had originally tried and found that the frontend cannot set a blank
recording groups, so I assumed that would not happen.

I recreated the error by setting a recording's recgroup to blank with a
database update.

I found that mythfrontend (Steppes theme) does not handle the empty
recording group well. It puts the recording into the default group on
screen but also shows a blank recording group button that jumps around
and cannot be selected.

I fixed it in leanfront by defaulting the blank recording group to
Default. I have build a new package with this and a number of other
improvements.
(https://dl.bintray.com/bennettpeter/generic/mythtv_leanfront/android/)

Peter

_______________________________________________
mythtv-dev mailing list
mythtv-dev@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-dev
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org