After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 747598 - After make install gstreamer-1.0 and gst-libav-1.0, I could not find the element avdemux_mpegts.
After make install gstreamer-1.0 and gst-libav-1.0, I could not find the elem...
Status: RESOLVED NOTABUG
Product: GStreamer
Classification: Platform
Component: gst-libav
1.x
Other Linux
: Normal normal
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-04-10 05:58 UTC by Bill Qin
Modified: 2016-08-10 04:22 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
That is the configure log. (101.84 KB, text/x-log)
2015-04-10 05:58 UTC, Bill Qin
Details
avdemux_mpegts not work log (832.94 KB, application/zip)
2016-08-10 04:22 UTC, rland
Details
avdemux_mpegts not work dot file (11.91 KB, application/wps-office.dot)
2016-08-10 04:22 UTC, rland
Details

Description Bill Qin 2015-04-10 05:58:37 UTC
Created attachment 301255 [details]
That is the configure log.

Now I want to demux mpegts stream using gstreamer-1.0 and avdemux_mpegts in ffmpeg plugin.But Why I could not find the element avdemux_mpegts?
After I make install gstreamer-1.0 and gst-libav-1.0 using cerbero build gst-libav-1.0. I find the all demuxers elements in gst-libav plugin as below:

libav: avtype_yuv4mpegpipe: y4m
  avdemux_yuv4mpegpipe: libav YUV4MPEG pipe format demuxer
libav: avtype_wsvqa: no extensions
  avdemux_wsvqa: libav Westwood Studios VQA format demuxer
libav: avtype_wsaud: no extensions
  avdemux_wsaud: libav Westwood Studios audio format demuxer
libav: avtype_wc3movie: no extensions
  avdemux_wc3movie: libav Wing Commander III movie format demuxer
  avdemux_voc: libav Creative Voice file format demuxer
libav: avtype_vmd: no extensions
  avdemux_vmd: libav Sierra VMD format demuxer
  avdemux_tta: libav True Audio demuxer
libav: avtype_psxstr: no extensions
  avdemux_psxstr: libav Sony Playstation STR format demuxer
libav: avtype_sol: no extensions
  avdemux_sol: libav Sierra SOL format demuxer
libav: avtype_smk: no extensions
  avdemux_smk: libav Smacker video demuxer
libav: avtype_film_cpk: no extensions
  avdemux_film_cpk: libav Sega FILM/CPK format demuxer
libav: avtype_RoQ: no extensions
  avdemux_RoQ: libav id RoQ format demuxer
  avdemux_nuv: libav NuppelVideo format demuxer
libav: avtype_nut: nut
  avdemux_nut: libav NUT format demuxer
libav: avtype_nsv: no extensions
  avdemux_nsv: libav Nullsoft Streaming Video demuxer
  avdemux_mxf: libav Material eXchange Format demuxer
  avdemux_mpc: libav Musepack demuxer
libav: avtype_mmf: no extensions
  avdemux_mmf: libav Yamaha SMAF demuxer
libav: avtype_mm: no extensions
  avdemux_mm: libav American Laser Games MM format demuxer
libav: avtype_ipmovie: no extensions
  avdemux_ipmovie: libav Interplay MVE format demuxer
libav: avtype_idcin: no extensions
  avdemux_idcin: libav id Cinematic format demuxer
libav: avtype_gxf: no extensions
  avdemux_gxf: libav GXF format demuxer
libav: avtype_4xm: no extensions
  avdemux_4xm: libav 4X Technologies format demuxer
libav: avtype_ffm: no extensions
  avdemux_ffm: libav FFM (AVserver live feed) format demuxer
libav: avtype_ea: no extensions
  avdemux_ea: libav Electronic Arts Multimedia Format demuxer
libav: avtype_daud: 302
  avdemux_daud: libav D-Cinema audio format demuxer
libav: avtype_avs: no extensions
  avdemux_avs: libav AVS format demuxer
  avdemux_ape: libav Monkey's Audio demuxer
  avdemux_aiff: libav Audio IFF demuxer

Why I could not find mpegts demuxer in the gst-libav plugin?
Comment 1 Jan Schmidt 2015-04-10 08:00:09 UTC
The libav mpegts demuxer is disabled, because we have the native GStreamer tsdemux element from the mpegtsdemux plugin in gst-plugins-bad.
Comment 2 Tim-Philipp Müller 2015-04-10 09:04:08 UTC
This is done on purpose. You can patch the source code to change that of course.
Comment 3 Bill Qin 2015-04-10 09:12:55 UTC
(In reply to Jan Schmidt from comment #1)
> The libav mpegts demuxer is disabled, because we have the native GStreamer
> tsdemux element from the mpegtsdemux plugin in gst-plugins-bad.

How could I enable the mpegts demuxer, if I want to use mpegts demuxer in gst-libav plugin?
Thank you very much.
Comment 4 Bill Qin 2015-04-11 03:01:22 UTC
(In reply to Bill Qin from comment #3)
> (In reply to Jan Schmidt from comment #1)
> > The libav mpegts demuxer is disabled, because we have the native GStreamer
> > tsdemux element from the mpegtsdemux plugin in gst-plugins-bad.
> 
> How could I enable the mpegts demuxer, if I want to use mpegts demuxer in
> gst-libav plugin?
> Thank you very much.

I modified the code in function gst_ffmpegdemux_register() of gstavdemux.c
as below, and I could make element avdemux_mpegts.Is it right?
    /* Set the rank of demuxers known to work to MARGINAL.
     * Set demuxers for which we already have another implementation to NONE
     * Set All others to NONE*/
    if (
++        !strcmp (in_plugin->name, "mpegts") ||
++        !strcmp (in_plugin->name, "mpegtsraw") ||

        !strcmp (in_plugin->name, "wsvqa") ||
        !strcmp (in_plugin->name, "wsaud") ||
        !strcmp (in_plugin->name, "wc3movie") ||
        !strcmp (in_plugin->name, "voc") ||
        !strcmp (in_plugin->name, "tta") ||
        !strcmp (in_plugin->name, "sol") ||
        !strcmp (in_plugin->name, "smk") ||
        !strcmp (in_plugin->name, "vmd") ||
        !strcmp (in_plugin->name, "film_cpk") ||
        !strcmp (in_plugin->name, "ingenient") ||
        !strcmp (in_plugin->name, "psxstr") ||
        !strcmp (in_plugin->name, "nuv") ||
        !strcmp (in_plugin->name, "nut") ||
        !strcmp (in_plugin->name, "nsv") ||
        !strcmp (in_plugin->name, "mxf") ||
        !strcmp (in_plugin->name, "mmf") ||
        !strcmp (in_plugin->name, "mm") ||
        !strcmp (in_plugin->name, "ipmovie") ||
        !strcmp (in_plugin->name, "ape") ||
        !strcmp (in_plugin->name, "RoQ") ||
        !strcmp (in_plugin->name, "idcin") ||
        !strcmp (in_plugin->name, "gxf") ||
        !strcmp (in_plugin->name, "ffm") ||
        !strcmp (in_plugin->name, "ea") ||
        !strcmp (in_plugin->name, "daud") ||
        !strcmp (in_plugin->name, "avs") ||
        !strcmp (in_plugin->name, "aiff") ||
        !strcmp (in_plugin->name, "4xm") ||
        !strcmp (in_plugin->name, "yuv4mpegpipe") ||
        !strcmp (in_plugin->name, "mpc") || !strcmp (in_plugin->name, "gif"))
      rank = GST_RANK_MARGINAL;
Comment 5 Jan Schmidt 2015-04-11 05:29:59 UTC
Yes, that's the way to enable it. Now you'll need to test and see if it works at all for you. Please let us know :)
Comment 6 rland 2016-08-10 04:16:26 UTC
I modified it as Bill said, it's not work.
grep log:

-------
0:00:00.922728978 22046 0x7f16140f6680 DEBUG         GST_SCHEDULING gstpad.c:4181:gst_pad_chain_data_unchecked:<multiqueue0:sink_0> called chainfunction &gst_multi_queue_chain with buffer 0x7f16040965b0, returned not-negotiated
0:00:00.922736071 22046 0x7f16040aa800 DEBUG    GST_ELEMENT_FACTORY gstelementfactory.c:848:gst_element_factory_list_filter: Trying avdec_g726
0:00:00.922740776 22046 0x7f16140f6680 WARN                   libav gstavdemux.c:1517:gst_ffmpegdemux_loop:<avdemux_mpegts0> stream_movi flow: not-negotiated / not-negotiated
0:00:00.922750833 22046 0x7f16140f6680 DEBUG               GST_PADS gstpad.c:6016:gst_pad_pause_task:<avdemux_mpegts0:sink> pause task
0:00:00.922753487 22046 0x7f16140f6680 DEBUG                   task gsttask.c:682:gst_task_set_state:<avdemux_mpegts0:sink> Changing task 0x1a2c710 to state 2
0:00:00.922742126 22046 0x7f16040aa800 DEBUG    GST_ELEMENT_FACTORY gstelementfactory.c:848:gst_element_factory_list_filter: Trying avdec_g726le
0:00:00.922759873 22046 0x7f16140f6680 WARN                   libav gstavdemux.c:1566:gst_ffmpegdemux_loop:<avdemux_mpegts0> error: Internal data stream error.
0:00:00.922762608 22046 0x7f16040aa800 DEBUG    GST_ELEMENT_FACTORY gstelementfactory.c:848:gst_element_factory_list_filter: Trying avdec_g729

-------
Comment 7 rland 2016-08-10 04:22:06 UTC
Created attachment 333038 [details]
avdemux_mpegts not work log
Comment 8 rland 2016-08-10 04:22:36 UTC
Created attachment 333039 [details]
avdemux_mpegts not work dot file