Advertisement
Guest User

mp2 header missing

a guest
Oct 30th, 2014
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.54 KB | None | 0 0
  1. while (1) {
  2. if ((ret = av_read_frame(fmt_ctx, &packet)) < 0)
  3. break;
  4.  
  5. if ( (packet.stream_index == audio_stream_index) ) {
  6. ret = avcodec_decode_audio4(aud_ctx, aud_frame, &got_frame, &packet);
  7. if (ret < 0) {
  8. audio_errors++;
  9. if (audio_errors>99) {
  10. fprintf(stderr, "CRITICAL: INPUT: Aborting as >99 Errors decoding audio! : %s\n",av_err2str(ret));
  11. break;
  12. } else {
  13. fprintf(stderr, "INPUT: Error #%d decoding audio! : %s\n",audio_errors,av_err2str(ret));
  14. }
  15. }
  16. if ( (ret>0) && (got_frame) )
  17. {
  18. if (!swr)
  19. {
  20. init_resampler(aud_ctx,sinfo->audContext->codec,&swr);
  21. init_fifo(sinfo->audContext->codec,&aud_fifo);
  22. //init_swr(aud_frame,sinfo->audContext->codec);
  23. }
  24.  
  25. int finished;
  26. read_decode_convert_and_store(aud_frame, aud_fifo,
  27. audio_stream,
  28. aud_ctx,
  29. sinfo->audContext,
  30. sinfo->audContext->codec,
  31. swr);
  32.  
  33. //if (av_audio_fifo_size(aud_fifo)>=sinfo->audContext->codec->frame_size )
  34. {
  35. load_encode_and_write(aud_fifo, sinfo->audContext, sinfo->fmtContext, sinfo->audContext->codec, sinfo->muxed_pts);
  36. }
  37.  
  38. /*int err = av_buffersrc_write_frame(abuffer_ctx, aud_frame);
  39. if (err < 0) {
  40. fprintf(stderr, "CRITICAL: INPUT: error writing audio frame to buffersrc\n");
  41. goto end;
  42. }
  43.  
  44. // pull filtered audio from the filtergraph
  45. for (;;) {
  46. err = av_buffersink_get_frame(abuffersink_ctx, audio_filt_frame);
  47. if (err == AVERROR_EOF || err == AVERROR(EAGAIN))
  48. break;
  49. if (err < 0) {
  50. fprintf(stderr, "CRITICAL: INPUT: Error sending data to audio filtersink\n");
  51. return -1;
  52. }
  53.  
  54. int finished;
  55. read_decode_convert_and_store(audio_filt_frame, aud_fifo,
  56. audio_stream,
  57. aud_ctx,
  58. sinfo->audContext,
  59. sinfo->audContext->codec,
  60. swr);
  61.  
  62. //if (av_audio_fifo_size(aud_fifo)>=sinfo->audContext->codec->frame_size )
  63. {
  64. load_encode_and_write(aud_fifo, sinfo->audContext, sinfo->fmtContext, sinfo->audContext->codec, sinfo->muxed_pts);
  65. }
  66.  
  67. }*/
  68.  
  69. }
  70. got_frame = 0;
  71. }
  72. // Process Video Packets ...
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement