Is my extension dead?

So Quantum’s massively changed the access level I had in extensions. My plugin, YoutubeMP3Podcaster, did some pretty crazy stuff. To wit: Download a video from youtube, use runasync to turn it into an MP3 using FFMPEG.exe. It did some other odd ball stuff to get around limitations of the file system on Windows.

I think I can download the video to a sandboxed but even if I can am I out of luck using FFMPEG? The only thing I could find for calling native apps is runtime.connectNative and it’s messaging API. I suppose I could bust out C++ and write a custom application to stream the binary of the video and then pass it through FFMPEG, but that’s going to get kind of ugly… Am I just missing something?

The only way to execute an external application is now (since Quantum) to use the native messaging API.

But you cannot just call FFMPEG directly: the external application must “speak” native app protocol (basically exchanging JSON messages over stdin/stdout). So you must either modify FFMPEG to work that way or call a dedicated native application which will in turn launch an unmodified version of FFMPEG (Video DownloadHelper option).

1 Like