Quitter l'application ne fonctionne pas avec 2 instances

Des bugs, où ça ?
Répondre
r0lZ
Messages : 110
Enregistré le : 03 févr. 2011, 15:15
Carte Tuner : Asus My Cinema PS3-100/PTS/FM/AV/RC (PCI) et Genius TVGo DVB-T03 (USB)
Êtes-vous un robot ? : Je ne suis pas un robot
Contact :

Quitter l'application ne fonctionne pas avec 2 instances

Message par r0lZ » 07 sept. 2011, 12:47

Drôle de bug, difficile à comprendre et à décrire.

J'utilise quasiment toujours l'option "Après l'enregistrement: Quitter l'application" avec mes enregistrements programmés. Cela a toujours très bien fonctionné tant que je n'avais qu'un seul tuner, et donc une seule instance de PTVM. Mais depuis que j'ai 2 tuners et que je lance donc deux instances, il semble qu'une des deux instances ignore cette option dans certains cas. Je n'ai pas réussi à comprendre exactement quand ça se produit. J'ai d'abord cru que c'était parce que la fenêtre Qualité du Signal était ouverte, mais ça ne semble pas être le cas. Il semble que le bug ne se produise que quand il y a deux enregistrements simultanés dans les deux instances, mais j'ai du mal à imaginer pourquoi une instance ne se fermerait pas sous prétexte que l'autre tourne et/ou enregistre toujours.

Se peut-il que chaque instance vérifie si les deux tuners sont actifs, et que l'option est ignorée si c'est le cas? Ce serait une précaution utile dans les cas de shutdown ou mise en veille, car il ne faudrait pas qu'une instance arrête brusquement l'enregistrement de l'autre à cause d'un shutdown/veille intempestif, et il semble logique que l'instance dont l'enregistrement se termine assume que c'est l'autre instance, qui enregistre toujours, qui devrait elle même faire le shutdown ou la mise en veille. Mais dans le cas où on a simplement demandé de quitter l'application, il ne devrait pas y avoir de problème à agir tout de suite. Ou, éventuellement, il faudrait que l'instance qui a fini d'enregistrer attende que l'autre ait fini également (ou qu'elle se ferme) pour se fermer également.

Ce bug me gêne fort, car le script que j'ai écrit pour utiliser automatiquement TsChecker ou TsMerger puis ComSkip ou le AD-Detective de VideoReDo à la fin des enregistrements vérifie constamment si au moins une instance de PTVM tourne, et ne traite les nouveaux fichiers TS que quand ce n'est plus le cas. Enfin, une fois les fichiers TS traités, il fait lui même le shutdown ou la mise en veille. C'est très pratique pour enregistrer la nuit ou en fin de soirée, et trouver le lendemain un fichier mergé et un projet VideoRedo avec les pubs déjà exclues, et un marqueur de chapitre à chaque erreur. Malheureusement, à cause de ce bug, rien ne se passe, et je trouve le lendemain mon ordi toujours allumé, et les fichiers TS originaux non traités.

Je profite de ce bug report pour réitérer ma demande de pouvoir définir une action (programme, commande DOS, batch file ou script) à exécuter automatiquement quand un enregistrement programmé est fini. Cela permettrait d'utiliser facilement au moins TsChecker automatiquement.

J'ai par ailleurs aussi une petite suggestion. PTVM pourrait-il retenir l'option ""Après l'enregistrement"? Pour le moment, "Ne rien faire" est toujours l'option par défaut, mais j'aimerais pouvoir lui dire par défaut "Quitter l'application". (Par contre, je ne suis pas sur que retenir les options Éteindre ou Veille soit une bonne chose, car c'est probablement trop dangereux.)
r0lZ
Win7 x64 SP1, Asus My Cinema PS3-100 (PCI) et Genius TVGo DVB-T03 (USB), émetteur TNT de Wavre (Belgique)

Avatar du membre
Gingko
Administrateur du site et développeur
Messages : 1960
Enregistré le : 05 août 2007, 12:57
Carte Tuner : (champ trop court pour énumérer 8 tuners)
Êtes-vous un robot ? : Je ne suis pas un robot
Localisation : Pantin (IDF, 93)
Contact :

Re: Quitter l'application ne fonctionne pas avec 2 instances

Message par Gingko » 07 sept. 2011, 13:00

r0lZ a écrit :Drôle de bug, difficile à comprendre et à décrire.

J'utilise quasiment toujours l'option "Après l'enregistrement: Quitter l'application" avec mes enregistrements programmés. Cela a toujours très bien fonctionné tant que je n'avais qu'un seul tuner, et donc une seule instance de PTVM. Mais depuis que j'ai 2 tuners et que je lance donc deux instances, il semble qu'une des deux instances ignore cette option dans certains cas. Je n'ai pas réussi à comprendre exactement quand ça se produit. J'ai d'abord cru que c'était parce que la fenêtre Qualité du Signal était ouverte, mais ça ne semble pas être le cas. Il semble que le bug ne se produise que quand il y a deux enregistrements simultanés dans les deux instances, mais j'ai du mal à imaginer pourquoi une instance ne se fermerait pas sous prétexte que l'autre tourne et/ou enregistre toujours.

Se peut-il que chaque instance vérifie si les deux tuners sont actifs, et que l'option est ignorée si c'est le cas? Ce serait une précaution utile dans les cas de shutdown ou mise en veille, car il ne faudrait pas qu'une instance arrête brusquement l'enregistrement de l'autre à cause d'un shutdown/veille intempestif, et il semble logique que l'instance dont l'enregistrement se termine assume que c'est l'autre instance, qui enregistre toujours, qui devrait elle même faire le shutdown ou la mise en veille. Mais dans le cas où on a simplement demandé de quitter l'application, il ne devrait pas y avoir de problème à agir tout de suite. Ou, éventuellement, il faudrait que l'instance qui a fini d'enregistrer attende que l'autre ait fini également (ou qu'elle se ferme) pour se fermer également.
Bonjour,

Il y a effectivement une communication entre les instances, afin d'éviter qu'une instance puisse interrompre l'enregistrement de l'autre par extinction ou mise en veille intempestive, et ce n'est pas un bug.
La règle générale étant que, à la fin d'un enregistrement, la commande spécifiée pour « Après l'enregistrement » ne sera pas exécutée si un autre enregistrement est en cours dans une autre instance, ou bien si une autre instance a un enregistrement programmé qui doit débuter dans les 15 minutes.

Gingko
Gingko
․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․
Tuners utilisés, sur 3 ordis : • USB : AverMedia HDTV DVB-T Volar (2×) • PCI : Hauppauge Nova-DT Dual DVB-T • Express Card : AverMedia Digi Express 54

r0lZ
Messages : 110
Enregistré le : 03 févr. 2011, 15:15
Carte Tuner : Asus My Cinema PS3-100/PTS/FM/AV/RC (PCI) et Genius TVGo DVB-T03 (USB)
Êtes-vous un robot ? : Je ne suis pas un robot
Contact :

Re: Quitter l'application ne fonctionne pas avec 2 instances

Message par r0lZ » 07 sept. 2011, 13:21

Hum, je comprend bien l'intention (louable) de ne pas interrompre l'autre instance. Mais je persiste à penser que dans le cas où l'option est simplement "Quitter l'application", il n'y a aucune raison de ne pas le faire (à moins bien sur qu'un autre enregistrement soit programmé dans les 15 minutes pour cette instance là). Après tout, fermer une instance qui n'a plus rien à enregistrer ne peut avoir aucune incidence sur l'autre. Donc, il ne devrait y avoir aucun problème à la fermer. Ou alors, si il faut malgré tout maintenir l'instance ouverte (pour une raison quelconque que j'ignore), alors la deuxième instance devrait signaler à la première qu'elle a fini son boulot, et qu'elle peut se fermer. Sans ça, à mon avis, il s'agit bien d'un bug (ou tout du moins d'une limitation importante), car une instance ne fait pas ce qu'on lui a demandé de faire. Quoi qu'il en soit, ce "problème" est très gênant.

Je suggère même, dans le cas où une instance considère avec raison qu'elle ne peut pas faire le shutdown ou la mise en veille parce que l'autre instance est encore en train d'enregistrer ou va devoir enregistrer bientôt, qu'au moins elle se ferme. Il n'y a aucune raison de la laisser tourner et consommer des ressources quand elle a fini son travail et que l'utilisateur a explicitement spécifié une option "Après l'enregistrement" (quelle qu'elle soit). On peut par contre parfaitement comprendre qu'elle laisse à l'autre le soin de faire le shutdow ou la mise en veille.

Pouvez-vous envisager ça?
r0lZ
Win7 x64 SP1, Asus My Cinema PS3-100 (PCI) et Genius TVGo DVB-T03 (USB), émetteur TNT de Wavre (Belgique)

Répondre