yashsingh1/xdaforums huggingface dataset:
[Connected Car] RichieB:
I didn't say it was uncommon in headunits, but uncommon in Android devices. As we all know running Android on your headunit is still pretty uncommon. :cyclops:

I just checked and even when playing an mp3 using com.parrot.musicplayer the ck5050 process takes 12% CPU. This is about the same as with PowerAMP.. so that doesn't explain the skipping.

Thanks for that hint. I'll ask some developers if they use OMX.google.mp3.decoder from OMXCodec. I suppose on the SCT that would load libOMX.TI.MP3.decode.so?

I tried using MX Player for mp3, but it complained that it was not a video file. Such a shame, because it would have given some clues about hardware accelerated mp3 playback performance.

AFAIK there are no problems with the ID3 tags, but with large amounts of files. I did not do any further testing yet though. I have been using the com.parrot.musicplayer exclusively now (with 800 files on an USB stick), and except for the non-skipping I really dislike it. Some random annoyances:

have to set the source through ACU Home (I know, I can't blame Volvo/Parrot for this one)

no way to see the current playlist

long titles/artists/album names are cropped without scrolling

album art is quite small and fades into the background

no way to create playlists

no way to queue a song into the current playlist

the statusbar flashes with "title per artist", what language is "per", French? Why use "per"?

I was digging around on the file system, and found this interesting directory: /data/property

# cd /data/property
# ls
persist.sys.language
persist.sys.gps.update_status
persist.sys.timezone
persist.service.macgyverd.disab
persist.car.VIN
persist.service.adb.enable
persist.sys.localevar
persist.car.odometer
persist.sys.country
# for i in *;do echo $i;cat $i;echo;done
persist.car.VIN
YV1xxxxxxDxxxxxxx
persist.car.odometer
14495
persist.service.adb.enable
1
persist.service.macgyverd.disab
0
persist.sys.country
NL
persist.sys.gps.update_status
1000
persist.sys.language
nl
persist.sys.localevar

persist.sys.timezone
Europe/Amsterdam
#

We sure are lucky they left service.adb.enable set to 1. :D

What is the MacGyver daemon? Should I enable it?
[Connected Car] donaldta:
No, that then it would be using Google's codec not the Texas Instruments' decoder. Android uses OpenMAX (OMX) for codec interface. Hence all native codecs (hardware accelerated or otherwise) provide OMX interface. This interface is used by StageFright (media player framework) for decoding media using codec. However for API Level 14 (Android 4.x - Ice Cream Sandwich) and below, there is no access to the underlying video decoders at Java layer.

A developer would need to write native code to directly interact with OMX the decoder. This is not a trivial task as it would need knowledge of how OMX works and how to map the specific OMX to application using Native Developer Kit (NDK). It requires using JNI (Java Native Interface) to interact with underlying C/C++ native libraries.

I believe there's an option in the overflow menu to allow MX Player to enable it as an audio player. However, to reiterate what I've written before, I do not know how well MX player plays mp3 files or if it is optimized at all.

Have you checked it with the extended unicode ID3 tags? Would be interesting to find out what the breaking point happens to be.

Technically, the root of the word is Latin but it is also used commonly in French. Parrot is a French based Company afterall.

Here's how I would do it.

#[B] [COLOR="RoyalBlue"]find /data/property -type f -exec awk 'END {print FILENAME,"=",$0}' {} \;[/COLOR][/B]
/data/property/persist.sys.language = en
/data/property/persist.service.macgyverd.anon =
/data/property/persist.sys.gps.update_status = 1000
/data/property/persist.sys.timezone = America/Costa_Rica
/data/property/persist.oops.index = 65
/data/property/persist.service.macgyverd.disab = 0
/data/property/persist.service.adb.enable = 1
/data/property/persist.sys.localevar =
/data/property/persist.sys.country = US
#

It is not necessary. That's how Parrot gathers and sends the tombstones (crash reports) back to them. You can enable it from the notification area when a crash occurs.
[Connected Car] RichieB:
Ok, so using libstagefright in an app would enable the use of hardware accelerated codecs? Since it is marketed as a video player framework I suppose it is not the first choice when writing a music player.
[Connected Car] donaldta:
Technically, they would be linking to the libstagefright libraries through jni. Also, it is a multimedia framework and not just for video players.

# [COLOR="RoyalBlue"][B]find /system -name *stagefright*[/B][/COLOR]
/system/lib/libstagefright_avc_common.so
/system/lib/libstagefrighthw.so
/system/lib/libstagefright_color_conversion.so
/system/lib/libstagefright.so
/system/lib/libstagefright_amrnb_common.so
/system/lib/libstagefright_foundation.so
/system/lib/libstagefright_enc_common.so
/system/lib/libstagefright_omx.so
#

This article, "Android’s Stagefright Media Player Architecture", explains it best in "as close to" layman terms as possible.
[Connected Car] noten093:
Virtual Device

Does anyone has a virtual device of the SCT or the Parrot Smart to experiment with? I would love to have one.

---------- Post added at 05:34 PM ---------- Previous post was at 05:14 PM ----------

There is an update available for the SCT Version 147.96. How to proceed?
[Connected Car] santu001:
Just thought of posting that same message, but don't wanna try. Let's first see what improvements are incorporated.
[Connected Car] RichieB:
I've read the article, but it leaves me wondering. Since Stagefreight is the preferred way to interface with the OMX Subsystem, most music players should use it, and as a result get hardware acceleration. Maybe PowerAMP and Neutron MP do their own (software) decoding but I tried several simple free music players that definitely would use the easiest music playing method. Heck, I even tried the stock Android 2.3 Music Player. All of them have the skipping problem. All of them except the Parrot Music Player. I am thinking it does something special to achieve this, something no other music player does or can.
[Connected Car] donaldta:
Ugh. It is not as simple as just calling up Stagefright library. If it was that simple then everyone would be using it. Again, a developer would need to write native code to directly interact with the OMX decoder. This is not a trivial task as it would need knowledge of how OMX works and how to map the specific OMX to application using Native Developer Kit (NDK). It requires using JNI (Java Native Interface) to interact with underlying C/C++ native libraries. The other thing in Jellybean (Android 4.1 - API level 16) that method is unnecessary as there's now a Java API for it.

The best way to test which of your third-party apps are using the libOMX.TI.MP3.decode.so file is to rename it to libOMX.TI.MP3.decode.so.bak then play it in your app. The song will probably play using the generic codec when it is not found. But, if you check the logcat messages then you'll see a corresponding error message; like, "E/TIOMX_CORE( 3630): dlopen libOMX.TI.MP3.decode.so failed because Cannot load library: load_library[1104]: Library 'libOMX.TI.MP3.decode.so' not found", if the app at least attempts to play it using the hardware accellerated codec.

This is also possible but the question is what is it doing?
[Connected Car] fmpin:
Anyone know what's new in this update ?
[Connected Car] noten093:
Here are the differences. The file is created by the initiator of this topic; Getiem
[Connected Car] AAT:
I asked a similar question on their thread https://devzone.parrot.com/boards/10/topics/show/1084, no right answer...

Here is a guide for Parrot Smart https://devzone.parrot.com/wiki/asteroid-devzone/Set_up_the_development_environment_ST (need to register). Copy in pdf in attach.

Requirements common - Android SDK with Eclipse IDE(for develop), JDK and Parrot ASTEROID skin (skin for SCT - not present).

Can try to install ACU Home launcher. How to install prompts [MENTION=5389783]donaldta[/MENTION] :)
[Connected Car] santu001:
A little strange question, sort of..

Since I discovered Yahoo Weather is only functional in portrait mode, here's my question. Is there any way to fake portrait mode within landscape mode, so Yahoo thinks it's in portrait mode? That's the only way to get it fully functional. The regular screen orientation apps just let you fix a mode. I guess it's asking to much, just figured I could ask...

I also updated my app list with this information. The only way to reach settings is to temporarily set it to portrait mode.
[Connected Car] noten093:
Why don't you just use this widget? BW (Beautifull Widgets)
[Connected Car] santu001:
Actually I have several, but I just love this one... No big deal though, just wondering...
[Connected Car] donaldta:
This is simply not true. I can rotate my Nexus 4 and the Yahoo Weather app orients appropriately with it. It even partially works on the Asteroid Smart with Ultimate Rotation Control installed. However, the app is dependant on Google Play Services to get a fix on your location and there is no way around this unless you can convince the developer to change it. Unfortunately, Google has been buttoning down on their backend security requiring the fingerprint of the device to be validated before Google Play Services can be installed / work.

From what he wrote, the widget portion of Yahoo Weather works fine. It seems like he would ALSO like to get the actual application to work as well.

Me too. However, the best you can do is use a Android 2.3.3 (Gingerbread - API Level 10) Virtual Device. I tried tediously one weekend to build one using extracted files from the PLF archive but it seems like there was just way too many dependencies on the physical hardware to get it working. I may have over or under thought the process but the bottom line is that I wasn't able to get it working. Besides, I had other more pressing priorities to fiddle with it. I would appreciate a set of instructions if someone else can figure it out.

Those are just bullpoop instructions to get the "faceplace" around the actual AVD. It doesn't actually duplicate the Linux/Android environment of the Parrot units. So, besides giving an aesthetic facade, it is pretty useless. I actually went as far to cut their supplied image because whomever created the original decided to leave way too much unnecessary, unused space.

I am unable to get ACU Home running on the AVD. If someone can figure it out please let me know. The furthest I've gotten is to delete the data directory within the AVD to replace the contents of system into it. This provides a modifiable qemu.img which can be used on a new AVD. I used the "de"structions from this post, "How to root an Android Virtual Device?.
[Connected Car] santu001:
Thanks for your reply Donald.

Actually I have installed Yahoo Weather as an apk and it works fine without installing the extra google services. It actually works as it should - on Android anyways.. It does so on my HTC One Max and my 'new' Samsung Note 10.1 2014 edition. Potrait modes allows you to scroll down to the others screens. Now turn your nexus to landscape and you wil notice you can't scroll down anymore. Only sideways to other locations. If I force it to potrait mode with Ultimate rotation control I can scroll down ( now sideways ofcourse with my head tilted.. ;)) So if I could fool the app in thinking it's in portrait while stretching to landscape it would work. But I guess thats not common.
[Connected Car] donaldta:
Haha! I didn't notice it scrolled vertically. But, yeah... you'll have to convince the developer to add this option to the app, so it would work regardless of orientation. I think the only reason why they didn't do it is because of laziness. They'd have to adjust for how the app displays the infoboxes which seems to be designed only with portrait mode in mind.
[Connected Car] noten093:
I am confused. I installed flitsmeister and it did not show a map . I was asked to install Google Play services and did so automatically. After that it showed location on a map.
[Connected Car] santu001:
Even Google Play store states its compatible with all my devices including parrot! There is a map used in Yahoo weather, hence the need of these services I suppose. Installing them was no problem.
[Connected Car] donaldta:
I also have Google Play Services installed on my Asteroid Smart. But, anytime that I use a service that is dependant on it, I see the same error message as shown from the Yahoo Weather app, "Google Play Services, which some of your applications rely on, is not supported by your device. Please contact the manufacturer for assistance". The same error also shows up when trying Google Hangouts and is the reason I cannot log into the most recent version of the YouTube app. If I check behind the scenes why, I see the following error messages in logcat.

W/GooglePlayServicesUtil( 2191): Could not generate certificate.
W/GooglePlayServicesUtil( 2191): Google Play Store signature invalid.
E/GoogleAuthUtil( 2191): GooglePlayServices not available due to error 9

Which points to this StackOverflow post, "GooglePlayServices not available due to error 9". So, on my Asteroid Smart, I cannot get the most current version of Hangouts or Yahoo Weather to work but it works fine on the Nexus. Are you guys able to get better results?

Btw, in case you're wondering what Google Play Services is, this is the best reference I can find to describe it, "Explaining Google Play Services".
[Connected Car] santu001:
Small update and a more indepth video.

The story so far...

[YOUTUBE]PIJ8cpHfQo0[/YOUTUBE]
[Connected Car] donaldta:
Thanks! Because of your video I took another stab at troubleshooting Google Play Services. After one of many updates, Google Play Services had stop updating and I started getting that message about it not being supported on my device. I've been able to to sideload the apk from my Nexus since I was no longer permitted to update it directly. But, I kept on getting the same error messages about it not being compatible.

So, after a bit of troubleshooting, I ended up uninstalling Hangouts, Google Play Services and clearing all the files for Google Play. After rebooting, this reverted to the Android Market and so, I signed in allowed it to update back to Google Play. Once it settled, I reinstalled Hangouts which prompted me to install Google Play Services which finally succeeded on its own. So, now I'm back with a working Google Play Services.

I can thank you for that. Apparently, I was to quick to judge Google from reading all this information around their authentication methodology when it probably just ended up being a corrupted file or some other anomaly. Had you not gotten me involved with Yahoo Weather and shown you did not get the Google Play Services error messages, I would have just written it off as the device not being validated on the Google Play.
[Connected Car] noten093:
MirrorOp working on SCT with Galaxy S4

I tried MirrorOp to see if I can operate my phone from the touch screen. I did not have a third device for filming so that's why you see the mirror palace :D

It is working fine. Now I have to experience with the gestures and so on

[YOUTUBE]9dM5e_wSoTU[/YOUTUBE]
[Connected Car] donaldta:
I'm curious. How does that differentiate from VMLite Remote VNC Server?
[Connected Car] noten093:
Speed. Did you try it with VMlite server and a viewer on you phone? What viewer?
[Connected Car] donaldta:
Yes, that's the whole reason I have VMLite Remote VNC Server in the first place. I use bVNC Free - Secure VNC Viewer on the Asteroid Smart to connect to it.
[Connected Car] noten093:
I can't run it now because my S4 is not rooted. To root it I need to change my firmware etc...pfff:rolleyes:

I will give it a try. To root my S4
[Connected Car] donaldta:
VMLite Remove VNC Server doesn't require root. It just easier if you have root access. Otherwise, you'd need to use their VMLite Android App Controller software to start up the service.
[Connected Car] noten093:
Yes I know, but it is so complicated to physically connect. But I was being lazy. Allready rooted my S4 with Odin now. When I finish working I will give it a try. But I think the speed is much slower with VNC.

BTW, what is your opinion about the new Volvo ACU update. Should I update or not...
[Connected Car] RichieB:
I did this, and there are no such error messages when using Neutron and com.parrot.musicplayer! So neither uses the libOMX.TI.MP3.decode.so library. The new Neutron 1.76.1 NEON seems to run stable, and has the least amount of stuttering I encountered so far. I will start using this player now to see how it holds up in daily use.
[Connected Car] noten093:
Pfew operating the phone your way from the SCT is no good for me. It is also much slower then the MirrorOp. I will test it more..
[Connected Car] gebla:
OK, I took the risk. Installed the Volvo update this morning. Rerooted (without any problems) and after a second reboot found that ADW is still installed with all my apps.

Happy updating all!
[Connected Car] noten093:
Thanks your a hero!
[Connected Car] stavas:
Did you notice any difference with the new fw? Any new settings/apps?

Skickas från min iPad via Tapatalk
[Connected Car] santu001:
Thanks. And indeed hero!
[Connected Car] donaldta:
I thought about this and realized that the SCT.plf did not have the com.parrot.ActiveSources.apk like the Asteroid Smart & Tablet. I guess its ACU Home launcher is calling up the individual sources using Java instead of Android Intents. I've included a copy of the APK, maybe if someone is willing to experiment putting it into /system/app then they can try to bring up the list sources using activity manger. If it works then an application package can be created using Tasker App Factory or a launcher shortcut with QuickShortcutMaker.

Anyways, let me know the results any one of you tests it.
[Connected Car] donaldta:
I actually tried MirrorOp Sender/Receiver this morning. Thought that it was only marginally faster. Maybe by a few fps but certainly not worth the $10 registration fee per app per device. However, this evening I had upgraded my Nexus 4 from Android 4.2 (Jellybean) to 4.4.2 (KitKat) and saw that the performance for VMLite VNC server had degraded almost by half. So, I almost considered getting MirrorOp. However, after I tried it, it looked like this...

As you can see above that it was unusable for me. I guess it doesn't work very well on KitKat at least on my Nexus 4. Although, VMLite has degraded immensely at least it is usable. I've sent a message to both developers with hopes that someone will work the problem.
[Connected Car] noten093:
I didn't register yet. But I tried the dedicated Galaxy version. Maybe that is even faster.
[Connected Car] noten093:
Yes, this is working. Thnx for the contribution. I installed it by clicking on it with ES File Explorer. Find snapshot attached. Again great contribution!
[Connected Car] RichieB:
Thanks, that worked quite nicely:

There is no need for that. The app shows up as Music and can be started from the app tray (or laucher). However, the SCT Music Player (com.parrot.musicplayer) itself does not show as an app. It needs to be started with this intent:

am start -n com.parrot.mediaplayer/.MediaPlayerActivity

I have created a Task Factory APK to do this. I think it is a waste of space though, because ADW Launcher and other tools can create intent shortcuts easily.

Thanks for this test. I was thinking of using strace, but you beat me to it.

Exactly as I expected: software codecs. I'd be interested to see what simple/stock Android music players use, but by now it is clear that unless the ck5050 is used they will be CPU starved when the SCT is doing something else.

I did some testing with this, and even MX Player set up as a music player stutters when TomTom is running. So using the TI hardware codec is not enough to solve this issue.

The question now becomes: how can 3rd party music players use the ck5050 for music playback? Does Parrot publish an API for this?
[Connected Car] donaldta:
Excellent! Thanks for the feedback. But, since this seems pretty helpful, would you mind going back to the original post and click the "" button? Not only does it boost the thread's and my stats but it makes the post easier to find.

Btw, noten093, what are the UPNP[1-3] selections attached to? I didn't see them in RichieB's screenshot and they don't appear on my Smart regardless which MediaEngine plug-ins or physical devices are connected.

Give the com.parrot.ActiveSources.apk a try on your SCT. I believe the iPod selection will appear as long as the iOS device is connected to the SCT before launching the app. It may not be a direct link to it, but at least you won't have to open the ACU Home launcher just to switch sources.

That's great. I didn't know if it shows up as an app or not. There's so many APKs that don't have a presence in the app drawer amongst those do. It is probably the same on my Asteroid Smart where the Music button on the launcher and app drawer points to the ActiveSource apk and not the Parrot Media Player (PMP) APK. It sort of makes sense because if I start PMP through activity manager without selecting a source beforehand then the screen ends up being blank except for the wallpaper.

I agree for most third-party launchers it would be unnecessary to create a Tasker App Factory APK for it. However, for those whom intend to keep using the default ACU Home launcher it's the only way to launch it. I don't blame people like [MENTION=2123836]jaanusj[/MENTION] who prefer it because it is one of the few launchers that works with the center press and directional key events on all of its screens and not just the app drawer.

No, they do not. For their low level events they're pretty cautious about revealing information about it. The most I've ever seen published were in these two Parrot Developer threads, "Asteroid media player and brightness widget questions" and "com.android.music.metachanged intent".
[Connected Car] huisinro:
To get the best performance from VMLite VNC Server, please use Tight VNC Viewer, it has optimized tightvnc encoding, 2x faster than other vnc viewers, such as RealVNC.
[Connected Car] donaldta:
Wow, thanks for picking up on this, Dr. Huihong Luo. However, I am using another Android device (Asteroid Smart) with bVNC Free - Secure VNC Viewer to connect to the VMLite VNC Server on the Nexus 4. The software is negotiating TIGHT encoding as shown in the screenshot below.

However, the performance still seems to have dropped from the upgrade of the Nexus 4 from Android 4.2 to 4.4.2 yesterday. In fact, as shown in the screenshot of Post# 940, the Android update(s) had rendered the MirrorOp software completely unusable. It seems the KitKat update had made changes to the framebuffer which may have caused previous optimizations inoperable or unusable.
[Connected Car] noten093:
yes we have a brick!

Some guy I know bricked his SCT by deleting libc.so in system/lib by accident (?!)

Now it is in boot loop. Is there any hope left?

---------- Post added at 09:05 PM ---------- Previous post was at 08:54 PM ----------

I remembered to push thanks. If you activate the donate option I will even donate a small amount for your time.

The Upnps are from my Synology Nas, Dune HD max and Galaxy S4. I am connected on my home LAN there.
[Connected Car] donaldta:
No, not really. You can brick any Linux system (let alone Android) messing with that file because that library defines the system calls and rudimentary facilities, like opening a file. The only way to restore it at this point is if the SCT has a recovery bootloader. This will allow one to rewrite over the image in the internal flash memory. However, if it exists nobody has figured it out. Here's a link to the instructions of how to do it on the other Parrot devices, "How to do a Brutal Factory Reset. It might give a clue for the SCT.
[Connected Car] Ima_SpaceR:
volvo rulezzzzzzz
[Connected Car] noten093:
Whoops. Need to have a login for this page. Is it possible to paste it?