[13:51:33 CET] <funnybunny2> Is it true that av_register_all is deprecated? https://github.com/leandromoreira/ffmpeg-libav-tutorial/issues/29 The docs don't say that. If I remove the call my program doesn't work [13:57:05 CET] <ritsuka> funnybunny2: which version of ffmpeg are you using? [13:59:05 CET] <funnybunny2> ritsuka: Looks like 3.4.6, but I want to use the latest version. I guess Ubuntu comes with an old version [13:59:33 CET] <funnybunny2> I should switch my code to link against my own compiled version [14:02:46 CET] <funnybunny2> The documentation for avformat_alloc_context should also be updated to say what the function returns [14:35:34 CET] <funnybunny2> Why can avcodec_open2 fail? [14:36:03 CET] <funnybunny2> The documentation doesn't say it returns an AVERROR and I don't know what sort of error message to print [14:42:52 CET] <DHE> funnybunny2: static char errstr[1024]; int errstatus = av_strerror(avcodec_open2_error_return, errstr, sizeof(errstr)-1); if (errstatus < 0) printf("Unknown error\n"); else printf("Error message: %s\n", errstr); [14:43:53 CET] <funnybunny2> DHE: ? [14:46:16 CET] <DHE> av_strerror will convert an error return code to a user/dev friendly string. this is the code I use (sorta) to make use of it. [14:47:25 CET] <funnybunny2> DHE: I know that, but the documentation for avcodec_open2 doesn't say it returns an AVERROR. Looking at the source code, it actually does. But if it didn't, I wouldn't just want to print Unknown error [14:49:12 CET] <funnybunny2> I'd like the documentation to be updated so I can trust the function will not be changed. The documentation is unclear. I guess I'm just supposed to treat the source code as the documentation and assume there is no stability to ffmpeg [14:51:13 CET] <DHE> that's not the right way to describe it. AVERROR is a macro. AVERROR(errno) is its intended usage if an errno code is appropriate, else there are a variety of AVERROR_xxx constants [17:34:54 CET] <JaredCE> i've used ffmpeg to split a file up... how might i use it to recombine the file? [17:39:42 CET] <klaxa> concat muxer? [17:39:58 CET] <klaxa> https://trac.ffmpeg.org/wiki/Concatenate#demuxer [17:40:02 CET] <klaxa> *demuxer [17:43:09 CET] <JaredCE> klaxa that looks like it [21:51:48 CET] <LFSVeteran> more a generic C question.... AVAudioFifo has a field nb_buffers, how to reference nb_buffers if I have AVAudioFifo **fifo ? [22:02:22 CET] <klaxa> is **fifo->nb_buffers invalid? i think so, then you may need brackets? like *(*fifo)->nb_buffers ? [22:02:39 CET] <klaxa> err... *parenthesis [22:10:20 CET] <LFSVeteran> I still get the error "dereferencing pointer to incomplete type 'AVAudioFifo' {aka 'struct AVAudioFifo'}" [22:12:09 CET] <DHE> oh that. it's an abstract type. use av_audio_fifo_size() and/or av_audio_fifo_space() [22:12:09 CET] <c_14> isn't it just (*fifo)->nb_buffers ? [22:12:22 CET] <c_14> or that [22:12:38 CET] <LFSVeteran> also tried [22:12:50 CET] <c_14> you tried av_audio_fifo_size ? [22:13:57 CET] <LFSVeteran> it's not just this I want , I have also other vars in **var form I want to check [22:14:50 CET] <LFSVeteran> hence I'm searching for a generic solution [22:23:22 CET] <c_14> in general it should be (*ptr)->field https://gcc.godbolt.org/z/m5KoG8 [22:28:51 CET] <LFSVeteran> ypedef struct AVAudioFifo AVAudioFifo; [22:29:08 CET] <LFSVeteran> there seems not to be a real struct [22:29:22 CET] <LFSVeteran> at least the fields are not defined [22:29:48 CET] <LFSVeteran> can't find other definition of it in the headers [22:29:54 CET] <c_14> then it's private [22:30:13 CET] <c_14> and any access to its members is through av_ functions [22:31:17 CET] <LFSVeteran> checking relevant functions... [00:00:00 CET] --- Tue Jan 28 2020
participants (1)
-
burek