[mythtv-users] [mythtv] 20180705 Android Observations
jksj
jksjdevelop at gmail.com
Fri Jul 13 17:18:44 UTC 2018
On 13/07/18 15:55, Lennart Sorensen wrote:
> On Thu, Jul 12, 2018 at 04:35:21PM -0500, David Engel wrote:
>> On Thu, Jul 12, 2018 at 04:13:07PM -0400, Lennart Sorensen wrote:
>>> On Thu, Jul 12, 2018 at 02:56:16PM -0500, David Engel wrote:
>>>> It was using timestretch at 1.5x. It didn't happen last night. I did
>>>> see multiple, but not too many, short pauses, as you described. They
>>>> were annoying, but certainly not as annoying as exiting playback
>>>> altogether. I later tried some talking heads shows at 1.8x
>>>> timestretch, but I couldn't take the jitter.
>>>>
>>>> Yes, it shouldn't hurt. Hopefully, they will take interest. Our
>>>> timestretch and fast forward/rewind use is definitely more of a
>>>> torture test than with any other player of which I'm aware.
>>> All this talk of mythtv on android got me curious, so I just tried doing
>>> a build to see how it would be on my Sony TV, but since (I believe)
>>> it runs 32 bit, I had to build for that, and those 32 bit large file
>>> support bugs hit and that seems just not fixable. Trying to go to API
>>> 24 that supposedly fixes that problem causes other things to not work.
>>>
>>> Oh well, I guess the sony TV is probably too ram limited anyhow to run
>>> the frontend.
>>>
>>> I think the readme file might as well state building for 32 bit is broken
>>> for now. Would have saved some time.
>> What doesn't work for you? I have a 32-bit, Anroid box on which I do
>> some very, basic testing. I haven't noticed anything not working.
> Get an error about undefined ::fgetpos in freesurround.cpp which from what
> I found is due to using android API less than 24 and _FILE_OFFSET_BITS=64
>
> Following the readme uses API 21.
>
> This is where the build ends:
>
> In file included from freesurround.cpp:20:0:
> /home/lsorense/android/android-ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/cstdio:107:11: error: '::fgetpos' has not been declared
> using ::fgetpos;
> ^
> /home/lsorense/android/android-ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/cstdio:117:11: error: '::fsetpos' has not been declared
> using ::fsetpos;
> ^
> In file included from threadedfilewriter.cpp:2:0:
> /home/lsorense/android/android-ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/cstdio:107:11: error: '::fgetpos' has not been declared
> using ::fgetpos;
> ^
> /home/lsorense/android/android-ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/cstdio:117:11: error: '::fsetpos' has not been declared
> using ::fsetpos;
> ^
> In file included from /home/lsorense/android/android-ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/fstream:41:0,
> from mythcommandlineparser.cpp:45:
> /home/lsorense/android/android-ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/cstdio:107:11: error: '::fgetpos' has not been declared
> using ::fgetpos;
> ^
> /home/lsorense/android/android-ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/cstdio:117:11: error: '::fsetpos' has not been declared
> using ::fsetpos;
> ^
> freesurround.cpp: In member function 'uint FreeSurround::putFrames(void*, uint, uint)':
> freesurround.cpp:173:65: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
> if ((surround_mode != SurroundModePassive) && (ic+numFrames > bs))
> ^
> freesurround.cpp:185:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
> for (i = 0; i < numFrames && ic < bs; i++,ic++)
> ^
> freesurround.cpp:195:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
> for (i=0; i<numFrames; i++)
> ^
> freesurround.cpp:207:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
> for (i = 0; i < numFrames && ic < bs; i++,ic++)
> ^
> freesurround.cpp:221:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
> for (i = 0; i < numFrames && ic < bs; i++,ic++)
> ^
> freesurround.cpp:234:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
> for (i=0; i<numFrames; i++)
> ^
> freesurround.cpp:246:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
> for (i = 0; i < numFrames && ic < bs; i++,ic++)
> ^
> freesurround.cpp:265:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
> for (i = 0; i < numFrames && ic < bs; i++,ic++)
> ^
> make[2]: *** [Makefile:767: obj/freesurround.o] Error 1
> make[2]: Leaving directory '/work/lsorense/myth-android/packaging/android/build/mythtv/libs/libmythfreesurround'
> make[1]: *** [Makefile:54: sub-libmythfreesurround-make_first] Error 2
> make[1]: *** Waiting for unfinished jobs....
> make[2]: *** [Makefile:8119: obj/threadedfilewriter.o] Error 1
> make[2]: *** Waiting for unfinished jobs....
> make[2]: *** [Makefile:6626: obj/mythcommandlineparser.o] Error 1
> make[2]: Leaving directory '/work/lsorense/myth-android/packaging/android/build/mythtv/libs/libmythbase'
> make[1]: *** [Makefile:79: sub-libmythbase-make_first] Error 2
> make[1]: Leaving directory '/work/lsorense/myth-android/packaging/android/build/mythtv/libs'
> make: *** [Makefile:68: libs] Error 2A
>
My successfull 32 bit build was against
API 24,
SDK Tools 26.1.1
android-ndk-r15c
SDK Platform Tools 28.00 - I only used this because I did not know how
to load the earlier version
Two changes were required
workdir/mythtv/mythtv/configure
#export ANDROID_BUILD_TOOLS_REVISION=27.0.3
export ANDROID_BUILD_TOOLS_REVISION=28.0.0
workdir/packaging/android/config
#check_cppflags -D_FILE_OFFSET_BITS=64
#check_cxx -D_FILE_OFFSET_BITS=64 <<EOF && add_cxxppflags
-D_FILE_OFFSET_BITS=64
More information about the mythtv-users
mailing list