-
Notifications
You must be signed in to change notification settings - Fork 143
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Twin Engine Labs (Lynxus) Contributions #48
base: master
Are you sure you want to change the base?
Conversation
…ine with HLS Main.
… This limits HLS manifest syncing to the end of a recording.
…efer the final manifest sync into the segment upload callback.
…Writers manually from an application. This fixes the 'writer error This operation could not be completed' error.
…esolution meta data in their callbacks.
…e live streaming manifest updates and fix the missing ts chunk issue by being 100% sure that the manifest snapshot has content.
…race conditions by allowing late sequences the chance to be added.
…a time. Increase the adaptive bitrate to 80% of the current upload rate.
…ly instead of waiting on each segment to be uploaded.
… recording stop and/or recorder deallocation.
…nifest once it's full.
…k to changing bitrate after file is fully uploaded - not 100% confident in its speed calculation.
…lls to KFHLSMonitor over to KFRecorder.
…ensure we get an index.m3u8.
5 second chunks were indeed unreliable.
Track frames as they come in, and, if there's a back-to-back keyframe, shove the second keyframe in as regular data instead of IDR data. Chrome didn't do well with that second keyframe without pts/dts information.
…gment upload bug - when a segment upload failed, it didn't get requeued and hung.
This reverts commit 2ea9a43.
removes AVCaptureSession's control of AVAudioSession
adjust to handle 6s sample rate
This reverts commit f3fb7d1.
When you set overrideOutputAudioPort on the shared AVAudioSession to AVAudioSessionPortOverrideNone, the sample rate is set to the expected 44100. Since that's the case, there's no need to tinker with the buffer duration settings. The camera roll writing has been failing (since iOS 9 I guess) with -11800 and -12902 error. Removing the unnecessary compression settings for its asset writer seems to have fixed that bug.
merge tel kickflip
…into videotoolbox Conflicts: Kickflip/Codecs/Video/H264/AVEncoder.mm
Video Toolbox Integration
While the project is in between being merged back into the base repo, use 1.4 alongside a custom pod source. eg: source 'https://github.com/twinenginelabs/kickflip-ios-sdk.git' pod 'Kickflip', '~> 1.4'
@nicholas Wow, thank you for the awesome pull request! I am just now going back and putting some more love into the code, and just saw this PR. You definitely put a smile on my face. 😄 |
@nicholas Hey I merged your code into the 1.4-beta branch but I seem to be having issues with the video preview while recording. It stays frozen with either a black screen or a single frame until I hit stop, and no frames seem to get recorded. When I reverted to the master branch everything worked fine, so I'm guessing this is a problem with the VideoToolbox code. I was planning on switching to the VT API so I'd love to get your code working! |
Alright, good to know. I'll do some testing this week and make sure it works with the Kickflip example project .. our testing was done with a probably-more-custom approach. Will have to investigate and see. For reference, what device and OS version did you test with? |
Hi @nicholas , did you manage to solve the freezing issue or black screen ? Thanks |
@nicholas I there something I can do, to change the stream orientation while I'm streaming, because with solution it seems that I can only change it before I start the stream, not while I'm streaming ? Or did I do something wrong ? |
I used this for a client app and made quite a few changes (and more to come) along the way. I've been meaning to circle back around and contribute this back upstream, but kept getting occupied by other tasks, holidays, and a newborn. =P Anyhow, here I am, and now I realize it's enough change to be a daunting task to split apart. So, if you can work with me, I'd prefer to lump it all into one PR and will work with you on making changes to anything you see as problematic. Open to suggestions on alternatives ways to handle this as well.
I will, however, attempt to give an overview of what's changed and what, if any, issues this changeset addresses.
For now, I've made our repo an alternative source (bumped to 1.4) by hijacking the podspec. If we merge this in we'll need to change that back.
Let me know if there's anything I can do to help make this a viable merge.