Recherche avancée

Médias (91)

Autres articles (50)

  • Mise à disposition des fichiers

    14 avril 2011, par

    Par défaut, lors de son initialisation, MediaSPIP ne permet pas aux visiteurs de télécharger les fichiers qu’ils soient originaux ou le résultat de leur transformation ou encodage. Il permet uniquement de les visualiser.
    Cependant, il est possible et facile d’autoriser les visiteurs à avoir accès à ces documents et ce sous différentes formes.
    Tout cela se passe dans la page de configuration du squelette. Il vous faut aller dans l’espace d’administration du canal, et choisir dans la navigation (...)

  • Problèmes fréquents

    10 mars 2010, par

    PHP et safe_mode activé
    Une des principales sources de problèmes relève de la configuration de PHP et notamment de l’activation du safe_mode
    La solution consiterait à soit désactiver le safe_mode soit placer le script dans un répertoire accessible par apache pour le site

  • Gestion générale des documents

    13 mai 2011, par

    MédiaSPIP ne modifie jamais le document original mis en ligne.
    Pour chaque document mis en ligne il effectue deux opérations successives : la création d’une version supplémentaire qui peut être facilement consultée en ligne tout en laissant l’original téléchargeable dans le cas où le document original ne peut être lu dans un navigateur Internet ; la récupération des métadonnées du document original pour illustrer textuellement le fichier ;
    Les tableaux ci-dessous expliquent ce que peut faire MédiaSPIP (...)

Sur d’autres sites (6886)

  • Révision 17955 : Nous ne supportons plus officiellement Netscape Navigator, on peut donc evacuer ...

    29 mai 2011, par cedric -

    "While textarea is most useful within a form, XHTML 1.0 allows textarea in any block-level or inline element other than button. However, Netscape Navigator will not display any textarea elements outside of a form."

  • Evolution #2041 (Nouveau) : "Retour à l’article" sur article en création

    1er mai 2011, par Suske -

    exec=article_edit&new=oui Tu arrives sur un article "new" en mode édition :

    le bouton "Retour à l’article" renvoie en fait à la page d’origine de l’appel d’article_edit. Du coup, pourquoi pas "Annuler" ?

    placer une alerte au cas où le rédac a inséré du texte dans le form (...)

  • Pass a process to a subclass

    16 décembre 2014, par Brett

    I would like to pass a process to a subclass so I may kill it but I can’t figure out how to pass the process. I’m unsure how to store it so I can return it to the form and be able to call the subclass method to kill it. here are my classes

    package my.mashformcnts;
    import java.io.IOException;
    import java.util.Scanner;
    import java.util.regex.Pattern;


    /**
    *
    * @author brett
    */
    public class MashRocks {

       public static Process startThread(MashFormCnts mashFormCnts) throws IOException {
           ProcessBuilder pb = new ProcessBuilder("ffmpeg", "-i", "C:\\Users\\brett\\Documents\\Telegraph_Road.mp4", "C:\\Users\\brett\\Documents\\out.mp4");

           //Here is where i would like to name and store the Process


           final Process p = pb.start();
           // create a new thread to get progress from ffmpeg command , override  
           // it's run method, and start it!  
           Thread t = new Thread() {
               @Override
               public void run() {
                   Scanner sc = new Scanner(p.getErrorStream());
                   // Find duration  
                   Pattern durPattern = Pattern.compile("(?<=Duration: )[^,]*");
                   String dur = sc.findWithinHorizon(durPattern, 0);
                   if (dur == null) {
                       throw new RuntimeException("Could not parse duration.");
                   }
                   String[] hms = dur.split(":");
                   double totalSecs = Integer.parseInt(hms[0]) * 3600 + Integer.parseInt(hms[1]) * 60 + Double.parseDouble(hms[2]);
                   System.out.println("Total duration: " + totalSecs + " seconds.");
                   // Find time as long as possible.  
                   Pattern timePattern = Pattern.compile("(?<=time=)[\\d:.]*");
                   String match;
                   String[] matchSplit;
                   //MashForm pgbar = new MashForm();
                   while (null != (match = sc.findWithinHorizon(timePattern, 0))) {
                       matchSplit = match.split(":");
                       double progress = (Integer.parseInt(matchSplit[0]) * 3600 + Integer.parseInt(matchSplit[1]) * 60 + Double.parseDouble(matchSplit[2])) / totalSecs;
                       int prog = (int) (progress * 100);
                       mashFormCunts.setbar(prog);
                   }
               }
           };
          t.start();
          return p;
       }
      public synchronized static void stop(Thread t) throws IOException{
              Runtime.getRuntime().exec("taskkill /F /IM ffmpeg.exe");  
               t = null;
             //t.interrupt();



      }
    }
      class killMash extends MashRocks{
       public static void Kfpeg(Process p){

         p.destroyForcibly();
       }
    }

    So those are my classes. I’m very new.

    Next there is the event Listener on the form, so when I click this I want to kill the ffmpeg proecess with the Thread t :

     private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                        
           // TODO add your handling code here:
           Thread n = Thread.currentThread();
           System.out.print(n);
           try {
               //MashRocks.stop(n);
                //This isnt working but i think its closer
                killMash.Kfpeg(MashRocks.startThread(this));
    //Not Sure what to do here
     //here is where i want to pass the process sorry for the typo
     killMash.kfpeg(p);
               } catch (IOException ex) {
                   Logger.getLogger(MashFormCunts.class.getName()).log(Level.SEVERE, null, ex);
               }

           }  

    Any help is awesome cheers