
Recherche avancée
Médias (17)
-
Matmos - Action at a Distance
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
DJ Dolores - Oslodum 2004 (includes (cc) sample of “Oslodum” by Gilberto Gil)
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Danger Mouse & Jemini - What U Sittin’ On ? (starring Cee Lo and Tha Alkaholiks)
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Cornelius - Wataridori 2
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
The Rapture - Sister Saviour (Blackstrobe Remix)
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Chuck D with Fine Arts Militia - No Meaning No
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
Autres articles (37)
-
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir -
Librairies et binaires spécifiques au traitement vidéo et sonore
31 janvier 2010, parLes logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
Binaires complémentaires et facultatifs flvtool2 : (...)
Sur d’autres sites (3886)
-
hevc_ps : make sure failing to decode an SPS always returns an error
13 juillet 2015, par Anton Khirnov -
(C) avcodec_receive_frame (ffmpeg) function always returns AVERROR(EAGAIN)
13 avril 2021, par LevyuI was following this tutorial : http://dranger.com/ffmpeg/tutorial01.html
and was trying to change some deprecated functions, and so I had to try to use the
avcodec_send_packet
andavcodec_receive_frame
functions.

The problem I'm having is that
avcodec_receive_frame
always returnsAVERROR(EAGAIN)
.

My decoding function is as follows :


static int decode(AVCodecContext *pCodecCtx, AVFrame *pFrame, AVPacket *packet) {
 
 int ret = avcodec_send_packet(pCodecCtx, packet);
 if (ret<0) {
 fprintf(stderr, "error sending packet for decoding\n");
 exit(1);
 }

 while (ret>=0) { 
 // avcodec_receive_packet(pCodecCtx, NULL);
 ret = avcodec_receive_frame(pCodecCtx, pFrame);
 if (ret == AVERROR(EAGAIN)) {
 fprintf(stderr, "\naverror(eagain) ret = %d\n", ret);
 return -1;
 }
 else if (ret == AVERROR_EOF) {
 fprintf(stderr, "eof\n");
 return -100;
 }
 else if (ret <0) {
 fprintf(stderr, "error during decoding\n");
 exit(1);
 }
 }
 return 0;
}



Everywhere I read said that this is solved by calling
avcodec_send_packet
with the next frame, but this does not solve the problem for me because this function is being called in a loop :


 while (av_read_frame(pFormatCtx, &packet)>=0) {
 // is this a packet from the video stream?
 if (packet.stream_index==videoStream) {

 frameNotFinished = decode(pCodecCtx, pFrame, &packet);

 // did we get a video frame?
 if (!frameNotFinished) fprintf(stderr, "it worked!");
 }
 av_packet_unref(&packet); 
 }



I should probably also add that
avcodec_send_packet
always returns 0 (success).

Any help would be much appreciated.


-
pngdec : Stop trying to decode once inflate returns Z_STREAM_END
28 septembre 2013, par Martin Storsjöpngdec : Stop trying to decode once inflate returns Z_STREAM_END
If the input buffer contains more data after the deflate stream,
the loop previously left running infinitely, with inflate returning
Z_STREAM_END.Reported-by : Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC : libav-stable@libav.org
Signed-off-by : Martin Storsjö <martin@martin.st>