
Recherche avancée
Médias (2)
-
Core Media Video
4 avril 2013, par
Mis à jour : Juin 2013
Langue : français
Type : Video
-
Video d’abeille en portrait
14 mai 2011, par
Mis à jour : Février 2012
Langue : français
Type : Video
Autres articles (107)
-
Le profil des utilisateurs
12 avril 2011, parChaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...) -
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
Sur d’autres sites (13621)
-
ffplay : toggle full screen when double-clicking the video window with the left mouse...
19 janvier 2016, par Vittorio Gambaletta (VittGam)ffplay : toggle full screen when double-clicking the video window with the left mouse button
Now that the seek only happens with the right mouse button, it makes
sense to toggle full screen when double-clicking with the left mouse
button, like other video players do.Signed-off-by : Vittorio Gambaletta <ffmpeg-dev@vittgam.net>
Signed-off-by : Marton Balint <cus@passwd.hu> -
How to call a Rust function that expects a double pointer to buffer
7 octobre 2020, par Guerlando OCsI'm trying to map the following ffmpeg function : http://ffmpeg.org/doxygen/4.0/group__lavc__parsing.html#ga0dd9af605377fcbb49fffd982672d377 to Rust code


int av_parser_parse2 ( AVCodecParserContext * s,
 AVCodecContext * avctx,
 uint8_t ** poutbuf,
 int * poutbuf_size,
 const uint8_t * buf,
 int buf_size,
 int64_t pts,
 int64_t dts,
 int64_t pos 
 ) 



Here's my Rust code sketch :


fn parse2(
 &self, 
 av_codec_context: CodecContext,
 poutbuf: &mut [u8],
 poutbuf_size: &mut i32,
 buf: &[u8],
 pts: i64,
 dts: i64,
 pos: i64,
) -> Result {
 unsafe {// ptr::null(), ptr::null_mut()
 match av_parser_parse2(self.as_mut_ptr(),
 av_codec_context.as_mut_ptr(),
 poutbuf.as_mut_ptr(),
 poutbuf_size.as_mut_ptr(),
 buf.as_mut_ptr(),
 buf.len() as i32,
 pts,
 dts,
 pos
) {
 }
 }
}



Here's the
av_parser_parse2
generated by Rust's C bindings :

pub fn av_parser_parse2(
 s: *mut AVCodecParserContext,
 avctx: *mut AVCodecContext,
 poutbuf: *mut *mut u8,
 poutbuf_size: *mut libc::c_int,
 buf: *const u8,
 buf_size: libc::c_int,
 pts: i64,
 dts: i64,
 pos: i64,
) -> libc::c_int



I'm having problems in 2 arguments :


poutbuf.as_mut_ptr(),
 poutbuf_size.as_mut_ptr(),



How can I make a double pointer ? In ffmpeg the user would provide a pointer to an empty buffer and to a size, which would be ovewritten by the function
av_parser_parse2
. I think I don't want thepoutbuf: &mut [u8]
,poutbuf_size: &mut i32,
arguments. Maybe I need to return a fresh newVec
for everyparse2
call ? So the return value forparse2
would be the tupleVec, i32
.

So I think I should take off
poutbuf
andpoutbuf_size
from the arguments, and callav_parser_parse2
with something that will become theVec
to return. However, I cannot pass aVec
as a double pointer, because I do not know the size of the returned packet.

How can I deal with the returned buffer ?


-
avcodec/mpegaudiodec_template : use double to build csa tables
17 avril 2015, par Michael Niedermayer