
Recherche avancée
Autres articles (71)
-
Amélioration de la version de base
13 septembre 2013Jolie sélection multiple
Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...) -
Emballe médias : à quoi cela sert ?
4 février 2011, parCe plugin vise à gérer des sites de mise en ligne de documents de tous types.
Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ; -
Gestion de la ferme
2 mars 2010, parLa ferme est gérée dans son ensemble par des "super admins".
Certains réglages peuvent être fais afin de réguler les besoins des différents canaux.
Dans un premier temps il utilise le plugin "Gestion de mutualisation"
Sur d’autres sites (10705)
-
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> -
(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.


-
hevc_ps : make sure failing to decode an SPS always returns an error
13 juillet 2015, par Anton Khirnov