AVI-muxer bug?

Nicholas Butts nbutts at appareo.com
Thu Aug 18 07:38:43 PDT 2011


I've setup a pipeline as follows:
appsrc->avimuxer->filesink

I then set the caps of the appsrc with the following code:
    GstCaps * caps = gst_caps_new_simple("video/mpeg", "width", G_TYPE_INT,
1280, "height", G_TYPE_INT, 720, "framerate", GST_TYPE_FRACTION, 1, 24,
"mpegversion", G_TYPE_INT, 4, "systemstream", G_TYPE_BOOLEAN, FALSE);
    gst_app_src_set_caps(GST_APP_SRC(source), caps);

Here is the resulting debug message:
0:00:00.357576853  1728  0x8b2f008 DEBUG                 appsrc
gstappsrc.c:1086:gst_app_src_set
_caps:<app-source> setting caps to video/mpeg, width=(int)1280,
height=(int)720, framerate=(fraction)1/24, mpegve
rsion=(int)4, systemstream=(boolean)false


But when I link the appsrc to the avimux I see the following message:
ment_get_compatible_pad:<muxer> Could not find a compatible unlinked always
pad to link to app-source:src, now ch
ecking request pads
0:00:00.359284054  1728  0x8b2f008 DEBUG               GST_CAPS
gstpad.c:2210:gst_pad_get_
caps_reffed:<app-source:src> get pad caps
0:00:00.359353058  1728  0x8b2f008 DEBUG               GST_CAPS
gstpad.c:2120:gst_pad_get_
caps_unlocked:<app-source:src> get pad caps
0:00:00.359373731  1728  0x8b2f008 DEBUG               GST_CAPS
gstpad.c:2124:gst_pad_get_
caps_unlocked:<app-source:src> dispatching to pad getcaps function
0:00:00.359395800  1728  0x8b2f008 DEBUG               GST_CAPS
gstpad.c:2137:gst_pad_get_
caps_unlocked:<app-source:src> pad getcaps returned ANY
0:00:00.359417591  1728  0x8b2f008 DEBUG        GST_PERFORMANCE
gstcaps.c:363:gst_caps_
make_writable: copy caps
0:00:00.359482683  1728  0x8b2f008 DEBUG       GST_ELEMENT_PADS
gstutils.c:889:gst_elem
ent_get_compatible_pad_template: Looking for a suitable pad template in
muxer out of 3 templates...
0:00:00.359504753  1728  0x8b2f008 DEBUG               GST_CAPS
gstutils.c:905:gst_element
_get_compatible_pad_template: compatible direction: found sink pad template
"audio_%d"
0:00:00.359524588  1728  0x8b2f008 DEBUG               GST_CAPS
gstutils.c:908:gst_element
_get_compatible_pad_template: intersecting ANY
0:00:00.359545261  1728  0x8b2f008 DEBUG               GST_CAPS
gstutils.c:910:gst_element
_get_compatible_pad_template: ..and audio/x-raw-int, endianness=(int)1234,
signed=(boolean){ true, false }, width
=(int){ 8, 16 }, depth=(int){ 8, 16 }, rate=(int)[ 1000, 96000 ],
channels=(int)[ 1, 2 ]; audio/mpeg, mpegversion=(in
t)1, layer=(int)[ 1, 3 ], rate=(int)[ 1000, 96000 ], channels=(int)[ 1, 2 ];
audio/mpeg, mpegversion=(int)4, stream-f
ormat=(string)raw, rate=(int)[ 1000, 96000 ], channels=(int)[ 1, 2 ];
audio/x-ac3, rate=(int)[ 1000, 96000 ], channel
s=(int)[ 1, 2 ]; audio/x-alaw, rate=(int)[ 1000, 48000 ], channels=(int)[ 1,
2 ]; audio/x-mulaw, rate=(int)[ 1000, 48
000 ], channels=(int)[ 1, 2 ]; audio/x-wma, rate=(int)[ 1000, 96000 ],
channels=(int)[ 1, 2 ], wmaversion=(int)[ 1, 2
 ]
0:00:00.359593312  1728  0x8b2f008 DEBUG               GST_CAPS
gstutils.c:916:gst_element
_get_compatible_pad_template: caps are compatible
0:00:00.359613426  1728  0x8b2f008 DEBUG       GST_ELEMENT_PADS
gstutils.c:928:gst_elem
ent_get_compatible_pad_template: Returning new pad template 0x8bfc718
0:00:00.359635216  1728  0x8b2f008 DEBUG                 avimux
gstavimux.c:965:gst_avi_mux_requ
est_new_pad:<muxer> adding new pad: audio_00
0:00:00.359666785  1728  0x8b2f008 DEBUG               GST_PADS
gstpad.c:1625:gst_pad_s
et_setcaps_function:<'':audio_00> setcapsfunc set to
gst_avi_mux_audsink_set_caps
0:00:00.359731318  1728  0x8b2f008 DEBUG            collectpads
gstcollectpads.c:321:gst_collect
_pads_add_pad_full: adding pad '':audio_00
0:00:00.359755902  1728  0x8b2f008 DEBUG               GST_PADS
gstpad.c:1263:gst_pad_s
et_chain_function:<'':audio_00> chainfunc set to gst_collect_pads_chain
0:00:00.359777413  1728  0x8b2f008 DEBUG               GST_PADS
gstpad.c:1346:gst_pad_s
et_event_function:<'':audio_00> eventfunc for set to gst_collect_pads_event
0:00:00.359798645  1728  0x8b2f008 DEBUG               GST_PADS
gstpad.c:1346:gst_pad_s
et_event_function:<'':audio_00> eventfunc for set to
gst_avi_mux_handle_event
0:00:00.359819597  1728  0x8b2f008 INFO        GST_ELEMENT_PADS
gstelement.c:727:gst
_element_add_pad:<muxer> adding pad 'audio_00'
0:00:00.359840270  1728  0x8b2f008 DEBUG        GST_REFCOUNTING
gstobject.c:793:gst_obj
ect_set_parent:<'':audio_00> set parent (ref and sink)
0:00:00.359866531  1728  0x8b2f008 DEBUG       GST_ELEMENT_PADS
gstutils.c:1203:gst_ele
ment_get_compatible_pad: found existing request pad muxer:audio_00
0:00:00.359887483  1728  0x8b2f008 INFO                GST_PADS
gstutils.c:1493:prep
are_link_maybe_ghosting: app-source and muxer in same bin, no need for ghost
pads
0:00:00.359998950  1728  0x8b2f008 DEBUG                GST_BUS
gstbus.c:309:gst_bus_post:<bu
s0> [msg 0x8b3a750] posting on bus, type structure-change,
GstMessageStructureChange, type=(GstStructureChangeTyp
e)GST_STRUCTURE_CHANGE_TYPE_PAD_LINK, owner=(GstElement)"\(GstAppSrc\)\
app-source", busy=(boolean)true; from source
<muxer:audio_00>
0

So it looks like the avimux audio sink is being used to connect to my video
source. Is there a way to work around this bug?

-- 
Nicholas Butts
SENIOR FIRMWARE ENGINEER

Appareo Systems, LLC
1810 NDSU Research Circle N
Fargo, ND 58102

P: (701) 356-2200
F: (701) 356-3157

http://www.appareo.com

nbutts at appareo.com



NOTICE: This message {including attachments} is covered by the Electronic
Communication Privacy Act, 18 U.S.C. sections 2510-2521, is CONFIDENTIAL and
may also be protected by ATTORNEY-CLIENT OR OTHER PRIVILEGE. If you believe
that it has been sent to you in error, do not read it. If you are not the
intended recipient, you are hereby notified that any retention,
dissemination, distribution, or copying of this communication is strictly
prohibited. Please reply to the sender that you have received the message in
error and then delete it.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20110818/0e9bb96a/attachment-0001.htm>


More information about the gstreamer-devel mailing list