iOS 11 network change AVPlayer audio streaming bug - avplayer

Revised Question (based on the now documented AVPlayer bug):
I found a workaround using this code as a base: https://stackoverflow.com/a/25623647/6697755
I found isWWAN flag can be used to check network type
var flags: SCNetworkReachabilityFlags = []
let isCellular = flags.contains(.isWWAN)
It seems to be a pretty reliable check.
So I can now derive a network type change and reboot the player.
...only took me about 80 hours to find this workaround ;|

I ran into the same problem when I updated to iOS 11. I filed a bug at Apple's Bug Reporter and Open Radar - rdar://35270862

I've edited my question with a workaround to resume playback after leaving or entering wifi.
If anyone has any info on how to fix this or exactly why this issue occurred in iOS11 please let us know.

Related

Unicode Decode Error with audio in psychopy experiment

I have the following problem:
I have experiments that ran on a computer with the PsychoPy Version 1.83.04.
Due to some problems, the computer was reconfigured, hence also PsychPy updated to Version 1.85.4. Since then, none of my experiments with a sound included work anymore. The error message is as follows:
Following an advice in another forum, I changed the files of
- psychopy/sound/init.py
- psychopy/sound/backend_pyo.py
(as suggested also in here).
But unfortunately, this did not work neither. I get a new error message that is
I also tried with the old PsychoPy-Version 1.83.04 - here the experiment at least starts before breaking down. The error message then states that the lxml version is too old to be used with openpyxl and hence cannot open the xlsx-condition file. But there seems to be no problem with the sound device with the old version.
My sound device is as follows:
Description: Lautsprecher (Realtek High Definition Audio)
Default Sound Playback: Yes
Default Voice Playback: Yes
Hardware ID:
HDAUDIO\FUNC_01&VEN_10EC&DEV_0671&SUBSYS_173411EB&REV_1000
Manufacturer ID: 1
Product ID: 100
Type: WDM Driver
Name:
RTKVHD64.sys
Driver Version: 6.00.0001.8186 (English) Driver
Attributes: Final Retail WHQL
Logo'd: Yes
Date and Size: 6/29/2017
18:52:00, 5826560 bytes
What else can I try?
Thank you for your help.
I finally managed to solve the problem - at least superficially.
Following this advice I set PsychoPy back to version 1.85.2. But then, the experiment crushed with a "Fatal Python error: (pygame parachute)..." error message.
Finally, I found the hint where to "switch off" pyo (it was found here): in PsychoPy in File -> Preferences and then delte pyo from the audio library.
Now, my experiments are running again.

NSProgressIndicator built-in animation raises CA_ASSERT_MAIN_THREAD_TRANSACTIONS

This looks like a bug in either NSProgressIndicator or Xcode 9 to me:
Run Xcode 9 Beta 1 or Beta 4, in macOS 10.12.6.
File > New Project, macOS, Cocoa app, Objective-C or Swift, ARC or not, no storyboards, latest (10.13) SDK.
In the app target's environment, set CA_ASSERT_MAIN_THREAD_TRANSACTIONS=1.
In app delegate, add a IBOutlet progressIndicator.
In the nib, add a NSProgressIndicator to the window, connect to that outlet. Leave the checkbox Indeterminate switched on.
In -applicationDidFinishLaunching, call -startAnimation: on progressIndicator.
Build and run.
Expected Result:
Progress indicator should happily show indeterminate progress, because I did everything on the main thread.
Actual Result:
App crashes, citing CA_ASSERT_MAIN_THREAD_TRANSACTIONS, when
-startAnimation: is called.
You can see this in a tiny demo project.
Did I do anything wrong? Is my Expected Result incorrect?
P.S. I asked this on Apple's Developer Forums, but still awaiting moderator approval after 2 working days, so I deleted it and came here instead :(
Update: Still lacking an explanation, I filed Apple Bug 33593575.
This was a bug in NSProgressIndicator. Your bug report (thank you for filing!) was marked as a duplicate of an earlier bug, which was already resolved in macOS 10.13.

tx6s usbotg device-tree changing on it's own

I have a tx6s-8035 SoC which we integrated into a custom board. We connected an Asix 88772B to the usbotg port and we need it to start in host mode.
We grounded the USBOTG_ID pin and we tought it will start in host mode. It didn't happen unfortunately.
I have investigated the issue and I see a strange behaviour... I wrote dr_mode = host as an extra property into the official device-tree. After that I modified the ci_hdrc_imx driver to print what it got in the device_node and it said "peripheral". I backtraced the problem and when the of_usb_get_dr_mode() function is being invoked the device-tree already contains dr_mode = peripheral.
Any ideas? I just can't imagine what happens there...
p.s.: I double-checked that I'm updating the device-tree in a proper manner.
I found the issue:
The u-boot overrides the 'dr_mode' property with it's 'usbotg' parameter so I had to change the environment variable in u-boot and it works since that.
Maybe it helps others too.

Node-Webkit read MP3 files

I use the audio class to read MP3 file thanks to a little trick : replacing the ffmpegsumo.so of Node-Webkit with the chromium one. This enable the reading of MP3 on Windows but doesn't works on Mac OS. Does anyone know why ?
Here's the code :
player = new Audio()
player.src = '/path/to/the/audio.mp3';
player.play();
This seems to be dependant upon the dll/so being a 32 bit version. I am guessing that is why copying the file from Chrome doesn't work correctly for most people ( my 3 year old phone is the only 32-bit device I have left ).
I keep seeing this link --
https://github.com/rogerwang/node-webkit/wiki/Support-mp3-and-h264-in-video-and-audio-tag
.. but it is a blank page. I am guessing it was deleted since the info was likely not current or correct.
This issue thread has links to some rebuilt ffmpegsumo libraries for both Mac and Windows --
https://github.com/rogerwang/node-webkit/issues/1423
The alternative appears to be rebuilding ffmpegsumo, this thread has some config for doing that -- https://github.com/rogerwang/node-webkit/issues/1208
I am still confused about the licensing on it after you build the library, so that is probably worth some research. Everything about mpeg4-part10 is copyrighted and heavily patent encumbered. I think we all need to get smart enough to stop using mp4/h.264. Before I got this working correctly on node-webkit, it was easier to use ffmpeg to transcode the video to an ogv container using Theora and Vorbis codecs. At this point it seems like iOS is keeping h.264 alive, when it should probably die the horrible death it has earned.

Added AudioFileClose to prevent running out of file handles

I encountered a problem using Finch - I was opening and releasing again alot of sound files and a particular point in the project sounds would stop loading - the error code form ALOpenFileFromURL... was 43 - File not found ...
my solution in the end was to make sure that files were closed by adding AudioFileClose (and keeping a record of the fileId) to the dealloc in Sound.m...
my solution is probably not graceful and maybe naive but seems to work for now - so i thought i would post in case it helps anybody else
thanks,
Ross
That was a bug, nice catch! Thanks for reporting, it’s fixed in the current version. Next time you can report the bug directly to the bug tracker, it will be noticed sooner.

Resources