I find a problem in the example file mux.c, and I need some help about how to 
modify the codec of a muxer
 // The filename is xxx.flv // The default codec for flv is 
AV_CODEC_ID_ADPCM_SWF and AV_CODEC_ID_FLV1 // If I want to modify the codec I 
need to copy the entire value of return pointer of av_guess_format() like this, 
since it returns a const pointer I can not modify it directly // It will cause 
a segmentation fault when I call avformat_write_header(), because it didn't 
copy the write_header function pointer in private fileds AVOutputFormat 
av_flv_format; av_flv_format = *(AVOutputFormat*)av_guess_format(NULL, 
filename, NULL); av_flv_format.audio_codec = AV_CODEC_ID_AAC; 
av_flv_format.video_codec = AV_CODEC_ID_H264; // Then I try to copy the whole 
FFOutputFormat to modify the codec // Because I can't include the mux.h file so 
I need to copy the definition of FFOutputFormat FFOutputFormat ff_flv_format; 
ff_flv_format = *(FFOutputFormat*)av_guess_format(NULL, filename, NULL); 
ff_flv_format.p.audio_codec = AV_CODEC_ID_AAC; ff_flv_format.p.video_codec = 
AV_CODEC_ID_H264; // At this time, it works 
avformat_alloc_output_context2(&oc,&ff_flv_format, NULL, filename);   
What should I do if I want to modify the codec?
_______________________________________________
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".

Reply via email to