libmoldeo (Moldeo 1.0 Core)  1.0
libmoldeo es el conjunto de objetos y funciones, que permiten ejecutar las operaciones básicas de la plataforma Moldeo, y que compone su núcleo.
 Todo Clases Namespaces Archivos Funciones Variables 'typedefs' Enumeraciones Valores de enumeraciones Amigas 'defines' Grupos Páginas
Referencia de la Clase moGsGraph

GStreamer Graph Class. Más...

#include <moGsGraph.h>

Diagrama de herencias de moGsGraph
moVideoGraph moAbstract

Métodos públicos

 moGsGraph ()
 Constructor. Más...
 
virtual ~moGsGraph ()
 Destructor. Más...
 
virtual bool InitGraph ()
 Inicialización del grafo. Más...
 
virtual bool FinishGraph ()
 Finalización del grafo. Más...
 
bool BuildLiveGraph (moBucketsPool *pBucketsPool, moCaptureDevice p_capdev)
 
bool SetCaptureDevice (moText deviceport, MOint idevice=0)
 
bool BuildLiveDVGraph (moBucketsPool *pBucketsPool, moCaptureDevice &p_capdev)
 
bool BuildLiveWebcamGraph (moBucketsPool *pBucketsPool, moCaptureDevice &p_capdev)
 
bool BuildLiveVideoGraph (moText filename, moBucketsPool *pBucketsPool)
 Grafo de reproducción de video en modo vivo, asyncronicamente reproducido en función del clock. Más...
 
bool BuildLiveQTVideoGraph (moText filename, moBucketsPool *pBucketsPool)
 
bool BuildLiveSound (moText filename)
 
bool BuildLiveStreamingGraph (moBucketsPool *pBucketsPool, moText p_location)
 
bool BuildRecordGraph (moText filename, moBucketsPool *pBucketsPool)
 
virtual moStreamState GetState ()
 Estado de la reproducción. Más...
 
void Play ()
 Reproducir el video. Más...
 
void Stop ()
 Detener la reproducción del video. Más...
 
void Pause ()
 Pausa la reproducción del video. Más...
 
void Seek (MOuint frame, float rate=1.0)
 
bool IsRunning ()
 Está corriendo. Más...
 
MOulong GetFramesLength ()
 La cantidad de frames, el largo del stream. Más...
 
MOulong GetSamplesLength ()
 
MObyteGetFrameBuffer (MOlong *size)
 
virtual MOulong GetDuration ()
 La duración total del stream en nanosegundos. Más...
 
virtual MOulong GetPosition ()
 
virtual MOulong GetPositionMS ()
 
void SetVolume (float volume)
 
void SetBalance (float balance)
 Fija el balance entre canal izquierdo y derecho en caso de haberlos. Más...
 
void SetPitch (float pitch)
 
void SetEchoDelay (float delay)
 
void SetEchoIntensity (float intensity)
 
void SetEchoFeedback (float feedback)
 
void SetBrightness (float brightness)
 
void SetContrast (float contrast)
 
void SetSaturation (float saturation)
 
void SetHue (float hue)
 
void BuildAudioFilters ()
 
void SetVideoFormat (moGstCaps *caps, moGstBuffer *buffer=NULL)
 
void SetAudioFormat (moGstCaps *caps, moGstBuffer *buffer=NULL)
 
bool CheckState (moGstStateChangeReturn state_change_result, bool waitforsync=false)
 
void RetreivePads (moGstElement *FilterElement)
 
void WaitForFormatDefinition (MOulong timeout)
 
void CopyVideoFrame (void *bufferdst, int size)
 
virtual bool IsEOS ()
 
virtual void SetEOS (bool iseos)
 
- Métodos públicos heredados desde moVideoGraph
 moVideoGraph ()
 
virtual ~moVideoGraph ()
 
moVideoMode GetVideoMode ()
 Devuelve el modo de video. Más...
 
moVideoFormat GetVideoFormat ()
 Devuelve el formato de video. Más...
 
moAudioFormat GetAudioFormat ()
 Devuelve el formato de audio. Más...
 
- Métodos públicos heredados desde moAbstract
 moAbstract ()
 
virtual ~moAbstract ()
 
virtual MOboolean Init ()
 Inicializa el objeto. Más...
 
virtual MOboolean Finish ()
 Finaliza el objeto, libera recursos. Más...
 
MOboolean Initialized ()
 Pregunta si está inicializado. Más...
 

Métodos públicos estáticos

static moGBoolean cb_have_data (moGstPad *pad, moGstBuffer *buffer, moGPointer u_data)
 
static moGBoolean cb_buffer_disconnected (moGPointer u_data)
 
static void on_rtsppadd_added (moGstElement *rtspsrc, moGstPad *pad, moGPointer u_data)
 
static void cb_newpad (moGstElement *decodebin, moGstPad *pad, moGBoolean last, moGPointer u_data)
 
static void cb_pad_added (moGstElement *decodebin2, moGstPad *pad, moGPointer u_data)
 
static void cb_handoff (moGstElement *fakesrc, moGstBuffer *buffer, moGstPad *pad, moGPointer user_data)
 
- Métodos públicos estáticos heredados desde moVideoGraph
static moText StateToText (moStreamState state)
 Estado de la reproducción (version texto) Más...
 

Atributos públicos

long cb_have_data_handler_id
 
long signal_rtsppad_added_id
 
long signal_newpad_id
 
long m_BusWatchId
 
long signal_handoff_id
 
- Atributos públicos heredados desde moAbstract
MOboolean m_bInitialized
 Valor de inicialización. Más...
 

Otros miembros heredados

- Atributos públicos estáticos heredados desde moAbstract
static moDebugMODebug2 = new moDebug()
 Clase de impresión de errores para depuración. Más...
 
static moTextHeapMODebug = new moTextHeap()
 Lista de textos. Más...
 
- Atributos protegidos heredados desde moVideoGraph
moVideoFormat m_VideoFormat
 
moAudioFormat m_AudioFormat
 Formato de video. Más...
 

Descripción detallada

GStreamer Graph Class.

GStreamer Graph Class for video filters and video reproduction: you don't have to link to gstreamer This is C++ wrapper to some GStreamer basic functions...

Definición en la línea 151 del archivo moGsGraph.h.

Documentación del constructor y destructor

moGsGraph::moGsGraph ( )

Constructor.

Definición en la línea 1445 del archivo moGsGraph.cpp.

moGsGraph::~moGsGraph ( )
virtual

Destructor.

Definición en la línea 1499 del archivo moGsGraph.cpp.

Documentación de las funciones miembro

void moGsGraph::BuildAudioFilters ( )

Definición en la línea 2917 del archivo moGsGraph.cpp.

bool moGsGraph::BuildLiveDVGraph ( moBucketsPool pBucketsPool,
moCaptureDevice p_capdev 
)

TODO: no need to implement ?!

Definición en la línea 1952 del archivo moGsGraph.cpp.

bool moGsGraph::BuildLiveGraph ( moBucketsPool pBucketsPool,
moCaptureDevice  p_capdev 
)
virtual

selecciona entrada!!!

v4lctl setnorm NTSC

y

v4lctl setinput Composite1

Implementa moVideoGraph.

Definición en la línea 1821 del archivo moGsGraph.cpp.

bool moGsGraph::BuildLiveQTVideoGraph ( moText  filename,
moBucketsPool pBucketsPool 
)
virtual

Implementa moVideoGraph.

Definición en la línea 2628 del archivo moGsGraph.cpp.

bool moGsGraph::BuildLiveSound ( moText  filename)

AUDIOFX

Definición en la línea 2737 del archivo moGsGraph.cpp.

bool moGsGraph::BuildLiveStreamingGraph ( moBucketsPool pBucketsPool,
moText  p_location 
)

SEND gst-launch -m filesrc location=test-aac.3gp ! qtdemux ! rtpmp4gpay ! udpsink host=172.20.122.9 port=19790

RECEIVE gst-launch -m udpsrc port=19790 ! rtpmp4gdepay ! faad ! queue ! amrnbenc ! rtpamrpay pt=98 ! udpsink host=172.20.122.23 port=2006

SEND: gst-launch -m filesrc location=test.wav ! wavparse ! audioconvert ! audioresample !alawenc ! rtppcmapay ! udpsink host=127.0.0.1 port=19790

RECEIVE: gst-launch -m udpsrc port=19790 ! rtppcmadepay ! alawdec ! queue ! amrnbenc ! rtpamrpay pt=98 ! udpsink host=127.0.0.1 port=2006

TODO: implement BuildLiveStreamingGraph

Definición en la línea 1841 del archivo moGsGraph.cpp.

bool moGsGraph::BuildLiveVideoGraph ( moText  filename,
moBucketsPool pBucketsPool 
)
virtual

Grafo de reproducción de video en modo vivo, asyncronicamente reproducido en función del clock.

genera un grafo para reproducir un video en modo normal

Devuelve
verdadero si fue exitoso, falso sino

SOUND...

FIN SOUND

marcamos el sync a true para que reproduzca en sync.

agrega sonido en sincro

Implementa moVideoGraph.

Definición en la línea 2952 del archivo moGsGraph.cpp.

bool moGsGraph::BuildLiveWebcamGraph ( moBucketsPool pBucketsPool,
moCaptureDevice p_capdev 
)

gstreamer example tests: gst-launch -v dshowvideosrc ! ffmpegcolorspace ! video/x-raw-rgb,bpp=16 ! videoscale ! video/x-raw-rgb,width=160,height=120 ! autovideosink

gstreamer example tests: gst-launch -v dshowvideosrc ! ffmpegcolorspace ! video/x-raw-rgb,bpp=16 ! videoscale ! video/x-raw-rgb,width=160,height=120 ! autovideosink

gst-launch rtspsrc location="rtsp://192.168.0.101/live.sdp" latency=100 ! queue ! rtpmp4vdepay ! queue ! ffdec_mpeg4 ! ffmpegcolorspace ! autovideosink

usando TCP se soluciona la desconección del server automática....

gst-launch rtspsrc location="rtsp://192.168.0.101/live.sdp" latency=100 debug=true protocols=0x00000004 ! queue ! rtpmp4vdepay ! queue ! ffdec_mpeg4 ! ffmpegcolorspace ! autovideosink

referencias:

http://nuald.blogspot.com/2009/07/creating-video-conference-application.html http://stackoverflow.com/questions/1884204/playing-an-incoming-rtp-stream-with-gstreamer

ok

ok link_result = gst_element_link_many( (GstElement*) m_pRTSPSource, (GstElement*) m_pRTSPDepay, NULL );

try to link later dynamically

SOUP HTTP source (MJPEG/HTTP) videofeed

STANDAR DEVICES....

m_pColorSpaceSource = gst_element_factory_make ( VIDEOCONVERT, "colorsource"); if (m_pCapsFilterSource) { res = gst_bin_add (GST_BIN (m_pGstPipeline), (GstElement*) m_pColorSpaceSource ); }

(GstElement*) m_pColorSpaceSource,

Definición en la línea 1981 del archivo moGsGraph.cpp.

bool moGsGraph::BuildRecordGraph ( moText  filename,
moBucketsPool pBucketsPool 
)
virtual

grab at the same time with: gst-launch-0.10 v4l2src ! queue ! ffmpegcolorspace ! theoraenc quality=1 ! queue ! oggmux name=mux alsasrc ! audio/x-raw-int,rate=8000,channels=1,depth=8 ! queue ! audioconvert ! vorbisenc ! queue ! mux. mux. ! queue ! tee name= t ! queue ! filesink location=test.ogg t. ! queue ! shout2send ip=giss.tv port=8000 password=pass

TODO: implement BuildRecordGraph

0x000000FF

0x0000FF00

0x00FF0000

Implementa moVideoGraph.

Definición en la línea 1854 del archivo moGsGraph.cpp.

moGBoolean moGsGraph::cb_buffer_disconnected ( moGPointer  u_data)
static

Definición en la línea 160 del archivo moGsGraph.cpp.

void moGsGraph::cb_handoff ( moGstElement fakesrc,
moGstBuffer buffer,
moGstPad pad,
moGPointer  user_data 
)
static

unused

unused

moAbstract::MODebug2->Push(moText("frame nbr"));

Definición en la línea 841 del archivo moGsGraph.cpp.

moGBoolean moGsGraph::cb_have_data ( moGstPad pad,
moGstBuffer buffer,
moGPointer  u_data 
)
static

g_signal_connect (data.appsink, "new-buffer", G_CALLBACK (appsink_new_buffer), &data); void appsink_new_buffer (GstElement *sink, CustomData *data) { GstBuffer *buffer;

Retrieve the buffer g_signal_emit_by_name (sink, "pull-buffer", &buffer); if (buffer) {

(((CustomData*)data)->appsink_buffer_count)++;

push buffer onto queue, to be processed in different thread if (GstBufferQueue->size() > GSTBUFFERQUEUE_SIZE) { error message printf ("GstBufferQueue is full!\n"); release buffer gst_buffer_unref (buffer); } else { push onto queue GstBufferQueue->push(buffer); activate thread connectionDataAvailable_GstBufferQueue.notify_all(); } } }

Definición en la línea 275 del archivo moGsGraph.cpp.

void moGsGraph::cb_newpad ( moGstElement decodebin,
moGstPad pad,
moGBoolean  last,
moGPointer  u_data 
)
static

unused

unused

Definición en la línea 473 del archivo moGsGraph.cpp.

void moGsGraph::cb_pad_added ( moGstElement decodebin2,
moGstPad pad,
moGPointer  u_data 
)
static

Definición en la línea 666 del archivo moGsGraph.cpp.

bool moGsGraph::CheckState ( moGstStateChangeReturn  state_change_result,
bool  waitforsync = false 
)

Definición en la línea 3494 del archivo moGsGraph.cpp.

void moGsGraph::CopyVideoFrame ( void *  bufferdst,
int  size 
)

Definición en la línea 1790 del archivo moGsGraph.cpp.

bool moGsGraph::FinishGraph ( )
virtual

Finalización del grafo.

Destruye los punteros y estructuras de la clase creadas dinámicamente en la función InitGraph

Devuelve
verdadero si fue exitoso, falso sino

this is only a reference doesnt destroy it, just pass to null

FINALLY UNREFERENCE PIPELINE, DESTROY ALL

Implementa moVideoGraph.

Definición en la línea 1606 del archivo moGsGraph.cpp.

MOulong moGsGraph::GetDuration ( )
virtual

La duración total del stream en nanosegundos.

devuelve la duración total del stream que se encuentra reproduciendo en nanosegundos

Devuelve
duración total del stream en nanosegundos

Implementa moVideoGraph.

Definición en la línea 3771 del archivo moGsGraph.cpp.

MObyte * moGsGraph::GetFrameBuffer ( MOlong size)
virtual

cantidad de muestras de sonido

TODO: ?? GetFrameBuffer

Implementa moVideoGraph.

Definición en la línea 3916 del archivo moGsGraph.cpp.

MOulong moGsGraph::GetFramesLength ( )
virtual

La cantidad de frames, el largo del stream.

devuelve el largo del stream convertido a frames

Devuelve
largo en frames

Implementa moVideoGraph.

Definición en la línea 3723 del archivo moGsGraph.cpp.

MOulong moGsGraph::GetPosition ( )
virtual

en nanosegundos para gstreamer!!! 1E-9 1 s = 1E9 ns = 1 billion ns

TODO:GetFramePosition vs GetSamplePosition sample position = duration / samplerate

Implementa moVideoGraph.

Definición en la línea 3794 del archivo moGsGraph.cpp.

MOulong moGsGraph::GetPositionMS ( )
virtual

en cuadros

Definición en la línea 3814 del archivo moGsGraph.cpp.

MOulong moGsGraph::GetSamplesLength ( )

cantidad de cuadros

Definición en la línea 3748 del archivo moGsGraph.cpp.

moStreamState moGsGraph::GetState ( )
virtual

Estado de la reproducción.

Devuelve el estado en que se encuentra el grafo, un valor entre MO_STREAMSTATE_UNKNOWN=-1, MO_STREAMSTATE_PAUSED, MO_STREAMSTATE_PLAYING, MO_STREAMSTATE_WAITING, MO_STREAMSTATE_READY, MO_STREAMSTATE_STOPPED

Devuelve
moStreamState estado del stream del grafo

Reimplementado de moVideoGraph.

Definición en la línea 3553 del archivo moGsGraph.cpp.

bool moGsGraph::InitGraph ( )
virtual

Inicialización del grafo.

Inicializa los punteros y estructuras de la clase

Devuelve
verdadero si fue exitoso, falso sino

Implementa moVideoGraph.

Definición en la línea 1532 del archivo moGsGraph.cpp.

bool moGsGraph::IsEOS ( )
virtual

Implementa moVideoGraph.

Definición en la línea 1767 del archivo moGsGraph.cpp.

bool moGsGraph::IsRunning ( )
virtual

Está corriendo.

indicador que señala si el grafo se está reproduciendo

Devuelve
verdadero o falso

Implementa moVideoGraph.

Definición en la línea 3831 del archivo moGsGraph.cpp.

void moGsGraph::on_rtsppadd_added ( moGstElement rtspsrc,
moGstPad pad,
moGPointer  u_data 
)
static

unused

link video...

all ok!!!

all ok!!!

Definición en la línea 411 del archivo moGsGraph.cpp.

void moGsGraph::Pause ( )
virtual

Pausa la reproducción del video.

comando de pause, interrumpe la reproducción del video

TODO: for live-stream pause works ok... not for others

Implementa moVideoGraph.

Definición en la línea 3660 del archivo moGsGraph.cpp.

void moGsGraph::Play ( )
virtual

Reproducir el video.

comando de play, reproduce el video o continua la reproducción

Implementa moVideoGraph.

Definición en la línea 3641 del archivo moGsGraph.cpp.

void moGsGraph::RetreivePads ( moGstElement FilterElement)

Definición en la línea 2636 del archivo moGsGraph.cpp.

void moGsGraph::Seek ( MOuint  frame,
float  rate = 1.0 
)
virtual

TODO: TimeSeek() SampleSeek()

TODO: unused rate!!!

no leemos el ultimo cuadro para no generar un EOS esto depende del modo del play, si esta PLAYING o si esta en PAUSE

TIME SEEK: frame as time in milliseconds

res = gst_element_seek( (GstElement*)m_pGstPipeline, 1.0, GST_FORMAT_TIME, GST_SEEK_FLAG_NONE, GST_SEEK_TYPE_SET, 10 * GST_SECOND, GST_SEEK_TYPE_SET, 20 * GST_SECOND );

Implementa moVideoGraph.

Definición en la línea 3674 del archivo moGsGraph.cpp.

void moGsGraph::SetAudioFormat ( moGstCaps caps,
moGstBuffer buffer = NULL 
)

Definición en la línea 3278 del archivo moGsGraph.cpp.

void moGsGraph::SetBalance ( float  balance)
virtual

Fija el balance entre canal izquierdo y derecho en caso de haberlos.

Permite modificar el balance estereo entre -1 y 1, siendo -1 todo a la izquierda y 1 todo a la derecha, 0 corresponde al equilibrio entre los dos canales.

Parámetros
balancenivel balance entre los dos canales, entre -1 y 1

Implementa moVideoGraph.

Definición en la línea 3845 del archivo moGsGraph.cpp.

void moGsGraph::SetBrightness ( float  brightness)
virtual

funciones de video

Implementa moVideoGraph.

Definición en la línea 3883 del archivo moGsGraph.cpp.

bool moGsGraph::SetCaptureDevice ( moText  deviceport,
MOint  idevice = 0 
)

TODO: implement SetCaptureDevice

Definición en la línea 1780 del archivo moGsGraph.cpp.

void moGsGraph::SetContrast ( float  contrast)
virtual

Implementa moVideoGraph.

Definición en la línea 3891 del archivo moGsGraph.cpp.

void moGsGraph::SetEchoDelay ( float  delay)

Definición en la línea 3861 del archivo moGsGraph.cpp.

void moGsGraph::SetEchoFeedback ( float  feedback)

Definición en la línea 3876 del archivo moGsGraph.cpp.

void moGsGraph::SetEchoIntensity ( float  intensity)

Definición en la línea 3869 del archivo moGsGraph.cpp.

void moGsGraph::SetEOS ( bool  iseos)
virtual

Implementa moVideoGraph.

Definición en la línea 1772 del archivo moGsGraph.cpp.

void moGsGraph::SetHue ( float  hue)
virtual

Implementa moVideoGraph.

Definición en la línea 3899 del archivo moGsGraph.cpp.

void moGsGraph::SetPitch ( float  pitch)

Definición en la línea 3852 del archivo moGsGraph.cpp.

void moGsGraph::SetSaturation ( float  saturation)
virtual

Implementa moVideoGraph.

Definición en la línea 3907 del archivo moGsGraph.cpp.

void moGsGraph::SetVideoFormat ( moGstCaps caps,
moGstBuffer buffer = NULL 
)

Definición en la línea 3362 del archivo moGsGraph.cpp.

void moGsGraph::SetVolume ( float  volume)
virtual

en millisegundos Funciones de Audio

Implementa moVideoGraph.

Definición en la línea 3838 del archivo moGsGraph.cpp.

void moGsGraph::Stop ( )
virtual

Detener la reproducción del video.

comando de stop, detiene la reproducción del video

Implementa moVideoGraph.

Definición en la línea 3652 del archivo moGsGraph.cpp.

void moGsGraph::WaitForFormatDefinition ( MOulong  timeout)

Definición en la línea 2717 del archivo moGsGraph.cpp.

Documentación de los datos miembro

long moGsGraph::cb_have_data_handler_id

Definición en la línea 250 del archivo moGsGraph.h.

long moGsGraph::m_BusWatchId

Definición en la línea 278 del archivo moGsGraph.h.

long moGsGraph::signal_handoff_id

Definición en la línea 285 del archivo moGsGraph.h.

long moGsGraph::signal_newpad_id

Definición en la línea 277 del archivo moGsGraph.h.

long moGsGraph::signal_rtsppad_added_id

Definición en la línea 255 del archivo moGsGraph.h.


La documentación para esta clase fue generada a partir de los siguientes ficheros: