Bonjour,

je suis actuellement entrain de realiser un programme necessitant la lecture d'une video, apres plusieurs echecs nous avons decide de mettre dans une surface sdl la video, cette surface etant elle meme dans GTK.

Seulement voila, j'ai un peu de mal avec Gtksdl et apres avoir vu plusieurs codes d'exemples je ne vois jamais la modification du champ surface du widget Gtksdl, malgre gtk_sdl_surface_attach.

Apres plusieurs bricolage tout ce que j'arrive a faire c'est ouvrir une nouvelle fenetre SDL dans laquelle la video s'affiche tranquillement.

Modification du code exemple de la version 2.1 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
	
        w = gtk_sdl_new (320, 200, 0, SDL_HWSURFACE | SDL_OPENGL );
	av_register_all();
	pFormatCtx = pFormat("../test.mpg");
	if(!pFormatCtx)
	{
	  printf("Erreur pFormatCtx\n");
	  exit(1);
	}
	videoStream = Stream(pFormatCtx);
	pCodecCtx = codecContext(pFormatCtx, videoStream);
	sdl = GTK_SDL (w);
  	sdl->surface  = SDL_SetVideoMode(pCodecCtx->width, pCodecCtx->height, 0,  SDL_SWSURFACE);
	bmp = SDL_CreateYUVOverlay(pCodecCtx->width,
 				   pCodecCtx->height,
 				   SDL_YV12_OVERLAY,
  				   sdl->surface);
        gnome_app_set_contents (GNOME_APP (appGlobal), w);
Est ce que je fais completement fausse route ?

Je sais que SDL_CreateYUVOverlay creer une nouvelle fenetre mais je suis un peu perdu et je voudrais juste comprendre quand et comment appliquer du SDL a la surface.

Bien sur la maj de la video se fera a part, mais je n'en suis pas encore la...