Asserion failure in test6.cpp - any up-to-date examples or tutorials?

"Gruenke,Matt" <[email protected]> Fri, 23 Dec 2016 17:40:25 +0000
Newsgroups gmane.comp.multimedia.matroska.devel
Message-ID <0C37C125F1912044B8884AB509AC454905E3E031@003FCH1MPN2-052.003f.mgd2.msft.net>
--===============7151863610697480414==
Content-Language: en-US
Content-Type: multipart/alternative;
	boundary="_000_0C37C125F1912044B8884AB509AC454905E3E031003FCH1MPN20520_"

--_000_0C37C125F1912044B8884AB509AC454905E3E031003FCH1MPN20520_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Using libmatroska6v5 (1.4.4) on Ubuntu 16.04.1, I get the following asserti=
on failure, when running test6.cpp:

#0  0x00007ffff6fdf428 in __GI_raise (sig=3Dsig@entry=3D6) at ../sysdeps/un=
ix/sysv/linux/raise.c:54
#1  0x00007ffff6fe102a in __GI_abort () at abort.c:89
#2  0x00007ffff6fd7bd7 in __assert_fail_base (fmt=3D<optimized out>, assert=
ion=3Dassertion@entry=3D0x7ffff7baa012 "false",
    file=3Dfile@entry=3D0x7ffff7bab79c "src/KaxSemantic.cpp", line=3Dline@e=
ntry=3D777,
    function=3Dfunction@entry=3D0x7ffff7bac4e0 "virtual filepos_t libmatros=
ka::KaxAudioPosition::RenderData(libebml::IOCallback&, bool, bool)") at ass=
ert.c:92
#3  0x00007ffff6fd7c82 in __GI___assert_fail (assertion=3D0x7ffff7baa012 "f=
alse", file=3D0x7ffff7bab79c "src/KaxSemantic.cpp",
    line=3D777,
    function=3D0x7ffff7bac4e0 "virtual filepos_t libmatroska::KaxAudioPosit=
ion::RenderData(libebml::IOCallback&, bool, bool)")
    at assert.c:101
#4  0x00007ffff7b98693 in libmatroska::KaxAudioPosition::RenderData(libebml=
::IOCallback&, bool, bool) ()
   from /usr/lib/x86_64-linux-gnu/libmatroska.so.6
#5  0x00007ffff791ca5c in libebml::EbmlElement::Render(libebml::IOCallback&=
, bool, bool, bool) ()
   from /usr/lib/x86_64-linux-gnu/libebml.so.4
#6  0x00007ffff791f336 in libebml::EbmlMaster::RenderData(libebml::IOCallba=
ck&, bool, bool) ()
   from /usr/lib/x86_64-linux-gnu/libebml.so.4
#7  0x00007ffff791ca5c in libebml::EbmlElement::Render(libebml::IOCallback&=
, bool, bool, bool) ()
   from /usr/lib/x86_64-linux-gnu/libebml.so.4
#8  0x00007ffff791f336 in libebml::EbmlMaster::RenderData(libebml::IOCallba=
ck&, bool, bool) ()
   from /usr/lib/x86_64-linux-gnu/libebml.so.4
#9  0x00007ffff791ca5c in libebml::EbmlElement::Render(libebml::IOCallback&=
, bool, bool, bool) ()
   from /usr/lib/x86_64-linux-gnu/libebml.so.4
#10 0x00007ffff791f336 in libebml::EbmlMaster::RenderData(libebml::IOCallba=
ck&, bool, bool) ()
   from /usr/lib/x86_64-linux-gnu/libebml.so.4
#11 0x00007ffff791ca5c in libebml::EbmlElement::Render(libebml::IOCallback&=
, bool, bool, bool) ()
   from /usr/lib/x86_64-linux-gnu/libebml.so.4
#12 0x0000000000405b76 in main (argc=3D1, argv=3D0x7fffffffe4e8) at test6.c=
pp:205

Here's the assert that's failing:

filepos_t KaxSliceBlockAddID::RenderData(IOCallback & /* output */, bool /*=
 bForceRender */, bool /* bSaveDefault */) {
  assert(false); // no you are not allowed to use this element !
  return 0;
}

Also, I happened to notice that libav, VLC, and GStreamer all seem to be us=
ing their own EBML and matroska implementations - not libmatroska.  My purp=
ose in trying to use libmatroska is to interleave timestamped video frames =
with a timestamped frames of a non-standard stream type.  So, is there a be=
tter example or an up-to-date tutorial of how I might use libmatroska to th=
is end, or can someone recommend a better library for this purpose.


Thanks,
Matt


________________________________

This e-mail contains privileged and confidential information intended for t=
he use of the addressees named above. If you are not the intended recipient=
 of this e-mail, you are hereby notified that you must not disseminate, cop=
y or take any action in respect of any information contained in it. If you =
have received this e-mail in error, please notify the sender immediately by=
 e-mail and immediately destroy this e-mail and its attachments.

--_000_0C37C125F1912044B8884AB509AC454905E3E031003FCH1MPN20520_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 12 (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:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-compose;
	font-family:"Calibri","sans-serif";
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;}
@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=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"EN-US" link=3D"blue" vlink=3D"purple">
<div class=3D"WordSection1">
<p class=3D"MsoNormal">Using libmatroska6v5 (1.4.4) on Ubuntu 16.04.1, I ge=
t the following assertion failure, when running test6.cpp:<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">#0&nbsp; 0x00007ffff6fdf428 in __GI_raise (sig=3Dsig=
@entry=3D6) at ../sysdeps/unix/sysv/linux/raise.c:54<o:p></o:p></p>
<p class=3D"MsoNormal">#1&nbsp; 0x00007ffff6fe102a in __GI_abort () at abor=
t.c:89<o:p></o:p></p>
<p class=3D"MsoNormal">#2&nbsp; 0x00007ffff6fd7bd7 in __assert_fail_base (f=
mt=3D&lt;optimized out&gt;, assertion=3Dassertion@entry=3D0x7ffff7baa012 &q=
uot;false&quot;,
<o:p></o:p></p>
<p class=3D"MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;file=3Dfile@entry=3D0x7ffff7=
bab79c &quot;src/KaxSemantic.cpp&quot;, line=3Dline@entry=3D777,
<o:p></o:p></p>
<p class=3D"MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;function=3Dfunction@entry=3D=
0x7ffff7bac4e0 &quot;virtual filepos_t libmatroska::KaxAudioPosition::Rende=
rData(libebml::IOCallback&amp;, bool, bool)&quot;) at assert.c:92<o:p></o:p=
></p>
<p class=3D"MsoNormal">#3&nbsp; 0x00007ffff6fd7c82 in __GI___assert_fail (a=
ssertion=3D0x7ffff7baa012 &quot;false&quot;, file=3D0x7ffff7bab79c &quot;sr=
c/KaxSemantic.cpp&quot;,
<o:p></o:p></p>
<p class=3D"MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;line=3D777, <o:p></o:p></p>
<p class=3D"MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;function=3D0x7ffff7bac4e0 &q=
uot;virtual filepos_t libmatroska::KaxAudioPosition::RenderData(libebml::IO=
Callback&amp;, bool, bool)&quot;)<o:p></o:p></p>
<p class=3D"MsoNormal">&nbsp;&nbsp;&nbsp; at assert.c:101<o:p></o:p></p>
<p class=3D"MsoNormal">#4&nbsp; 0x00007ffff7b98693 in libmatroska::KaxAudio=
Position::RenderData(libebml::IOCallback&amp;, bool, bool) ()<o:p></o:p></p=
>
<p class=3D"MsoNormal">&nbsp;&nbsp; from /usr/lib/x86_64-linux-gnu/libmatro=
ska.so.6<o:p></o:p></p>
<p class=3D"MsoNormal">#5&nbsp; 0x00007ffff791ca5c in libebml::EbmlElement:=
:Render(libebml::IOCallback&amp;, bool, bool, bool) ()<o:p></o:p></p>
<p class=3D"MsoNormal">&nbsp;&nbsp; from /usr/lib/x86_64-linux-gnu/libebml.=
so.4<o:p></o:p></p>
<p class=3D"MsoNormal">#6&nbsp; 0x00007ffff791f336 in libebml::EbmlMaster::=
RenderData(libebml::IOCallback&amp;, bool, bool) ()<o:p></o:p></p>
<p class=3D"MsoNormal">&nbsp;&nbsp; from /usr/lib/x86_64-linux-gnu/libebml.=
so.4<o:p></o:p></p>
<p class=3D"MsoNormal">#7&nbsp; 0x00007ffff791ca5c in libebml::EbmlElement:=
:Render(libebml::IOCallback&amp;, bool, bool, bool) ()<o:p></o:p></p>
<p class=3D"MsoNormal">&nbsp;&nbsp; from /usr/lib/x86_64-linux-gnu/libebml.=
so.4<o:p></o:p></p>
<p class=3D"MsoNormal">#8&nbsp; 0x00007ffff791f336 in libebml::EbmlMaster::=
RenderData(libebml::IOCallback&amp;, bool, bool) ()<o:p></o:p></p>
<p class=3D"MsoNormal">&nbsp;&nbsp; from /usr/lib/x86_64-linux-gnu/libebml.=
so.4<o:p></o:p></p>
<p class=3D"MsoNormal">#9&nbsp; 0x00007ffff791ca5c in libebml::EbmlElement:=
:Render(libebml::IOCallback&amp;, bool, bool, bool) ()<o:p></o:p></p>
<p class=3D"MsoNormal">&nbsp;&nbsp; from /usr/lib/x86_64-linux-gnu/libebml.=
so.4<o:p></o:p></p>
<p class=3D"MsoNormal">#10 0x00007ffff791f336 in libebml::EbmlMaster::Rende=
rData(libebml::IOCallback&amp;, bool, bool) ()<o:p></o:p></p>
<p class=3D"MsoNormal">&nbsp;&nbsp; from /usr/lib/x86_64-linux-gnu/libebml.=
so.4<o:p></o:p></p>
<p class=3D"MsoNormal">#11 0x00007ffff791ca5c in libebml::EbmlElement::Rend=
er(libebml::IOCallback&amp;, bool, bool, bool) ()<o:p></o:p></p>
<p class=3D"MsoNormal">&nbsp;&nbsp; from /usr/lib/x86_64-linux-gnu/libebml.=
so.4<o:p></o:p></p>
<p class=3D"MsoNormal">#12 0x0000000000405b76 in main (argc=3D1, argv=3D0x7=
fffffffe4e8) at test6.cpp:205<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Here&#8217;s the assert that&#8217;s failing:<o:p></=
o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:.5in">filepos_t KaxSliceBlockAd=
dID::RenderData(IOCallback &amp; /* output */, bool /* bForceRender */, boo=
l /* bSaveDefault */) {<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:.5in">&nbsp; assert(false); // =
no you are not allowed to use this element !<o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"margin-left:.5in">&nbsp; return 0;<o:p></o:=
p></p>
<p class=3D"MsoNormal" style=3D"margin-left:.5in">}<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Also, I happened to notice that libav, VLC, and GStr=
eamer all seem to be using their own EBML and matroska implementations &#82=
11; not libmatroska.&nbsp; My purpose in trying to use libmatroska is to in=
terleave timestamped video frames with a timestamped
 frames of a non-standard stream type.&nbsp; So, is there a better example =
or an up-to-date tutorial of how I might use libmatroska to this end, or ca=
n someone recommend a better library for this purpose.<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Thanks,<o:p></o:p></p>
<p class=3D"MsoNormal">Matt<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<br>
<hr>
<font face=3D"Arial" color=3D"Gray" size=3D"1"><br>
This e-mail contains privileged and confidential information intended for t=
he use of the addressees named above. If you are not the intended recipient=
 of this e-mail, you are hereby notified that you must not disseminate, cop=
y or take any action in respect
 of any information contained in it. If you have received this e-mail in er=
ror, please notify the sender immediately by e-mail and immediately destroy=
 this e-mail and its attachments.<br>
</font>
</body>
</html>

--_000_0C37C125F1912044B8884AB509AC454905E3E031003FCH1MPN20520_--

--===============7151863610697480414==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Matroska-devel mailing list
[email protected]
https://lists.matroska.org/cgi-bin/mailman/listinfo/matroska-devel
Read Matroska-Devel on GMane: http://dir.gmane.org/gmane.comp.multimedia.matroska.devel
--===============7151863610697480414==--