[Bug 695879] New: mpegvideoparse don't propagate mpegversion cap right

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Mar 14 13:55:54 PDT 2013


https://bugzilla.gnome.org/show_bug.cgi?id=695879
  GStreamer | gst-plugins-bad | 1.0.5

           Summary: mpegvideoparse don't propagate mpegversion cap right
    Classification: Platform
           Product: GStreamer
           Version: 1.0.5
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: major
          Priority: Normal
         Component: gst-plugins-bad
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: xlazom00 at gmail.com
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


test pipeline:
GST_DEBUG="*:3,mpegvideoparse:5,uridecodebin:5,decodebin:5" gst-launch-1.0
uridecodebin uri="file:///home/pi/test_mpeg2.ts" ! fakesink sync=true

test file:
http://live.mdragon.org/test_mpeg2.ts

problem:
tsdemu push mpegversion=2 down to mpegvideoparse but
mpegvideoparse provide mpegvideoparse=1 on src caps

problem is in function gst_mpegv_parse_update_src_caps
as
  gst_caps_set_simple (caps,
      "mpegversion", G_TYPE_INT, (mpvparse->config_flags & FLAG_MPEG2) ? 2 : 1,
      NULL);
set mpeg version base on internal state of mpegvideoparse
(mpvparse->config_flags & FLAG_MPEG2 == 0) => mpegversion=1

my fix:
static gboolean
gst_mpegv_parse_set_caps (GstBaseParse * parse, GstCaps * caps)


  if((value = gst_structure_get_value(s, "mpegversion")) != NULL){
      gint mpegversion = g_value_get_int( value );
      if(mpegversion == 2){
          mpvparse->config_flags |= FLAG_MPEG2;
          mpvparse->update_caps = TRUE;
      }
  }

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list