NewPipeExtractor icon indicating copy to clipboard operation
NewPipeExtractor copied to clipboard

Add media.ccc specific parsing of recordings

Open Profpatsch opened this issue 1 year ago • 1 comments

Instead of pushing the media.ccc recordings straight into the StreamExtractor straightjacket (which does not really provide the correct API for handling the semantics of the media.ccc data), we parse into an intermediate structure first that contains all relevant information about the different streams.

This is required for correct handling of the different languages.

It should not change the API, since its specfic to the media.ccc Extractor. I just type-cast in frankenplayer at the moment. I skipped adding getters/setters in the MediaCCCRecording structs, once this repository is migrated to Kotlin (?), it would just be a data class.

  • [x] I carefully read the contribution guidelines and agree to them.
  • [ ] I have tested the API against NewPipe.
  • [x] I agree to create a pull request for NewPipe as soon as possible to make it compatible with the changed API.

Profpatsch avatar Dec 22 '24 22:12 Profpatsch

I would be ok with merging this as-is (after you fix my other comment), since it's not adding any new functionality for now but just adds the ability to load all recordings. Going forward, I believe it's important to make the API general (especially when it comes to just classifying the type of audio/video, be it slides, normal video, voiceover, etc.), but to also allow subclasses with service-specific information as suggested by Audric in https://github.com/TeamNewPipe/NewPipeExtractor/issues/858#issuecomment-3289753673 .

Stypox avatar Oct 02 '25 12:10 Stypox