How do you build the Pion mediadevices webrtc example?

I was checking out Pion Mediadevices and trying to cross-compile the webrtc example for a rasperry pi zero from my windows computer. When I try to build the example though, I get these errors from Windows command prompt:

    # github.com/pion/mediadevices/pkg/codec/mmal
..\..\pkg\codec\mmal\params.go:30:9: undefined: newEncoder
# github.com/pion/mediadevices/pkg/driver/microphone
..\..\pkg\driver\microphone\microphone.go:27:10: undefined: malgo.AllocatedContext
..\..\pkg\driver\microphone\microphone.go:34:2: undefined: malgo.DeviceInfo
..\..\pkg\driver\microphone\microphone.go:40:13: undefined: malgo.InitContext
..\..\pkg\driver\microphone\microphone.go:40:36: undefined: malgo.ContextConfig
..\..\pkg\driver\microphone\microphone.go:78:25: undefined: malgo.DeviceInfo

Also because the program is for the pi zero I edited the import section to have “github.com/pion/mediadevices/pkg/codec/mmal and commented out the x264 import.
What is the correct way to build this example?

Edit: Upon further investigation, I found that the error message above:

 ..\..\pkg\codec\mmal\params.go:30:9: undefined: newEncoder

correlates to a call to the function newEncoder which is declared in a seperate go file, mmal.go, in the same folder as params.go. Both of these files have package mmal at the top before their imports and the folder they’re contained in is also called mmal. Is there any problems there causing the function to not be viewable to params.go?

Read more here: Source link