I've setup a pipeline as follows:<br>appsrc->avimuxer->filesink<br><br>I then set the caps of the appsrc with the following code:<br> 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);<br>
gst_app_src_set_caps(GST_APP_SRC(source), caps);<br><br>Here is the resulting debug message:<br>0:00:00.357576853 1728 0x8b2f008 DEBUG appsrc gstappsrc.c:1086:gst_app_src_set<br>_caps:<app-source> setting caps to video/mpeg, width=(int)1280, height=(int)720, framerate=(fraction)1/24, mpegve<br>
rsion=(int)4, systemstream=(boolean)false<br><br><br>But when I link the appsrc to the avimux I see the following message:<br>ment_get_compatible_pad:<muxer> Could not find a compatible unlinked always pad to link to app-source:src, now ch<br>
ecking request pads<br>0:00:00.359284054 1728 0x8b2f008 DEBUG GST_CAPS gstpad.c:2210:gst_pad_get_<br>caps_reffed:<app-source:src> get pad caps<br>0:00:00.359353058 1728 0x8b2f008 DEBUG GST_CAPS gstpad.c:2120:gst_pad_get_<br>
caps_unlocked:<app-source:src> get pad caps<br>0:00:00.359373731 1728 0x8b2f008 DEBUG GST_CAPS gstpad.c:2124:gst_pad_get_<br>caps_unlocked:<app-source:src> dispatching to pad getcaps function<br>
0:00:00.359395800 1728 0x8b2f008 DEBUG GST_CAPS gstpad.c:2137:gst_pad_get_<br>caps_unlocked:<app-source:src> pad getcaps returned ANY<br>0:00:00.359417591 1728 0x8b2f008 DEBUG GST_PERFORMANCE gstcaps.c:363:gst_caps_<br>
make_writable: copy caps<br>0:00:00.359482683 1728 0x8b2f008 DEBUG GST_ELEMENT_PADS gstutils.c:889:gst_elem<br>ent_get_compatible_pad_template: Looking for a suitable pad template in muxer out of 3 templates...<br>
0:00:00.359504753 1728 0x8b2f008 DEBUG GST_CAPS gstutils.c:905:gst_element<br>_get_compatible_pad_template: compatible direction: found sink pad template "audio_%d"<br>0:00:00.359524588 1728 0x8b2f008 DEBUG GST_CAPS gstutils.c:908:gst_element<br>
_get_compatible_pad_template: intersecting ANY<br>0:00:00.359545261 1728 0x8b2f008 DEBUG GST_CAPS gstutils.c:910:gst_element<br>_get_compatible_pad_template: ..and audio/x-raw-int, endianness=(int)1234, signed=(boolean){ true, false }, width<br>
=(int){ 8, 16 }, depth=(int){ 8, 16 }, rate=(int)[ 1000, 96000 ], channels=(int)[ 1, 2 ]; audio/mpeg, mpegversion=(in<br>t)1, layer=(int)[ 1, 3 ], rate=(int)[ 1000, 96000 ], channels=(int)[ 1, 2 ]; audio/mpeg, mpegversion=(int)4, stream-f<br>
ormat=(string)raw, rate=(int)[ 1000, 96000 ], channels=(int)[ 1, 2 ]; audio/x-ac3, rate=(int)[ 1000, 96000 ], channel<br>s=(int)[ 1, 2 ]; audio/x-alaw, rate=(int)[ 1000, 48000 ], channels=(int)[ 1, 2 ]; audio/x-mulaw, rate=(int)[ 1000, 48<br>
000 ], channels=(int)[ 1, 2 ]; audio/x-wma, rate=(int)[ 1000, 96000 ], channels=(int)[ 1, 2 ], wmaversion=(int)[ 1, 2<br> ]<br>0:00:00.359593312 1728 0x8b2f008 DEBUG GST_CAPS gstutils.c:916:gst_element<br>
_get_compatible_pad_template: caps are compatible<br>0:00:00.359613426 1728 0x8b2f008 DEBUG GST_ELEMENT_PADS gstutils.c:928:gst_elem<br>ent_get_compatible_pad_template: Returning new pad template 0x8bfc718<br>0:00:00.359635216 1728 0x8b2f008 DEBUG avimux gstavimux.c:965:gst_avi_mux_requ<br>
est_new_pad:<muxer> adding new pad: audio_00<br>0:00:00.359666785 1728 0x8b2f008 DEBUG GST_PADS gstpad.c:1625:gst_pad_s<br>et_setcaps_function:<'':audio_00> setcapsfunc set to gst_avi_mux_audsink_set_caps<br>
0:00:00.359731318 1728 0x8b2f008 DEBUG collectpads gstcollectpads.c:321:gst_collect<br>_pads_add_pad_full: adding pad '':audio_00<br>0:00:00.359755902 1728 0x8b2f008 DEBUG GST_PADS gstpad.c:1263:gst_pad_s<br>
et_chain_function:<'':audio_00> chainfunc set to gst_collect_pads_chain<br>0:00:00.359777413 1728 0x8b2f008 DEBUG GST_PADS gstpad.c:1346:gst_pad_s<br>et_event_function:<'':audio_00> eventfunc for set to gst_collect_pads_event<br>
0:00:00.359798645 1728 0x8b2f008 DEBUG GST_PADS gstpad.c:1346:gst_pad_s<br>et_event_function:<'':audio_00> eventfunc for set to gst_avi_mux_handle_event<br>0:00:00.359819597 1728 0x8b2f008 INFO GST_ELEMENT_PADS gstelement.c:727:gst<br>
_element_add_pad:<muxer> adding pad 'audio_00'<br>0:00:00.359840270 1728 0x8b2f008 DEBUG GST_REFCOUNTING gstobject.c:793:gst_obj<br>ect_set_parent:<'':audio_00> set parent (ref and sink)<br>
0:00:00.359866531 1728 0x8b2f008 DEBUG GST_ELEMENT_PADS gstutils.c:1203:gst_ele<br>ment_get_compatible_pad: found existing request pad muxer:audio_00<br>0:00:00.359887483 1728 0x8b2f008 INFO GST_PADS gstutils.c:1493:prep<br>
are_link_maybe_ghosting: app-source and muxer in same bin, no need for ghost pads<br>0:00:00.359998950 1728 0x8b2f008 DEBUG GST_BUS gstbus.c:309:gst_bus_post:<bu<br>s0> [msg 0x8b3a750] posting on bus, type structure-change, GstMessageStructureChange, type=(GstStructureChangeTyp<br>
e)GST_STRUCTURE_CHANGE_TYPE_PAD_LINK, owner=(GstElement)"\(GstAppSrc\)\ app-source", busy=(boolean)true; from source <br><muxer:audio_00><br>0<br><br>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?<br clear="all">
<br>-- <br>Nicholas Butts<br>SENIOR FIRMWARE ENGINEER<br><br>Appareo Systems, LLC<br>1810 NDSU Research Circle N<br>Fargo, ND 58102<br><br>P: (701) 356-2200<br>F: (701) 356-3157<br><br><a href="http://www.appareo.com">http://www.appareo.com</a><br>
<br><a href="mailto:nbutts@appareo.com">nbutts@appareo.com</a><br><br><br><br>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.<br>