0
votes

I need to develop WinRT App using Qt and FFMPEG, I build the ffmpeg for WinRT based on the instruction here and I am able to link the library with my project. Now I need to open a video file using avformat_open_input but it always giving me the output

video decode error "Permission denied"

Below is the relevant part of the code,

 int ret = avformat_open_input(&pFormatCtx, hls, NULL, NULL);
    if(ret != 0)
    {
        char errbuf[128];
        av_strerror(ret, errbuf, 128);
        qDebug()<<"video decode error"<<QString::fromLatin1(errbuf);

    }

From the above error it seems some permission issue, do I need to add any additional permission on AppxManifest.xml currently I am using default manifest which is created by Qt creator.

1

1 Answers

1
votes

Try to add a file protocol to the manifest page, contains your file extension you want to access/ create or play with..

for example, .xml, .txt, .etc..

I always face this 'unknown' error when try to access files without adding the ext file protocol..

UPDATE: More Information: https://msdn.microsoft.com/library/windows/apps/hh464906.aspx#file_activation

Do it by: Package.appxmanifest > Declarations > Add a 'File Type Association' > your type name and ext. is required.

Example in a code:

  <Extensions>
    <uap:Extension Category="windows.fileTypeAssociation">
      <uap:FileTypeAssociation Name="myfile">
        <uap:SupportedFileTypes>
          <uap:FileType>.config</uap:FileType>
        </uap:SupportedFileTypes>
      </uap:FileTypeAssociation>
    </uap:Extension>
  </Extensions> 

Change 'myfile' and '.config'

Good luck!