Hi Hristo, thanks again for your support.
I tried with avformat_open_input(&m_pFormatCtxInCam, szUrl, m_pInFrmt, nullptr) which did not solve the issue. Same error as before. Yes, m_pFormatCtxInCam->iformat->create_device_capabilities is nullptr in my case. Same is the case for m_pInFrmt->create_device_capabilities. Actually I tried the same code with m_pInFrmt = m_pLibAvFormatWrapper->av_find_input_format(“rtsp”); and szUrl being a valid rtsp stream url. Same here. (the stream opens successfully and I can grab and decode frames etc… all good there) Probably I am missing some register-call… In the link you send me for this API the first call is avformat_alloc_output_context2<https://ffmpeg.org/doxygen/trunk/avformat_8h.html#a0234fa1116af3c0a72edaa08a2ba304f>(&oc, NULL<https://ffmpeg.org/doxygen/trunk/coverity_8c.html#a070d2ce7b6bb7e5c05602aa8c308d0c4>, "opengl", NULL<https://ffmpeg.org/doxygen/trunk/coverity_8c.html#a070d2ce7b6bb7e5c05602aa8c308d0c4>) I am not doing this, because I am not interested in option-ranges of the output format. But there is no avformat_alloc_input_context-function, right? Or do I need to use avformat_alloc_output_context2 in my case? But then, what would be useful parameters? Mit freundlichen Grüßen / Best regards Sven Hans DERMALOG Identification Systems GmbH Systems Engineer Mittelweg 120 | 20148 Hamburg Fon +49 40 413227 0 Fax +49-40-413227-40 Mail [email protected]<mailto:[email protected]> Web www.dermalog.com<https://www.dermalog.com> This e-mail may contain information that is confidential or proprietary to DERMALOG Identification Systems GmbH. Any unauthorized disclosure, distribution or other use is prohibited. P Please consider the environment before printing this email From: Libav-user <[email protected]> On Behalf Of Hristo Ivanov Sent: Mittwoch, 17. April 2019 15:03 To: This list is about using libavcodec, libavformat, libavutil, libavdevice and libavfilter. <[email protected]> Subject: Re: [Libav-user] list all available formats of webcam Hi. The implementation of 'avdevice_capabilities_create'(https://ffmpeg.org/doxygen/trunk/avdevice_8c_source.html#l00143) starts with the following lines: 1 int ret; 2 av_assert0(s && caps); 3 av_assert0(s->iformat || s->oformat); 4 if ((s->oformat && !s->oformat->create_device_capabilities) || 5 (s->iformat && !s->iformat->create_device_capabilities)) 6 return AVERROR(ENOSYS); My guess is the -40(ENOSYS) error is returned in line 6. Can you check in your code if 'm_pFormatCtxInCam->iformat->create_device_capabilities' is different from null. The next step would be to understand why is 'm_pFormatCtxInCam->iformat->create_device_capabilities' null. With ffmpeg you just have to dive in the source code and try to understand it. Compiling a debug version of the ffmpeg libs/dlls is extremely useful for this purpose. > Maybe I did not initialize everything correctly or bad ordering of open input? > Please see my code: The code seems correct, my only problem with the above code is in the next line: > int ret = avformat_open_input(&m_pFormatCtxInCam, szUrl, m_pInFrmt, > &m_pInOptions); Try using no(NULL) options: int ret = avformat_open_input(&m_pFormatCtxInCam, szUrl, m_pInFrmt, NULL); Maybe opening an input with options shuts down the querying capabilities of the input, I don't really know, it's just a guess. Regards. ________________________________ DERMALOG Identification Systems GmbH * Mittelweg 120, 20148 Hamburg, Germany CEO/Managing Director: Günther Mull * Commercial Register: AG Hamburg HRB 69547
_______________________________________________ Libav-user mailing list [email protected] https://ffmpeg.org/mailman/listinfo/libav-user To unsubscribe, visit link above, or email [email protected] with subject "unsubscribe".
