big_rapha100e a écrit :En interrompant (bonton "pause") pendant l'enregistrement, j'atterris dans la partie du code avec le commentaire "// boucle qui traite les messages clavier"
En interrompant quelques secondes après l'heure théorique de fin de l'enregistrement, je tombe sur ça:
capture (j'ai refait la manip trois ou quatre fois, avec à chaque fois le même résultat)
Pouchin TV Mod, comme beaucoup d'applications modernes et comme toutes les applications DirectShow, est une application « multithread » (lesquels sont des fils d'exécution qui s'exécutent avec une apparence de simultanéité, simultanéité qui n'est réelle que dans la limite du nombre de processeurs de votre ordinateur).
En l'occurrence, Pouchin TV Mod fonctionne avec une trentaine de ces « threads », dont la plupart ne sont même pas créés par l'application elle-même, mais par la plupart des filtres DirectShow utilisés. Pouchin TV Mod, de lui-même, n'en crée que très peu, et en nombre qui varie selon la fonctionnalité utilisée (par exemple, il en crée un pendant la recherche de chaînes, ou bien un autre pendant l'enregistrement).
La « boucle qui traite les messages clavier » est la boucle « top-level » de l'application, qui existe dans toutes les applications Windows, si vous tombez là-dessus quand vous interrompez, c'est que vous ne regardez pas au bon endroit (dans 99,9999999% des cas).
Dans un cas comme le vôtre, il faut chercher quel « thread » est dans une boucle infinie (en général celui qui consomme beaucoup de ressource processeur), et dans tous les cas, explorer la pile des appels pour voir qui l'a créé. Si aucun code ne s'affiche à l'endroit de l'interruption (ce qui est très fréquent), c'est que le code en question n'appartient pas à Pouchin TV Mod, il appartient à un filtre DirectShow (codec ou autre) ou bien à une DLL de Windows. Après, il faut remonter la pile des appels pour voir quelle fonction de Pouchin TV Mod a appelé ce code. Si on n'en voit aucune, c'est que le thread est géré entièrement par un codec ou par Windows.
Pour s'y retrouver un peu plus, il est très utile de configurer correctement le téléchargement et la mise en cache des
symboles (de débogage) Windows, cela permet, non pas de voir le code, mais au moins de savoir quelle fonctionnalité de Windows est concernée.
Notez qu'un plantage pendant un enregistrement va vraisemblablement se produire dans le thread spécialement créé pour l'enregistrement, et pas dans le thread principal (qui est le premier de la liste).
Gingko