tanhakabir / SwiftAudioPlayer

Streaming and realtime audio manipulation with AVAudioEngine
https://medium.com/chameleon-podcast/creating-an-advanced-streaming-audio-engine-for-ios-9fbc7aef4115
MIT License
564 stars 109 forks source link

Icy metadata and custom headers #85

Closed nosenergies closed 3 years ago

nosenergies commented 3 years ago

Hi, I just discovered your library and I was wondering if it implements icy-metadata (timedMetadata in AVPlayer) and also custom headers (like using a custom user-agent). Thanks!

tanhakabir commented 3 years ago

Hey! It doesn't right now, but I can look into that

nosenergies commented 3 years ago

I wanted to start helping by checking your code and maybe make a PR. I followed the steps: clone the repo, cd, pod install and this does not work. I get this message: "[!] No `Podfile' found in the project directory.". Then I tried to open the project in Xcode and here is what I get when I open the [folder:] Capture d’écran 2021-03-22 à 09 21 57 Thanks

nosenergies commented 3 years ago

I also found that wich might help: https://github.com/dimitris-c/AudioStreaming/blob/main/AudioStreaming/Streaming/AudioPlayer/Processors/IcycastHeadersProcessor.swift.

dimitris-c commented 3 years ago

@nosenergies Since I saw this issue, the link you mentioned is for the http headers that some servers send as part of the stream. The extraction of metadata from the stream happens here https://github.com/dimitris-c/AudioStreaming/blob/main/AudioStreaming/Streaming/AudioPlayer/Processors/MetadataStreamProcessor.swift

tanhakabir commented 3 years ago

@nosenergies when you cd'd did you cd into Example folder for the example app? Or if you're using it in your own project, you need to add the pod to your Podfile and then run pod install. I'll update the README to clarify this.

I'll look at @dimitris-c's repo later today

nosenergies commented 3 years ago

@tanhakabir Any update on this feature? Thanks

tanhakabir commented 3 years ago

Hey @nosenergies, with the help from @cntrump we added HTTP Header fields. As for the Icy metadata, I'm going to create a separate issue for that but it looks like a bigger change so I probably won't have time to get to it soon.

New issue: https://github.com/tanhakabir/SwiftAudioPlayer/issues/129