Release Notes for v3.15.3 (2023.07.31)




- Attached Audio — when streaming an attached video source, also grab input from an available microphone (if any). So, if you’re using an iPhone (or something) as a remote camera, you can also listen in.


- Group Cell rendering — they’ve been this square thing with a grid of square icons for ages now, which is a little weird since the cameras (generally) aren’t square, and the screens on which Streamie is used aren’t square, so the groups don’t actually render as squares when being streamed. So, instead, I want the new Group cell to be the same form factor as the screen so that the rendering of the Group cell will strongly correspond to the rendering of the Group when being streamed.


- Refactoring — I’m continuing to gradually “unify” the UI code, replacing the iOS-specific and tvOS-specific code with use of the the Streamie Screens framework. I should try to tackle one of the Configure Cameras screens, but, honestly, that scares me.




- Fixes the Configure SMB File Server screen, for which the Help button was directing to the wrong article.

- Updates CameraRecorder so that it will do a better job of writing out a file every ten minutes and not lag based on how long it takes to dump & pump.

- Adds a "Key" section to the Members screen that explain what each of the icons on a Member means.

- We had a user send some rather non-constructive and harassing support messages. It appears that he was trying to add the UniFi Integration. In response to our best guesses at what was frustrating him, we have:

- Added to the UniFi Protect Integration screen some basic form validation that prevents saving the integration unless you actually type in values for the address, username and password.

- Updated the API server auth functions to honor the isDisabled property. We haven't disabled his account, but doing so is now an easy trigger to pull should it become necessary.

- Improves OptionCollectionViewCell so that there's a fixed spacer even when the value label is empty.

- Adds debugging info to BufferView to maybe help figure out what's going on with live streaming disappearing off the screen. This issue is seen infrequently. Basically, the video layers all become transparent. I'm hoping there's a way to detect this.

- Fixes an issue where a device offline alert would be sent in cases where the device reconnected before the original connection went away.

- Adds another feeble attempt to fix whatever is preventing Penguin from reliably sending event notifications. I now believe that it was cancelled results to URL requests (or something) such that queues were backing up.

- Adds audio capture support to AttachedStreamingSession, so you can now listen in while streaming a camera from another device.

- Deprecates SPFv2. Removes all of the dead CMCTuxedo code. Moves over the few necessary bits from Tuxedo to Chinstrap.

- Introduces a MemberStatusRequest v3 which includes "Used Storage" which includes both the Documents and Cache directories. You can see these status in the Home ==> Members ==> Member screen.

- Overhauls where cache files and documents are written; cleans it up and keeps stuff in directories.

- Tries to improve the PTZ handling by recording that the user tried to stop() while a request to pan/tilt/zoom was currently in-flight, and then calling stop() as soon as the in-flight request completes. It seems to have improved things a bit, but I think that maybe that same issue exists on a higher level. We're probably using async calls in a concurrent queue and the start/stop requests are running in the wrong order.

- Fixes a ridiculous issue where apparently I stopped serializing the PtzSettings in OnvifSource, so we could no longer read/write the control values. I'm not sure how this happened.

- Fixes an issue with modifying the Control (PTZ) values in the Configure Onvif Camera screen. Basically the various values were clobbering each other.

- Store camera details (such as ONVIF info and video width/height) in the new details property of the CMCCameraSource. The main purpose of this is to know the true aspect ratio of the camera before the stream begins, so that we can correctly represent it immediately instead of having to wait for the stream to start. Of course, most cameras are 16:9, but this makes it look better for those other situations.

- For the various Home tab screens, the footer string is now correct for Mac, iOS and tvOS. We are using the new CMCDeviceType to make this as tidy as possible.

- Updates the rendering of Group cells, removing the old ImageGrid and replacing it with Quilt so that the Group cell representation matches the actual streaming representation. Additionally, the group cell aspect ratio will match that of the screen. This same change applies to the Group List screen and the Group Configure screen (in the layout section).

- Fixed an issue where failures from VideoToolboxDecoder were not propagating up to the CameraStreamingSessionControl, meaning that we were unintentionally obscuring details about failure state.

- Improves CameraStreamingSessionControl so that, in addition to BufferView failures, StreamingSession failures will now also trigger a reset of the display layer. Hopefully this will aide in resolving an issue where all of the camera streams fail (-12909), the decoders are reset, but the video layers all become permanently and undetectably transparent.

- Fixes an issue where the audio/video sync was off when remote streaming a camera (because a 2-second delay is imposed, but it was only imposed on the video).

- Starts work on adding support for MPA/MP2 audio via RTSP.

- Updates the WebRTC framework (required for Google Nest support) for iOS and tvOS to the M114 release. The previous builds Streamie used were from back in the bitcode days, and each framework was in excess of 600MB. Of course, most of that was stripped out in the build process. These new builds weigh in at less than 9MB each.

- Removes the "(church mode)" label from the Audible Alerts option in the Settings tab, since the phrasing made the meaning of the toggle the opposite of what was intended, and I don't want to invert the function of the toggle.

- Adds "/PeopleDetect" to OnvifEventNotificationMessage's list of topics to determine if the event is motion related.




Related Topics


Release Notes


About Streamie


Streamie provides a best-in-class user experience on your iPhone, iPad, Apple TV and Apple Silicon Mac, with an intuitive user interface that makes it simple to discover, stream, record, monitor and share your HomeKit, Google Nest, Ubiquiti UniFi Protect and ONVIF-compatible IP and RTSP cameras. Streamie keeps you informed with motion event notifications and it works with most cameras using its advanced audio and video codec support. You can watch your cameras from anywhere, record 24/7 to your private NAS, remotely manage multiple locations, device permissions and seamlessly synchronize settings across your devices; configure Hubitat smart home automations, live stream to YouTube and rely on the in-app technical support system when you need help (but you can also reach us by phone). Download Streamie today. Lastly, Streamie is solar powered!