<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri",sans-serif;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Hi,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I have been developing my application with the 1.4.5 Windows build of gstreamer. With the recent release of the Windows binaries for 1.5.1 I thought I would give them a try.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Using the 1.5.1 version I am running into an issue setting the caps on an appsrc. I am using the same code, just swapping between gstreamer versions. It works on 1.4.5, but does not on 1.5.1. Below is the GST_DEBUG output that I am seeing
from each:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Version 1.4.5<o:p></o:p></p>
<p class="MsoNormal">0:00:29.393220373 9672 0FB24820 DEBUG pipeline gstpipeline.c:217:gst_pipeline_init:<GstPipeline@191D90D0> set bus <bus1> on pipeline<o:p></o:p></p>
<p class="MsoNormal">0:00:29.764539149 9672 0FB24820 DEBUG queue gstqueue.c:460:gst_queue_init:<GstQueue@19201760> initialized queue's not_empty & not_full conditions<o:p></o:p></p>
<p class="MsoNormal">0:00:29.766658860 9672 0FB24820 DEBUG appsrc gstappsrc.c:1174:gst_app_src_set_caps:<app_source> setting caps to audio/ms-gsm, rate=(int)8000, channels=(int)1<o:p></o:p></p>
<p class="MsoNormal">0:00:29.767038230 9672 0FB24820 DEBUG appsrc gstappsrc.c:1301:gst_app_src_get_stream_type:<app_source> getting stream_type of 0<o:p></o:p></p>
<p class="MsoNormal">0:00:29.960076285 9672 0FB24820 DEBUG appsrc gstappsrc.c:1275:gst_app_src_set_stream_type:<app_source> setting stream_type of 1<o:p></o:p></p>
<p class="MsoNormal">0:00:29.961369444 9672 0FB24820 DEBUG appsrc gstappsrc.c:601:gst_app_src_internal_get_caps:<app_source> caps: audio/ms-gsm, rate=(int)8000, channels=(int)1<o:p></o:p></p>
<p class="MsoNormal">0:00:29.961839717 9672 0FB24820 DEBUG appsrc gstappsrc.c:601:gst_app_src_internal_get_caps:<app_source> caps: audio/ms-gsm, rate=(int)8000, channels=(int)1<o:p></o:p></p>
<p class="MsoNormal">0:00:30.565777547 9672 0FB24820 INFO audiopanorama audiopanorama.c:324:gst_audio_panorama_transform_caps:<audio_panorama> [0] allow 2 channels<o:p></o:p></p>
<p class="MsoNormal">0:00:30.565879812 9672 0FB24820 DEBUG audiopanorama audiopanorama.c:329:gst_audio_panorama_transform_caps:<audio_panorama> transformed audio/x-raw, format=(string){ F32LE, S16LE }, rate=(int)[ 1, 2147483647 ], channels=(int)2,
layout=(string)interleaved<o:p></o:p></p>
<p class="MsoNormal">0:00:30.566769775 9672 0FB24820 DEBUG audioconvert gstaudioconvert.c:331:gst_audio_convert_transform_caps:<audio_convert> transformed audio/x-raw, format=(string){ S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE,
U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], layout=(string)interleaved into audio/x-raw,
rate=(int)[ 1, 2147483647 ], layout=(string)interleaved<o:p></o:p></p>
<p class="MsoNormal">0:00:30.761016684 9672 0FB24820 INFO audiopanorama audiopanorama.c:324:gst_audio_panorama_transform_caps:<audio_panorama> [0] allow 2 channels<o:p></o:p></p>
<p class="MsoNormal">0:00:30.761189692 9672 0FB24820 DEBUG audiopanorama audiopanorama.c:329:gst_audio_panorama_transform_caps:<audio_panorama> transformed audio/x-raw, format=(string){ F32LE, S16LE }, rate=(int)[ 1, 2147483647 ], channels=(int)2,
layout=(string)interleaved<o:p></o:p></p>
<p class="MsoNormal">0:00:30.762297747 9672 0FB24820 DEBUG audioconvert gstaudioconvert.c:331:gst_audio_convert_transform_caps:<audio_convert> transformed audio/x-raw, format=(string){ S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, The thread 0x25e0
has exited with code 0 (0x0).<o:p></o:p></p>
<p class="MsoNormal">S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], layout=(string)interleaved
into audio/x-raw, rate=(int)[ 1, 2147483647 ], layout=(string)interleaved<o:p></o:p></p>
<p class="MsoNormal">0:00:30.962977829 9672 0FB24820 INFO audiopanorama audiopanorama.c:324:gst_audio_panorama_transform_caps:<audio_panorama> [0] allow 2 channels<o:p></o:p></p>
<p class="MsoNormal">0:00:30.963092556 9672 0FB24820 DEBUG audiopanorama audiopanorama.c:329:gst_audio_panorama_transform_caps:<audio_panorama> transformed audio/x-raw, format=(string){ F32LE, S16LE }, rate=(int)[ 1, 2147483647 ], channels=(int)2,
layout=(string)interleaved<o:p></o:p></p>
<p class="MsoNormal">0:00:30.963835903 9672 0FB24820 DEBUG audioconvert gstaudioconvert.c:331:gst_audio_convert_transform_caps:<audio_convert> transformed audio/x-raw, format=(string){ F32LE, S16LE }, rate=(int)[ 1, 2147483647 ], channels=(int)2,
layout=(string)interleaved into audio/x-raw, rate=(int)[ 1, 2147483647 ], layout=(string)interleaved<o:p></o:p></p>
<p class="MsoNormal">0:00:31.161045201 9672 0FB24820 INFO audiopanorama audiopanorama.c:324:gst_audio_panorama_transform_caps:<audio_panorama> [0] allow 2 channels<o:p></o:p></p>
<p class="MsoNormal">0:00:31.161152964 9672 0FB24820 DEBUG audiopanorama audiopanorama.c:329:gst_audio_panorama_transform_caps:<audio_panorama> transformed audio/x-raw, format=(string){ F32LE, S16LE }, rate=(int)[ 1, 2147483647 ], channels=(int)2,
layout=(string)interleaved<o:p></o:p></p>
<p class="MsoNormal">0:00:31.161909873 9672 0FB24820 DEBUG audioconvert gstaudioconvert.c:331:gst_audio_convert_transform_caps:<audio_convert> transformed audio/x-raw, format=(string){ F32LE, S16LE }, rate=(int)[ 1, 2147483647 ], channels=(int)2,
layout=(string)interleaved into audio/x-raw, rate=(int)[ 1, 2147483647 ], layout=(string)interleaved<o:p></o:p></p>
<p class="MsoNormal">0:00:31.373848281 9672 19105BA0 DEBUG appsrc gstappsrc.c:769:gst_app_src_start:<app_source> starting<o:p></o:p></p>
<p class="MsoNormal">0:00:31.373877238 9672 19105BA0 DEBUG appsrc gstappsrc.c:892:gst_app_src_do_seek:<app_source> seeking to 0, format time<o:p></o:p></p>
<p class="MsoNormal">0:00:31.375821374 9672 19105BA0 DEBUG appsrc gstappsrc.c:913:gst_app_src_do_seek:<app_source><2015-Jun-09 15:04:12.688154> - MESSAGE_PROCESSING: Received state change for the pipeline.<o:p></o:p></p>
<p class="MsoNormal">flushing queue<o:p></o:p></p>
<p class="MsoNormal">0:00:31.560343201 9672 19105BA0 DEBUG pipeline gstpipeline.c:280:reset_start_time:<audio-pipeline> reset start_time to 0<o:p></o:p></p>
<p class="MsoNormal">0:00:31.560974019 9672 190858F8 FIXME default gstutils.c:3643:gst_pad_create_stream_id_internal:<app_source:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id<o:p></o:p></p>
<p class="MsoNormal">0:00:31.561131265 9672 190858F8 DEBUG decodebin gstdecodebin2.c:2507:type_found:<decode_bin> typefind found caps audio/ms-gsm, rate=(int)8000, channels=(int)1<o:p></o:p></p>
<p class="MsoNormal">0:00:31.561164621 9672 190858F8 DEBUG decodebin gstdecodebin2.c:3046:gst_decode_chain_new:<decode_bin> Creating new chain 191E3260 with parent group 00000000<o:p></o:p></p>
<p class="MsoNormal">0:00:31.561183314 9672 190858F8 DEBUG decodebin gstdecodebin2.c:1493:analyze_new_pad:<decode_bin> Pad typefind:src caps:audio/ms-gsm, rate=(int)8000, channels=(int)1<o:p></o:p></p>
<p class="MsoNormal">0:00:31.759920725 9672 190858F8 DEBUG decodebin gstdecodebin2.c:4381:gst_decode_pad_new:<decode_bin> making new decodepad<o:p></o:p></p>
<p class="MsoNormal">0:00:31.760011994 9672 190858F8 DEBUG decodebin gstdecodebin2.c:1451:copy_sticky_events:<'':decodepad0> store sticky event stream-start event: 191E3188, time 99:99:99.999999999, seq-num 61, GstEventStreamStart, stream-id=(string)a15bd26b64105f5fff81ebd64d919ecd,
flags=(GstStreamFlags)GST_STREAM_FLAG_NONE, group-id=(uint)0;<o:p></o:p></p>
<p class="MsoNormal">0:00:31.760240349 9672 190858F8 DEBUG decodebin gstdecodebin2.c:1451:copy_sticky_events:<'':decodepad0> store sticky event caps event: 191E3218, time 99:99:99.999999999, seq-num 63, GstEventCaps, caps=(GstCaps)"audio/ms-gsm\,\
rate\=\(int\)8000\,\ channels\=\(int\)1";<o:p></o:p></p>
<p class="MsoNormal">0:00:31.760418855 9672 190858F8 DEBUG decodebin gstdecodebin2.c:1346:gst_decode_bin_autoplug_continue:<decode_bin> autoplug-continue returns TRUE<o:p></o:p></p>
<p class="MsoNormal">0:00:31.959960091 9672 190858F8 DEBUG decodebin gstdecodebin2.c:1360:gst_decode_bin_autoplug_factories:<decode_bin> finding factories<o:p></o:p></p>
<p class="MsoNormal">0:00:31.985098250 9672 190858F8 DEBUG decodebin gstdecodebin2.c:1382:gst_decode_bin_autoplug_factories:<decode_bin> autoplug-factories returns 1910EF40<o:p></o:p></p>
<p class="MsoNormal">0:00:32.160122982 9672 190858F8 DEBUG decodebin gstdecodebin2.c:1903:connect_pad:<decode_bin> pad typefind:src , chain:191E3260, 1 factories, caps audio/ms-gsm, rate=(int)8000, channels=(int)1<o:p></o:p></p>
<p class="MsoNormal">0:00:32.160576394 9672 190858F8 DEBUG decodebin gstdecodebin2.c:1451:copy_sticky_events:<'':decodepad0> store sticky event stream-start event: 191E3188, time 99:99:99.999999999, seq-num 61, GstEventStreamStart, stream-id=(string)a15bd26b64105f5fff81ebd64d919ecd,
flags=(GstStreamFlags)GST_STREAM_FLAG_NONE, group-id=(uint)0;<o:p></o:p></p>
<p class="MsoNormal">0:00:32.160992419 9672 190858F8 DEBUG decodebin gstdecodebin2.c:1451:copy_sticky_events:<'':decodepad0> store sticky event caps event: 191E3218, time 99:99:99.999999999, seq-num 63, GstEventCaps, caps=(GstCaps)"audio/ms-gsm\,\
rate\=\(int\)8000\,\ channels\=\(int\)1";<o:p></o:p></p>
<p class="MsoNormal">0:00:32.360019031 9672 190858F8 DEBUG decodebin gstdecodebin2.c:1398:gst_decode_bin_autoplug_select:<decode_bin> default autoplug-select returns TRY<o:p></o:p></p>
<p class="MsoNormal">0:00:32.360145855 9672 190858F8 DEBUG decodebin gstdecodebin2.c:2033:connect_pad:<decode_bin> autoplug select requested try<o:p></o:p></p>
<p class="MsoNormal">0:00:32.360379708 9672 190858F8 DEBUG decodebin gstdecodebin2.c:1440:clear_sticky_events:<'':decodepad0> clearing sticky event stream-start event: 191E3188, time 99:99:99.999999999, seq-num 61, GstEventStreamStart, stream-id=(string)a15bd26b64105f5fff81ebd64d919ecd,
flags=(GstStreamFlags)GST_STREAM_FLAG_NONE, group-id=(uint)0;<o:p></o:p></p>
<p class="MsoNormal">0:00:32.360796100 9672 190858F8 DEBUG decodebin gstdecodebin2.c:1440:clear_sticky_events:<'':decodepad0> clearing sticky event caps event: 191E3218, time 99:99:99.999999999, seq-num 63, GstEventCaps, caps=(GstCaps)"audio/ms-gsm\,\
rate\=\(int\)8000\,\ channels\=\(int\)1";<o:p></o:p></p>
<p class="MsoNormal">0:00:32.560556894 9672 190858F8 DEBUG decodebin gstdecodebin2.c:2326:connect_element:<decode_bin> Attempting to connect element avdec_gsm_ms0 [chain:191E3260] further<o:p></o:p></p>
<p class="MsoNormal">0:00:32.560711209 9672 190858F8 DEBUG decodebin gstdecodebin2.c:2339:connect_element:<decode_bin> got a source pad template src<o:p></o:p></p>
<p class="MsoNormal">0:00:32.560826303 9672 190858F8 DEBUG decodebin gstdecodebin2.c:2350:connect_element:<decode_bin> got the pad for always template src<o:p></o:p></p>
<p class="MsoNormal">0:00:32.560971453 9672 190858F8 DEBUG decodebin gstdecodebin2.c:1493:analyze_new_pad:<decode_bin> Pad avdec_gsm_ms0:src caps:audio/x-raw, layout=(string)interleaved, format=(string){ U8, S16LE, S32LE, F32LE, F64LE }<o:p></o:p></p>
<p class="MsoNormal">0:00:32.561222901 9672 190858F8 DEBUG decodebin gstdecodebin2.c:2427:expose_pad:<decode_bin> pad avdec_gsm_ms0:src, chain:191E3260<o:p></o:p></p>
<p class="MsoNormal">0:00:32.759962144 9672 190858F8 DEBUG decodebin gstdecodebin2.c:4263:gst_decode_pad_set_blocked:<'':decodepad0> blocking pad: 1<o:p></o:p></p>
<p class="MsoNormal">0:00:32.760084935 9672 190858F8 DEBUG decodebin gstdecodebin2.c:3428:gst_decode_chain_is_complete:<decode_bin> Chain 191E3260 is complete: 0<o:p></o:p></p>
<p class="MsoNormal">0:00:32.988153008 9672 19105BA0 DEBUG appsrc gstappsrc.c:1564:gst_app_src_push_buffer_full:<app_source> queueing buffer 1DEE5030<o:p></o:p></p>
<p class="MsoNormal">0:00:32.988193694 9672 190858F8 DEBUG appsrc gstappsrc.c:1079:gst_app_src_create:<app_source> we have buffer 1DEE5030 of size 1625<o:p></o:p></p>
<p class="MsoNormal">0:00:32.988604954 9672 190858F8 DEBUG decodebin gstdecodebin2.c:3428:gst_decode_chain_is_complete:<decode_bin><2015-Jun-09 15:04:14.286245> - DATA_REQUESTS: Successfully passed buffer in to Application Source. For Record
ID: 21 With timestamp: 0<o:p></o:p></p>
<p class="MsoNormal">Chain 191E3260 is complete: 1<o:p></o:p></p>
<p class="MsoNormal">0:00:33.160074232 9672 190858F8 DEBUG decodebin gstdecodebin2.c:3954:gst_decode_bin_expose:<decode_bin> Exposing currently active chains/groups<o:p></o:p></p>
<p class="MsoNormal">0:00:33.160554402 9672 190858F8 DEBUG decodebin gstdecodebin2.c:4030:gst_decode_bin_expose:<decode_bin> About to expose dpad decodepad0 as src_0<o:p></o:p></p>
<p class="MsoNormal">0:00:33.160766996 9672 190858F8 DEBUG decodebin gstdecodebin2.c:3940:debug_sticky_event:<'':src_0> sticky event stream-start<o:p></o:p></p>
<p class="MsoNormal">0:00:33.160946968 9672 190858F8 DEBUG decodebin gstdecodebin2.c:3940:debug_sticky_event:<'':src_0> sticky event caps<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Version 1.5.1<o:p></o:p></p>
<p class="MsoNormal">0:00:18.940684766 1380 0FD95840 DEBUG pipeline gstpipeline.c:217:gst_pipeline_init:<GstPipeline@19EAE098> set bus <bus1> on pipeline<o:p></o:p></p>
<p class="MsoNormal">0:00:19.327259372 1380 0FD95840 DEBUG queue gstqueue.c:477:gst_queue_init:<GstQueue@1EFA9FA8> initialized queue's not_empty & not_full conditions<o:p></o:p></p>
<p class="MsoNormal">1380 0FD95840 DEBUG appsrc gstappsrc.c:1241:gst_app_src_set_caps:<app_source> setting caps to audio/ms-gsm, rate=(int)8000, channels=(int)1<o:p></o:p></p>
<p class="MsoNormal">0:00:19.524209159 1380 0FD95840 DEBUG appsrc gstappsrc.c:1375:gst_app_src_get_stream_type:<app_source> getting stream_type of 0<o:p></o:p></p>
<p class="MsoNormal">0:00:19.524430550 1380 0FD95840 DEBUG appsrc gstappsrc.c:1349:gst_app_src_set_stream_type:<app_source> setting stream_type of 1<o:p></o:p></p>
<p class="MsoNormal">0:00:19.525703916 1380 0FD95840 DEBUG appsrc gstappsrc.c:645:gst_app_src_internal_get_caps:<app_source> caps: (NULL)<o:p></o:p></p>
<p class="MsoNormal">0:00:19.526015476 1380 0FD95840 DEBUG appsrc gstappsrc.c:645:gst_app_src_internal_get_caps:<app_source> caps: (NULL)<o:p></o:p></p>
<p class="MsoNormal">0:00:20.130137677 1380 0FD95840 INFO audiopanorama audiopanorama.c:324:gst_audio_panorama_transform_caps:<audio_panorama> [0] allow 2 channels<o:p></o:p></p>
<p class="MsoNormal">0:00:20.130193758 1380 0FD95840 DEBUG audiopanorama audiopanorama.c:329:gst_audio_panorama_transform_caps:<audio_panorama> transformed audio/x-raw, format=(string){ F32LE, S16LE }, rate=(int)[ 1, 2147483647 ], channels=(int)2,
layout=(string)interleaved<o:p></o:p></p>
<p class="MsoNormal">0:00:20.130611615 1380 0FD95840 DEBUG audioconvert gstaudioconvert.c:338:gst_audio_convert_transform_caps:<audio_convert> transformed audio/x-raw, format=(string){ S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE,
U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], layout=(string)interleaved into audio/x-raw,
rate=(int)[ 1, 2147483647 ], layout=(string)interleaved<o:p></o:p></p>
<p class="MsoNormal">0:00:20.324518007 1380 0FD95840 INFO audiopanorama audiopanorama.c:324:gst_audio_panorama_transform_caps:<audio_panorama> [0] allow 2 channels<o:p></o:p></p>
<p class="MsoNormal">0:00:20.324585817 1380 0FD95840 DEBUG audiopanorama audiopanorama.c:329:gst_audio_panorama_transform_caps:<audio_panorama> transformed audio/x-raw, format=(string){ F32LE, S16LE }, rate=(int)[ 1, 2147483647 ], channels=(int)2,
layout=(string)interleaved<o:p></o:p></p>
<p class="MsoNormal">0:00:20.324950893 1380 0FD95840 DEBUG audioconvert gstaudioconvert.c:338:gst_audio_convert_transform_caps:<audio_convert> transformed audio/x-raw, format=(string){ S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE,
U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], layout=(string)interleaved into audio/x-raw,
rate=(int)[ 1, 2147483647 ], layout=(string)interleaved<o:p></o:p></p>
<p class="MsoNormal">0:00:20.526748193 1380 0FD95840 INFO audiopanorama audiopanorama.c:324:gst_audio_panorama_transform_caps:<audio_panorama> [0] allow 2 channels<o:p></o:p></p>
<p class="MsoNormal">0:00:20.526813804 1380 0FD95840 DEBUG audiopanorama audiopanorama.c:329:gst_audio_panorama_transform_caps:<audio_panorama> transformed audio/x-raw, format=(string){ F32LE, S16LE }, rate=(int)[ 1, 2147483647 ], channels=(int)2,
layout=(string)interleaved<o:p></o:p></p>
<p class="MsoNormal">0:00:20.527093109 1380 0FD95840 DEBUG audioconvert gstaudioconvert.c:338:gst_audio_convert_transform_caps:<audio_convert> transformed audio/x-raw, format=(string){ F32LE, S16LE }, rate=(int)[ 1, 2147483647 ], channels=(int)2,
layout=(string)interleaved into audio/x-raw, rate=(int)[ 1, 2147483647 ], layout=(string)interleaved<o:p></o:p></p>
<p class="MsoNormal">0:00:20.724472116 1380 0FD95840 INFO audiopanorama audiopanorama.c:324:gst_audio_panorama_transform_caps:<audio_panorama> [0] allow 2 channels<o:p></o:p></p>
<p class="MsoNormal">0:00:20.724539193 1380 0FD95840 DEBUG audiopanorama audiopanorama.c:329:gst_audio_panorama_transform_caps:<audio_panorama> transformed audio/x-raw, format=(string){ F32LE, S16LE }, rate=(int)[ 1, 2147483647 ], channels=(int)2,
layout=(string)interleaved<o:p></o:p></p>
<p class="MsoNormal">0:00:20.724815932 1380 0FD95840 DEBUG audioconvert gstaudioconvert.c:338:gst_audio_convert_transform_caps:<audio_convert> transformed audio/x-raw, format=(string){ F32LE, S16LE }, rate=(int)[ 1, 2147483647 ], channels=(int)2,
layout=(string)interleaved into audio/x-raw, rate=(int)[ 1, 2147483647 ], layout=(string)interleaved<o:p></o:p></p>
<p class="MsoNormal">0:00:20.937147639 1380 19EB55C0 DEBUG pipeline gstpipeline.c:280:reset_start_time:<audio-pipeline> reset start_time to 0<o:p></o:p></p>
<p class="MsoNormal">0:00:20.937632940 1380 19EB55C0 DEBUG appsrc gstappsrc.c:813:gst_app_src_start:<app_source> starting<o:p></o:p></p>
<p class="MsoNormal">0:00:20.937660798 1380 19EB55C0 DEBUG appsrc gstappsrc.c:939:gst_app_src_do_seek:<app_source> seeking to 0, format time<o:p></o:p></p>
<p class="MsoNormal">0:00:21.125665869 1380 19EB55C0 DEBUG appsrc gstappsrc.c:956:gst_app_src_do_seek:<app_source> flushing queue<o:p></o:p></p>
<p class="MsoNormal">0:00:21.126886453 1380 19DD2588 FIXME default gstutils.c:3761:gst_pad_create_stream_id_internal:<app_source:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id<o:p></o:p></p>
<p class="MsoNormal">0:00:21.126947665 1380 19DD2588 DEBUG appsrc gstappsrc.c:645:gst_app_src_internal_get_caps:<app_source> caps: (NULL)<o:p></o:p></p>
<p class="MsoNormal">0:00:21.524683831 1380 19EB55C0 DEBUG appsrc gstappsrc.c:1638:gst_app_src_push_buffer_full:<app_source> queueing buffer 1EFB4010<o:p></o:p></p>
<p class="MsoNormal">0:00:21.524725250 1380 19DD2588 DEBUG appsrc gstappsrc.c:1138:gst_app_src_create:<app_source> we have buffer 1EFB4010 of size 1625<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">With version 1.4.5 things carry on from there, the pipeline goes to the Playing state and all works well. With version 1.5.1 you can see that "gst_app_src_internal_get_caps" returns NULL and nothing ever happens with the decodebin. My
pipeline stays in the CHANGE_ASYNC state and I'm stuck.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Cutting my code down to the pertinent lines, I am setting the caps like so:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">const std::string AudioCaps::m_Capabilities_gsm = "audio/ms-gsm, rate=8000, channels=1";<o:p></o:p></p>
<p class="MsoNormal">GstCaps * m_GSMCaps = gst_caps_from_string(m_Capabilities_gsm.c_str());<o:p></o:p></p>
<p class="MsoNormal">g_object_set(m_AppSrc, "caps", m_GSMCaps, NULL);<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Has something changed between versions as far as how caps need to be set for an appsrc? I tried looking at the git commit log for appsrc and gstcaps, but nothing stood out to me. Anyone have any ideas?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks,<o:p></o:p></p>
<p class="MsoNormal">Matt Zawojski<o:p></o:p></p>
</div>
</body>
</html>