#! /usr/bin/env python
# -*- coding: utf-8 -*-

#=========================================================
# vvideo.py: uso de mplayer en consola mediante:
#   os.execvp( programa, argumentos ), o bien con 
#   os.spawnvp( modo, programa, argumentos )
#---------------------------------------------------------
# FJA - neocipres@telefonica.net    Mayo de 2007
#=========================================================

import sys
import os

def run(programa,  args):
    pid = os.fork()    # Fork a child process. Return 0 in the child.
    if not pid:
        os.execvp( programa, args )
        #os.spawnvp( os.P_WAIT, programa, args ) # P_WAIT, P_NOWAIT, P_NOWAITO
    return os.wait()[0] 
    # Espera la terminación del proceso hijo, y devuelve un tupla  con el conteniendo
    # de su pid y la indicación de estado de salida: un número 16 bits.

try:
    larg = sys.argv[1:]
    video = str( larg[0] )
    outv = "gl2"
    if len(larg) > 1:
        outv = larg[1]
        
    
except IndexError:
    print "\n\t==============================================="
    print "\n\t vvideo.py: ver videos mediante mplayer        "
    print "\n\t\t Uso:  vv <video.xxx> [salida video]         "
    print "\t===============================================  "
    print "\n\t vv es un enlace simbólico a vvideo.py         "
    print "\n\t salida video: xv, x11, gl2, aa, gif89a ...    "
    print "\n\t\t  ver -> mplayer -vo help                    "
    print "\n\t==============================================="
    
else:
    ta = ( "mplayer", "-vo", outv,  video )
    try:
        print "\n> Pid del proceso: ", str( run("mplayer",  ta) ), "\n"
    except:
        print "\n\t Error: ", sys.exc_info()[0], "\n"
    
