<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Thu, 31 Mar 2016 at 05:43 Gonzalo <<a href="mailto:ggarra13@gmail.com">ggarra13@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Find attached a fixed version of your program.<br>
The main thing I think was how you were allocating the pFormatCtx.<br>
<br>
--<br>
Gonzalo Garramuño<br>
<a href="mailto:ggarra13@gmail.com" target="_blank">ggarra13@gmail.com</a><br>
<br>
_______________________________________________<br>
Libav-user mailing list<br>
<a href="mailto:Libav-user@ffmpeg.org" target="_blank">Libav-user@ffmpeg.org</a><br>
<a href="http://ffmpeg.org/mailman/listinfo/libav-user" rel="noreferrer" target="_blank">http://ffmpeg.org/mailman/listinfo/libav-user</a></blockquote><div><br></div><div><br></div><div>Hi Gonzalo, </div><div><br></div><div>You were right. av_guess_format("h264", NULL, NULL) sets pFormatCtx->oformat into the following:</div><div><br></div><div><div>  pFormatCtx-><a href="http://oformat.name">oformat.name</a><span class="Apple-tab-span" style="white-space:pre">  </span>0x009df614 "h264"<span class="Apple-tab-span" style="white-space:pre"> </span></div><div>  pFormatCtx->oformat.long_name<span class="Apple-tab-span" style="white-space:pre">  </span>0x009df619 "raw H.264 video"<span class="Apple-tab-span" style="white-space:pre">      </span></div><div>  pFormatCtx->oformat.mime_type<span class="Apple-tab-span" style="white-space:pre">  </span>0x00000000 <Bad Ptr><span class="Apple-tab-span" style="white-space:pre">  </span></div><div>  pFormatCtx->oformat.extensions<span class="Apple-tab-span" style="white-space:pre"> </span>0x009df629 "h264,264"<span class="Apple-tab-span" style="white-space:pre">     </span></div><div>  pFormatCtx->oformat.audio_codec<span class="Apple-tab-span" style="white-space:pre">        </span>AV_CODEC_ID_NONE<span class="Apple-tab-span" style="white-space:pre">    </span></div><div>  pFormatCtx->oformat.video_codec<span class="Apple-tab-span" style="white-space:pre">        </span>AV_CODEC_ID_H264<span class="Apple-tab-span" style="white-space:pre">    </span> </div><div>  pFormatCtx->oformat.subtitle_codec<span class="Apple-tab-span" style="white-space:pre">   </span>AV_CODEC_ID_NONE<span class="Apple-tab-span" style="white-space:pre">    </span> </div><div>  pFormatCtx->oformat.flags<span class="Apple-tab-span" style="white-space:pre">    </span>128<span class="Apple-tab-span" style="white-space:pre"> </span></div><div>  pFormatCtx->oformat.codec_tag<span class="Apple-tab-span" style="white-space:pre">  </span>0x00000000<span class="Apple-tab-span" style="white-space:pre">  </span> </div><div>  pFormatCtx->oformat.priv_class<span class="Apple-tab-span" style="white-space:pre">       </span>0x00000000 {class_name=??? item_name=??? option=??? ...}<span class="Apple-tab-span" style="white-space:pre">    </span> </div><div>  pFormatCtx->oformat.next<span class="Apple-tab-span" style="white-space:pre">     </span>0x009980c0 {name=0x009bb03e "hds" long_name=0x009bb042 "HDS Muxer" mime_type=0x00000000 <Bad Ptr> ...}<span class="Apple-tab-span" style="white-space:pre">    </span> </div><div>  pFormatCtx->oformat.priv_data_size<span class="Apple-tab-span" style="white-space:pre">   </span>0<span class="Apple-tab-span" style="white-space:pre">   </span> </div><div>  pFormatCtx->oformat.write_header<span class="Apple-tab-span" style="white-space:pre">     </span>0x005bad70<span class="Apple-tab-span" style="white-space:pre">  </span> </div><div>  pFormatCtx->oformat.write_packet<span class="Apple-tab-span" style="white-space:pre">     </span>0x005bac40<span class="Apple-tab-span" style="white-space:pre">  </span>  </div><div>  pFormatCtx->oformat.write_trailer<span class="Apple-tab-span" style="white-space:pre">   </span>0x00000000<span class="Apple-tab-span" style="white-space:pre">  </span> </div></div><div><br></div><div>whereas av_guess_format(NULL, filename, NULL) sets into the following:</div><div><br></div><div><div>  pFormatCtx-><a href="http://oformat.name">oformat.name</a><span class="Apple-tab-span" style="white-space:pre">       </span>0x009ce84c "mp4"<span class="Apple-tab-span" style="white-space:pre">  </span></div><div>  pFormatCtx->oformat.long_name<span class="Apple-tab-span" style="white-space:pre">  </span>0x009ce850 "MP4 (MPEG-4 Part 14)"<span class="Apple-tab-span" style="white-space:pre"> </span></div><div>  pFormatCtx->oformat.mime_type<span class="Apple-tab-span" style="white-space:pre">  </span>0x009ce689 "video/mp4"<span class="Apple-tab-span" style="white-space:pre">    </span></div><div>  pFormatCtx->oformat.extensions<span class="Apple-tab-span" style="white-space:pre"> </span>0x009ce84c "mp4"<span class="Apple-tab-span" style="white-space:pre">  </span></div><div>  pFormatCtx->oformat.audio_codec<span class="Apple-tab-span" style="white-space:pre">        </span>AV_CODEC_ID_AAC<span class="Apple-tab-span" style="white-space:pre">     </span></div><div>  pFormatCtx->oformat.video_codec<span class="Apple-tab-span" style="white-space:pre">        </span>AV_CODEC_ID_H264<span class="Apple-tab-span" style="white-space:pre">    </span></div><div>  pFormatCtx->oformat.subtitle_codec<span class="Apple-tab-span" style="white-space:pre">     </span>AV_CODEC_ID_NONE<span class="Apple-tab-span" style="white-space:pre">    </span></div><div>  pFormatCtx->oformat.flags<span class="Apple-tab-span" style="white-space:pre">      </span>327744<span class="Apple-tab-span" style="white-space:pre">      </span></div><div>  pFormatCtx->oformat.codec_tag<span class="Apple-tab-span" style="white-space:pre">  </span>0x009ce868<span class="Apple-tab-span" style="white-space:pre">  </span></div><div>  pFormatCtx->oformat.priv_class<span class="Apple-tab-span" style="white-space:pre"> </span>0x009ce880 {class_name=0x009ce870 "mp4 muxer" item_name=0x0062bc70 option=0x009cf300 ...}<span class="Apple-tab-span" style="white-space:pre"> </span></div><div>  pFormatCtx->oformat.next<span class="Apple-tab-span" style="white-space:pre">       </span>0x0099ae00 {name=0x009d104c "mpeg" long_name=0x009d1054 "MPEG-1 Systems / MPEG program stream" mime_type=0x009d0ec8 "video/mpeg" ...}<span class="Apple-tab-span" style="white-space:pre"> </span></div><div>  pFormatCtx->oformat.priv_data_size<span class="Apple-tab-span" style="white-space:pre">     </span>176<span class="Apple-tab-span" style="white-space:pre"> </span></div><div>  pFormatCtx->oformat.write_header<span class="Apple-tab-span" style="white-space:pre">       </span>0x0056ad20<span class="Apple-tab-span" style="white-space:pre">  </span></div><div>  pFormatCtx->oformat.write_packet<span class="Apple-tab-span" style="white-space:pre">       </span>0x0056a260<span class="Apple-tab-span" style="white-space:pre">  </span></div><div>  pFormatCtx->oformat.write_trailer<span class="Apple-tab-span" style="white-space:pre">      </span>0x0056a7f0<span class="Apple-tab-span" style="white-space:pre">  </span></div></div><div><br></div><div>which is unnecessary, since avformat_alloc_output_context2( &pFormatCtx, NULL, NULL, filename ) was doing the same thing.</div><div><br></div><div>Thank you very much. I wouldn't have realised this so quickly without your help.</div><div><br></div><div>Regards,</div><div>Ang</div><div><br></div></div></div>