
Recherche avancée
Autres articles (70)
-
Les tâches Cron régulières de la ferme
1er décembre 2010, parLa gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
Le super Cron (gestion_mutu_super_cron)
Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...) -
Des sites réalisés avec MediaSPIP
2 mai 2011, parCette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page. -
ANNEXE : Les plugins utilisés spécifiquement pour la ferme
5 mars 2010, parLe site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)
Sur d’autres sites (11005)
-
Revision 49777 : Gérer les déplacements entre fieldset, correction de la fonction deplacer ...
19 juillet 2011, par marcimat@… — LogGérer les déplacements entre fieldset, correction de la fonction deplacer qui n’acceptait pas l’identifiant sur les conteneurs. Code CSS pour tester : #deplacable .ui-state-highlight height : 5em ; line-height : 1.2em ; #deplacable .ui-sortable (...)
-
Merge commit ’f2143c57b6a61fef382f3128138d8558a9bdecee’
18 mars 2017, par Clément BœschMerge commit ’f2143c57b6a61fef382f3128138d8558a9bdecee’
* commit ’f2143c57b6a61fef382f3128138d8558a9bdecee’ :
vp9 : reindent after last commit
vp9 : add frame threading
vp9 : allocate ’b’, ’block/uvblock’ and ’eob/uveob’ dynamically.
vp9 : split last/cur_frame from the reference buffers.This commit is a noop, we already have all these changes. Again, we will
need in the future to analyse the tiny differences between the two
repository on the vp9 files. But in the current state, it’s a real pain
to do at every commit due to the huge differences (such as files split
and cosmetics).Merged-by : Clément Bœsch <u@pkh.me>
-
ffmpeg avcodec_receive_packet return -11
10 juillet 2018, par tainguyenI tried to create a video from a sequence of input images with ffmpeg API.
First I read the AVFrame from input file then pass to
avcodec_send_frame()
, but when I callavcodec_get_packet()
to get the encoded packet, it returns -11 (output is not available in the current state).I’m just a beginner so I don’t know if anything wrong in my code.
Here is my source code :
for (unsigned int i = 0; i < nb_input; ++i) {
const char *item = input[i];
ret = open_input_file(item);
if(ret < 0) {
goto end;
}
packet = av_packet_alloc();
if(packet == NULL) {
_log_e("Cannot allocate packet");
goto end;
}
ret = av_read_frame(_ifmt_ctx, packet);
if(ret < 0) {
goto end;
}
av_packet_rescale_ts(packet,
_ifmt_ctx->streams[0]->time_base,
_decode_ctx->time_base);
ret = avcodec_send_packet(_decode_ctx, packet);
if (ret < 0) {
goto end;
}
frame = av_frame_alloc();
if(frame == NULL) {
ret = AVERROR(ENOMEM);
_log_e_2("Failed to allocate frame variable for this file : %s ", item);
goto end;
}
ret = avcodec_receive_frame(_decode_ctx, frame);
if (ret == 0) {
/*
* DO FILTER PROCESSING HERE
*/
}
for (int j = 0; j < 25; ++j) {
ret = avcodec_send_frame(_encode_ctx, frame);
if (ret < 0) {
_log_e_2("Failed to send frame at pts = %d", pts);
goto end;
}
AVPacket *out_packet;
out_packet = av_packet_alloc();
if(out_packet == NULL) {
_log_e_2("Failed to allocate output packet at pts = %d" , pts);
goto end;
}
ret = avcodec_receive_packet(_encode_ctx, out_packet);
if(ret < 0) {
_log_e_2("Failed to receive encoded packet at pts = %d" , pts);
if (ret == AVERROR(EAGAIN)) {
_log_e(" output is not available in the current state - user must try to send input");
}
else if (ret == AVERROR_EOF) {
_log_e(" the encoder has been fully flushed, and there will be no more output packets");
}
else if (ret == AVERROR(EINVAL)) {
_log_e(" codec is not opened");
}
av_packet_unref(out_packet);
goto end;
}
_log_v_2("Write encoded packet at pts = %d to output file", pts);
ret = av_interleaved_write_frame(_ofmt_ctx, out_packet);
if (ret < 0) {
_log_e_2("Failed to write encoded packet at pts = %d to output file", pts);
goto end;
}
av_packet_unref(out_packet);
pts++;
}