<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, Apr 26, 2014 at 5:59 PM, Jean-Baptiste Kempf <span dir="ltr"><<a href="mailto:jb@videolan.org" target="_blank">jb@videolan.org</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 26 Apr, Vikram Fugro wrote :<br>
<div><div>>  dnl<br>
> +dnl gstreamer decode plugins<br>
> +dnl<br>
> +AC_ARG_ENABLE(gstreamer-decode,<br>
> +[  --enable-gstreamer-decode        gstreamer decode plugins support, currently supports only video decoders (default enabled)])<br>
> +<br>
> +dnl<br>
> +dnl gstreamer core libs, will be mandatory for all types of gstreamer based modules<br>
> +dnl<br>
> +AS_IF([test "${enable_gstreamer_decode}" != "no"], [<br>
> +  PKG_CHECK_MODULES(GSTREAMER_APP,[gstreamer-app-1.0], [<br>
> +  ],[<br>
> +    AC_MSG_ERROR([${GSTREAMER_APP_PKG_ERRORS}. Please disable all the gstreamer based modules to ignore this error.])<br>
> +  ])<br>
> +],[<br>
> +])<br>
> +<br>
> +dnl<br>
> +dnl gstreamer plugins for decoder codec module.<br>
> +dnl<br>
> +AS_IF([test "${enable_gstreamer_decode}" != "no"], [<br>
> +  dnl<br>
> +  dnl Currently supports only video decoders<br>
> +  dnl<br>
> +  PKG_CHECK_MODULES(GSTREAMER_VIDEO,[gstreamer-basevideo-1.0 gstreamer-video-1.0], [<br>
> +    VLC_SAVE_FLAGS<br>
> +    CPPFLAGS="${CPPFLAGS} ${GSTREAMER_VIDEO_CFLAGS} ${GSTREAMER_APP_CFLAGS}"<br>
> +    CFLAGS="${CFLAGS} ${GSTREAMER_VIDEO_CFLAGS} ${GSTREAMER_APP_CFLAGS}"<br>
> +    VLC_ADD_PLUGIN([gstdecode])<br>
> +    VLC_ADD_LIBS([gstdecode],[$GSTREAMER_VIDEO_LIBS])<br>
> +    VLC_ADD_LIBS([gstdecode],[$GSTREAMER_APP_LIBS])<br>
> +    VLC_RESTORE_FLAGS<br>
> +  ],[<br>
> +    AC_MSG_ERROR([${GSTREAMER_VIDEO_PKG_ERRORS}. Pass --disable-gstreamer-decode to ignore this error.])<br>
> +  ])<br>
> +],[<br>
> +])<br>
> +AM_CONDITIONAL([HAVE_GSTREAMER_DECODE], [test "${have_gstreamer_decode}" != "no"])<br>
> +<br>
<br>
</div></div>I prefered the old code:<br>
PKG_ENABLE_MODULES_VLC([GSTDECODE], [], [gstreamer-app-1.0<br>
    gstreamer-basevideo-1.0 gstreamer-video-1.0 ], [Gstreamer video<br>
    decoder], [auto])A</blockquote><div>   Vikram: OK.. Remi please let me know if it is fine for you. Also, gstreamer-basevideo is not required. It is useless here. I'll remove it. <br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
> +#define MODULE_DESCRIPTION N_( "Decoders' plugins " \<br>
> +        "delivered by the GStreamer library. " \<br>
> +        "Currently supports only video decoders such as " \<br>
> +        "h264, mpeg4, wmv, mpeg2, vp8, etc. " )<br>
<br>
</div>Do not translate stuff that will change "soon".<br>
<div>Vikram: OK' I'll just mention "Uses GStreamer framework's plugins to decode the media codecs"<br></div></blockquote><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
> +static gboolean seek_data_cb( GstAppSrc* p_src, guint64 l_offset,<br>
> +        gpointer p_data )<br>
> +{<br>
> +    decoder_t* p_dec = ( decoder_t* )p_data;<br>
> +    msg_Dbg( p_dec, "appsrc seeking to %llu", (unsigned long long)l_offset );<br>
<br>
</div>%PRIu64 ?<br></blockquote><div>   Vikram: right. will fix that. <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>
<div><br>
> +    return TRUE;<br>
> +}<br>
> +<br>
<br>
</div><div><div>> +/*****************************************************************************<br>
> + * OpenDecoder: probe the decoder and return score<br>
> + *****************************************************************************/<br>
> +static int OpenDecoder( vlc_object_t *p_this )<br>
> +{<br>
> +    decoder_t *p_dec = ( decoder_t* )p_this;<br>
> +    decoder_sys_t *p_sys;<br>
> +    GstStateChangeReturn i_ret;<br>
> +    gboolean b_ret;<br>
> +    GstCaps* p_caps = NULL;<br>
> +    GstStructure* p_str = NULL;<br>
> +    GstAppSrcCallbacks cb;<br>
> +    int i_rval = VLC_SUCCESS;<br>
> +    GList* p_list = NULL;<br>
> +    bool dbin;<br>
> +<br>
> +#define VLC_GST_CHECK(r, v, s, t) \<br>
> +    { if(r == v) { msg_Err(p_dec, s); i_rval = t; goto fail; } }<br>
> +<br>
> +    vlc_gst_init ( );<br>
> +<br>
> +    p_str = vlc_to_gst_fmt( &p_dec->fmt_in );<br>
> +    if( !p_str ) {<br>
> +        return VLC_EGENERIC;<br>
> +    }<br>
> +<br>
> +    /* Allocate the memory needed to store the decoder's structure */<br>
> +    if( ( p_dec->p_sys = p_sys = calloc( 1, sizeof( *p_sys ) ) ) == NULL )<br>
> +        return VLC_ENOMEM;<br>
> +<br>
> +    dbin = var_CreateGetBool( p_dec, "use-decodebin" );<br>
> +    msg_Info( p_dec, "Using decodebin? %s", dbin ? "yes ":"no" );<br>
<br>
</div></div>This message is too early. You might fail after.<br>
</div>Vikram: OK, i'll leave it there only and change info to dbg.<br></blockquote><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
THe rest looks good<br>
</div>Vikram: Thanks!<br><div>
<br>
With my kindest regards,<br>
<span><font color="#888888"><br>
T--<br>
Jean-Baptiste Kempf<br>
<a href="http://www.jbkempf.com/" target="_blank">http://www.jbkempf.com/</a> - <a href="tel:%2B33%20672%20704%20734" value="+33672704734" target="_blank">+33 672 704 734</a><br>
Sent from my Electronic Device<br></font></span></div></blockquote><div><br></div><div>   Thanks,<br>   Vikram <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div><span><font color="#888888">
</font></span><div><div>_______________________________________________<br>
vlc-devel mailing list<br>
To unsubscribe or modify your subscription options:<br>
<a href="https://mailman.videolan.org/listinfo/vlc-devel" target="_blank">https://mailman.videolan.org/listinfo/vlc-devel</a><br>
</div></div></div></blockquote></div><br>   <br></div></div>