
Recherche avancée
Médias (91)
-
Head down (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Echoplex (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Discipline (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Letting you (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
1 000 000 (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
999 999 (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
Autres articles (105)
-
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 -
Création définitive du canal
12 mars 2010, parLorsque votre demande est validée, vous pouvez alors procéder à la création proprement dite du canal. Chaque canal est un site à part entière placé sous votre responsabilité. Les administrateurs de la plateforme n’y ont aucun accès.
A la validation, vous recevez un email vous invitant donc à créer votre canal.
Pour ce faire il vous suffit de vous rendre à son adresse, dans notre exemple "http://votre_sous_domaine.mediaspip.net".
A ce moment là un mot de passe vous est demandé, il vous suffit d’y (...) -
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 (...)
Sur d’autres sites (8448)
-
Anomalie #3017 : Gestion des versions de plugins
6 juillet 2021Il y aurait beaucoup de choses à dire là dessus.
Personnellement je ne suis pas hyper motivé par la chose car en gros on demande au fil du temps de plus en plus à SVP d’être aussi bon que Composer pour la gestion de versions.
Ça demanderait à refaire completement la logique de SVP.- D’abord à interroger une API externe pour obtenir la liste des plugins / paquets compatibles avec notre version de SPIP (plutôt que de passer par des dépots qui contiennent aussi les paquets pour des versions de SPIP qui ne nous concernent pas). Déjà cette partie est à faire (mais c’est pas le plus dur, vu que Eric a déjà fait une partie de job)
- Ensuite ça veut dire stocker localement (soit en bdd comme maintenant, soit autrement — ce qui serait mieux) l’ensemble des paquets possibles pour chaque plugin : il peut y en avoir un grand nombre (1 par tag en gros…)
- Et gérer tous les cas supplémentaires de mises à jour que toutes ces possibilités composent.Le SAT Solver (https://fr.wikipedia.org/wiki/Probl%C3%A8me_SAT) de SVP n’est déjà pas parfait. Il mériterait d’être refait avec un PHP plus récent. Et peut être utiliser une librairie spécifique pour ce travail mais je ne sais pas si ça existe en PHP, mis à part celui de Composer...
Bref tout ça pour dire que… à vouloir refaire Composer dans SVP… avec nos moyens humains et connaissances du sujet loin d’être aussi grandes que l’équipe de Composer, j’ai peur qu’on s’enlise.
-
Revision 124667 : Nouvelle option pour la description .yaml d’une saisie : hériter d’une ...
13 mai 2020, par Maïeul Rouquette — LogNouvelle option pour la description .yaml d’une saisie : hériter d’une
autre saisie.
Possibilité d’avoir des héritages en cascade.
Possibilité de régler précisement les options héritées ou pas, via des
entrées dans le .yaml.
Pour la documentation, voir
https://contrib.spip.net/ecrire/?exec=article&id_article=5272
Pour des exemples :dans ce dossier, les tests (tests/saisies + tests/saisies_heriter)
la saisie nombre :
https://git.spip.net/spip-contrib-extensions/saisie_nombrela saisie calcul : https://git.spip.net/spip-contrib-extensions/saisie_calcul
En bonus :Ajout d’une fonction saisies_supprimer_identifiants() qui supprime récursivement les identifiants d’une saisie. À utiliser sur les tests unitaires pour éviter d’avoir un identifiant qui change à chaque test.
saisies_modifier(), une option ’fusion’, suite à la demande de @Rastapopoulos. en https://git.spip.net/spip-contrib-extensions/formidable/issues/25#issuecomment-691
-
How would I assign multiple MMAP's from single file descriptor ?
9 juin 2011, par Alex StevensSo, for my final year project, I'm using Video4Linux2 to pull YUV420 images from a camera, parse them through to x264 (which uses these images natively), and then send the encoded stream via Live555 to an RTP/RTCP compliant video player on a client over a wireless network. All of this I'm trying to do in real-time, so there'll be a control algorithm, but that's not the scope of this question. All of this - except Live555 - is being written in C. Currently, I'm near the end of encoding the video, but want to improve performance.
To say the least, I've hit a snag... I'm trying to avoid User Space Pointers for V4L2 and use mmap(). I'm encoding video, but since it's YUV420, I've been malloc'ing new memory to hold the Y', U and V planes in three different variables for x264 to read upon. I would like to keep these variables as pointers to an mmap'ed piece of memory.
However, the V4L2 device has one single file descriptor for the buffered stream, and I need to split the stream into three mmap'ed variables adhering to the YUV420 standard, like so...
buffers[n_buffers].y_plane = mmap(NULL, (2 * width * height) / 3,
PROT_READ | PROT_WRITE, MAP_SHARED,
fd, buf.m.offset);
buffers[n_buffers].u_plane = mmap(NULL, width * height / 6,
PROT_READ | PROT_WRITE, MAP_SHARED,
fd, buf.m.offset +
((2 * width * height) / 3 + 1) /
sysconf(_SC_PAGE_SIZE));
buffers[n_buffers].v_plane = mmap(NULL, width * height / 6,
PROT_READ | PROT_WRITE, MAP_SHARED,
fd, buf.m.offset +
((2 * width * height) / 3 +
width * height / 6 + 1) /
sysconf(_SC_PAGE_SIZE));Where "width" and "height" is the resolution of the video (eg. 640x480).
From what I understand... MMAP seeks through a file, kind of like this (pseudoish-code) :
fd = v4l2_open(...);
lseek(fd, buf.m.offset + (2 * width * height) / 3);
read(fd, buffers[n_buffers].u_plane, width * height / 6);My code is located in a Launchpad Repo here (for more background) :
http://bazaar.launchpad.net/ alex-stevens/+junk/spyPanda/files (Revision 11)And the YUV420 format can be seen clearly from this Wiki illustration : http://en.wikipedia.org/wiki/File:Yuv420.svg (I essentially want to split up the Y, U, and V bytes into each mmap'ed memory)
Anyone care to explain a way to mmap three variables to memory from the one file descriptor, or why I went wrong ? Or even hint at a better idea to parse the YUV420 buffer to x264 ? :P
Cheers ! ^^