
Recherche avancée
Médias (1)
-
Richard Stallman et le logiciel libre
19 octobre 2011, par
Mis à jour : Mai 2013
Langue : français
Type : Texte
Autres articles (50)
-
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;
-
La file d’attente de SPIPmotion
28 novembre 2010, parUne file d’attente stockée dans la base de donnée
Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...) -
Ecrire une actualité
21 juin 2013, parPrésentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
Vous pouvez personnaliser le formulaire de création d’une actualité.
Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)
Sur d’autres sites (10115)
-
StackOverflowException with Process in C#
4 juin 2015, par user3633222I have a process, which runs in a console app. It runs forever.
After a couple of days the app crashes with a StackOverflowException.
The essence of the app is where I spin up a Process with FFMpeg.exe and creates a sceenshot of a video stream. It works very good but only for a few days at the time.
I am pretty sure it has to do with the disposal of the FFMpeg or some internal Process stuff.
Here is the code
using ( Process ffmpegProcess = new Process() ) {
//arguments for running ffmpeg
ffmpegProcess.StartInfo.UseShellExecute = false;
ffmpegProcess.StartInfo.CreateNoWindow = true;
ffmpegProcess.StartInfo.RedirectStandardOutput = true;
//specific for our screenshots
ffmpegProcess.StartInfo.FileName = string.Concat( Environment.CurrentDirectory, Path.DirectorySeparatorChar, ffmpegProgramName );
try {
//todo: log this stopwatch somewhere perhaps
processWatch.Start();
//set arguments every time we want to create a new screen shot
ffmpegProcess.StartInfo.Arguments = string.Format( @"-y -i {0}{1} -threads 0 -ss 00:00:01.000 -f image2 -s 620x349 -vframes 1 ../../web/{2}.jpg", server, streamPath, slug );
ffmpegProcess.Start();
ffmpegProcess.WaitForExit( 500 );
Console.WriteLine( slug );
Console.WriteLine( processWatch.Elapsed );
processWatch.Reset();
runCount++;
cacheIndexer++;
//lets see how many spins we've had!
Console.WriteLine( string.Format( "SERVER CACHE INDEX : {0}", cacheIndexer ) );
Console.WriteLine( string.Format( "RUN : {0}", runCount ) );
Console.WriteLine( Environment.NewLine );
} catch ( Exception ex ) {
//Console.WriteLine( "Ex " + ex );
}
}The loop looks like this.
public void RecurseTask() {
/*
You can try one of these, but you will se CPU usage go crazy and perhaps concurrency errors due IO blocking
Parallel.ForEach( _videoStreamSlugs, ( e ) => _videoStreamScreenShots.GrabScreenShot( e ) );
foreach ( var slug in _videoStreamSlugs ) {
Task.Run( () => _videoStreamScreenShots.GrabScreenShot( slug ) );
}
*/
//we want to grab screen shots for every slug in out slug list!
foreach ( var slug in _videoStreamSlugs ) {
_videoStreamScreenShots.GrabScreenShot( slug );
}
//sleep for a little while
Thread.Sleep( _recurseInterval );
//A heavy clean up!
//We do this, trying to avoid a stackoverflow excecption in the recursive method
//Please inspect this if problems arise
GC.Collect();
//lets grab over again
RecurseTask();
}I added a GC.Collect out of curiosity to see if it made a difference.
I am not doing a Windows Service.
-
Pass both resolve and reject callbacks to the process pipe.
24 avril 2013, par blueimpm js/jquery.fileupload.js
Pass both resolve and reject callbacks to the process pipe.
-
GDB crashes when trying to attach to ffmpeg process that is ran by ASP.NET Core app
13 mars 2019, par DoryI have an ASP.NET Core app that runs on windows and activates ffmpeg_g.exe,
I am trying to attach a gdb.exe to the ffmpeg process,
at first, it seems to work :- the ffmpeg process seems paused (the video that ffmpeg produces is stopped)
- gdb is able to read the debug symbols from ffmpeg
- I can see all ffmpeg’s threads, and switch to the thread that I interested in.
(using threads command and thread number) - I can see the backtrace (with bt command)
- I can set breakpoints
-
but when I run continue command or step, ffmpeg crashes immediately :
[Thread 24620.0x63c8 exited with code 4294967295]
[Thread 24620.0x6284 exited with code 4294967295]
[Inferior 1 (process 24620) exited with code 037777777777]
things that are may be relevant :
- the ffmpeg is built on Ubuntu and it does work by itself
- I was able to attach to ffmpeg with gdb, and it works ok
when I run ffmpeg by itself and not from the .net-core app - the app and the cmd window from which I run gdb, run "as administrator"
- I tried all combinations of the app and gdb, run as administrator or regular user.
- I use GDB that comes with mingw-w64
- I tried to run many gdb commands to find a clue to this,
some made only ffmpeg to crash, but, for example
if I runinfo program
command, it crashes both ffmpeg and GDB.