Dash player for segment list with non-zero repeat count - mpeg-dash

<Period programDateTime='2021-03-17T07:15:26.239Z' duration='PT1M04.078S'>
<AdaptationSet contentType='video' mimeType='video/mp4' par='16:9' id='7'>
<SegmentList timescale='90000' presentationTimeOffset='4327131510'>
<SegmentTimeline>
<!-- Doesn't work -->
<S t='4327131510' d='2903310' r='1' />
<!-- Uncomment below and remove the above and manifest will work -->
<!-- <S t='4327131510' d='2903310'/>-->
<!-- <S t='4330034820' d='2903310'/>-->
</SegmentTimeline>
</SegmentList>
<Representation id='1280x720' codecs='avc1.4d0029' width='1280' height='720' bandwidth='100000'>
<BaseURL>http://localhost:8000/downloaded/</BaseURL>
<SegmentList>
<Initialization sourceURL='1.m4v' />
<SegmentURL media='1.m4v' />
<SegmentURL media='2.m4v' />
</SegmentList>
</Representation>
</AdaptationSet>
</Period>
Dash player starts playing the manifest however, it skips the 2.m4v and reduces the size of video to just first segment. However, if I remove the repeat count field and specify each segment explicitly in segmentTimeline then it works fine.
This manifest also works fine in Shaka player.

Your manifest doesn't look right. I don't think the first segment list with the time line should be there. I would try:
<Period programDateTime='2021-03-17T07:15:26.239Z' duration='PT1M04.078S'>
<AdaptationSet contentType='video' mimeType='video/mp4' par='16:9' id='7'>
<Representation id='1280x720' codecs='avc1.4d0029' width='1280' height='720' bandwidth='100000'>
<BaseURL>http://localhost:8000/downloaded/</BaseURL>
<SegmentList timescale='90000' duration='2903310'>
<Initialization sourceURL='1.m4v' />
<SegmentURL media='1.m4v' />
<SegmentURL media='2.m4v' />
</SegmentList>
</Representation>
</AdaptationSet>
</Period>

Related

WP All Import creates duplicate product attributes

I'm using WP All Import to import new products from an XML, or update them. The import works perfect, but I noticed that some attributes are double. They have been created again, after first import.
Maybe for new items. I checked XML file and it is normal.
I want to import toners and I'm using an attribute for color (Χρώμα in greek) and now i have 2 different attributes named Χρώμα with the same colors. Looking for CYAN color, I found 5 products in the first attribute and 11 products in the second one.
Any idea what I'm doing wrong?
Here is the xml from one product:
<product>
<id>1077</id>
<sku>TON-CLP320BK</sku>
<name>
Συμβατό Toner TON-CLP320BK για Samsung, CLT-K4072S, Black, 1.5K
</name>
<barcode>5202705407213</barcode>
<manufacturer>PREMIUM</manufacturer>
<descr>
<p>Συμβατό Toner TON-CLP320BK για Samsung, CLT-K4072S, Black, 1.5K</p><p></p><p>Συμβατά μοντέλα : </p><p>CLP325<br/>CLP320<br/>CLP320N<br/>CLP325W<br/>CLX3185FN<br/>CLX3185FN<br/>CLX318<br/>CLX318FN<br/>CLX3185FW<br/>CLX3185W</p>
</descr>
<availability>1</availability>
<dim1>40.0</dim1>
<dim2>9.5</dim2>
<dim3>18.5</dim3>
<weight>0.791</weight>
<tax>0.000</tax>
<stock_indicator>20</stock_indicator>
<minimum_quantity_to_order>1</minimum_quantity_to_order>
<RRP>15.00</RRP>
<url>
https://www.data-media.gr/product_det.asp?catid=263&subid=329&prid=1077
</url>
<thumb>
https://www.data-media.gr/photos/TON-CLP320BK.jpg
</thumb>
<image>
https://www.data-media.gr/photos/max/TON-CLP320BK.jpg
</image>
<volume>7030.000</volume>
<courier_weight>1.786</courier_weight>
<in_offer>0</in_offer>
<guarantee>12 μήνες</guarantee>
<group>
<id>4</id>
<name>Εκτυπωτές & Toner-Ink</name>
<category>
<id>263</id>
<name>Toner - Ribbon Μελάνια</name>
<subcategory>
<id>329</id>
<name>Toner</name>
</subcategory>
</category>
</group>
<filters>
<filter>
<name_id>9</name_id>
<name>Για Brand</name>
<value_id>8</value_id>
<value>SAMSUNG</value>
</filter>
<filter></filter>
<filter></filter>
<filter></filter>
</filters>
<price>10.16</price>
<price_without_offer>10.16</price_without_offer>
<retail_percent>20</retail_percent>
<retail_price>15.12</retail_price>
<vat>24</vat>
<pp>0</pp>
</product>

No current header for value line when importing impex in hybris

itemtype code="CartPageConfig" jaloclass="de.hybris.platform.jalo.config.CartPageConfig">
<deployment table="CartPageConfig" typecode="21033" />
<attributes>
<attribute qualifier="code" type="java.lang.String">
<modifiers unique="true" optional="false"/>
<persistence type="property" />
</attribute>
<attribute qualifier="shipToStores" type="AllowedStoresList">
<description> List of stores where the notification should be shown </description>
<persistence type="property"/>
</attribute>
</attributes>
<indexes>
<index name="code" unique="true">
<key attribute="code"/>
</index>
</indexes>
</itemtype>
And the following item to insert data for the above item:
CartPageConfig;code[unique=true];shipToStores;baseStores(uid)
;cartPageConfig;US;en-US-PT02
I get the following error when trying to import the above impex:
CartPageConfig,,,,;code[unique=true];shipToStores;# no current header for value line
,,,,;cartPageConfig;US;# no current header for value line
23.07.2019 16:12:06: ERROR: de.hybris.platform.impex.jalo.ImpExException: Can not resolve any more lines ... Aborting further passes (at pass 2). Finally could not import 2 lines![HY-123]
Try :
INSERT_UPDATE CartPageConfig;code[unique=true];shipToStores;baseStores(uid)
;cartPageConfig;US;en-US-PT02

SCXML notation of a target set

How can I define a "legal state configuration" according to https://www.w3.org/TR/scxml/#LegalStateConfigurations. I want to specify a target set (!), not a single target. Target sets can be defined inside the initial attribute of the <scxml> and <state> elements, as well as a target attribute of <transition> elements. But I can't seem to find any example of the notation of more than one state inside the above-mentioned attributes. Do they have to be space-separated? Or array notation according to JavaScript? Or object notation? Or comma-separated?
Thanks for any hints.
But anyway I'd like to know, what I have missed in the standard, to be sure to be interpreter-independent.
Here's a little testcode:
<scxml xmlns="http://www.w3.org/2005/07/scxml" version="1.0">
<initial>
<transition target="State_3_2 State_4_2" />
</initial>
<parallel id="Parallel_1">
<history id="hist" type="deep">
<transition target="State_1_2 State_2_2" />
</history>
<state id="State_1">
<state id="State_1_1" />
<state id="State_1_2" />
</state>
<state id="State_2">
<state id="State_2_1" />
<state id="State_2_2" />
</state>
</parallel>
<parallel id="Parallel_2">
<transition target="hist" event="switch_hist" />
<state id="State_3">
<state id="State_3_1" />
<state id="State_3_2" />
</state>
<state id="State_4">
<state id="State_4_1" />
<state id="State_4_2" />
</state>
</parallel>
</scxml>
To test: on entry, the states State_3_2 and State_4_2 must be active (initial element executed correctly), after event switch_hist, states State_1_2 and State_2_2 must be active (transitionattribute executed correctly).
If somebody has an interpreter all set other than SCION, could You test this there?
Also the alternative syntax with the first 4 lines replaced by
<scxml xmlns="http://www.w3.org/2005/07/scxml" version="1.0" initial="State_3_2 State_4_2">
Thank You.
It is space-separated. You can see an example of this in the SCXML test test suite. For example line 9 of test364.
Hope this helps. Thanks.

MPEG-DASH urls of segments

I have an example of MPD file generated by Wowza.
I'd like to find out what are URLs of media segments.
The DASH specification is not easy to decipher.
The example is like this
-<Period start="PT0.0S" id="0">
-<AdaptationSet id="0" subsegmentStartsWithSAP="1" subsegmentAlignment="true" startWithSAP="1" segmentAlignment="true" frameRate="30" par="16:9" height="720" width="1280" mimeType="video/mp4">
-<SegmentTemplate initialization="chunk_ctvideo_cfm4s_rid$RepresentationID$_cinit_w998693597_mpd.m4s" media="chunk_ctvideo_cfm4s_rid$RepresentationID$_cs$Time$_w998693597_mpd.m4s" timescale="90000">
-<SegmentTimeline>
<S d="720000" t="35576570970"/>
<S d="720000"/>
<S d="1440000"/>
<S d="720000"/>
<S d="720000"/>
</SegmentTimeline>
</SegmentTemplate>
<Representation id="p0a0r0" bandwidth="296000" sar="1:1" codecs="avc1.4d401f"/>
</AdaptationSet>
The format is in SegmentTemplate tag:
initialization="chunk_ctvideo_cfm4s_rid$RepresentationID$_cinit_w998693597_mpd.m4s" media="chunk_ctvideo_cfm4s_rid$RepresentationID$_cs$Time$_w998693597_mpd.m4s" timescale="90000">
initialization="chunk_ctvideo_cfm4s_rid$RepresentationID$_cinit_w998693597_mpd.m4s"
This tells you the template URL of initial segment.
Replace $RepresentationID$ with "Representation id" (p0a0r0 in your example).
media="chunk_ctvideo_cfm4s_rid$RepresentationID$_cs$Time$_w998693597_mpd.m4s"
This tells you the template URL of media segments. Replace $RepresentationID$ with "Representation id" as above, and replace $Time$ with a value computed from "SegmentTimeline" tag.
For example,
say the url for mpd is http:///XXX/manifest.mpd
the url for initial segment is http:///XXX/chunk_ctvideo_cfm4s_ridp0a0r0_cinit_w998693597_mpd.m4s
and the url for a media segment can be
http:///XXX/chunk_ctvideo_cfm4s_ridp0a0r0_cs35576570970_w998693597_mpd.m4s
If you want to get different media segments in a representation, you can use different $Time$ value in url.
Hope this helps.

Eclipse4 - Application Model and Core Expressions definitions

In Application.e4xmi I have two perspectives:
...
<children xsi:type="advanced:PerspectiveStack" xmi:id="_ySFusPeXEeKXHJPsnYiiYQ" elementId="com.myapplication.ui.perspectivestack.main">
<children xsi:type="advanced:Perspective" xmi:id="_83bVsPeXEeKXHJPsnYiiYQ" elementId="com.myapplication.ui.perspective.testmanager" label="Test manager">
...
<children xsi:type="advanced:Perspective" xmi:id="_bDA4oPeaEeKXHJPsnYiiYQ" elementId="com.myapplication.ui.perspective.configurator" label="Configurator">
...
and a main menu with two items:
<mainMenu xmi:id="_xanVgPfWEeKXHJPsnYiiYQ" elementId="com.myapplication.ui.menu.0">
<children xsi:type="menu:HandledMenuItem" xmi:id="_22vnAPfWEeKXHJPsnYiiYQ" elementId="com.myapplication.ui.handledmenuitem.uno" label="uno" command="_LFFTsPhHEeK44MdhTvpdlg">
<visibleWhen xsi:type="ui:CoreExpression" xmi:id="_28cw8PfXEeKXHJPsnYiiYQ" coreExpressionId="com.myapplication.ui.perspectiveselected.testmanager"/>
</children>
<children xsi:type="menu:HandledMenuItem" xmi:id="_49obAPfWEeKXHJPsnYiiYQ" elementId="com.myapplication.ui.handledmenuitem.due" label="due" command="_NXT1APhHEeK44MdhTvpdlg">
<visibleWhen xsi:type="ui:CoreExpression" xmi:id="_ZP4lgPhHEeK44MdhTvpdlg" coreExpressionId="com.myapplication.ui.perspectiveselected.configurator"/>
</children>
</mainMenu>
The menu item "com.myapplication.ui.handledmenuitem.uno" has to be shown when perspective "com.myapplication.ui.perspective.testmanager" is shown.
The menu item "com.myapplication.ui.handledmenuitem.due" has to be shown when perspective "com.myapplication.ui.perspective.configurator" is shown.
So that, I defined in plugin.xml:
<extension
point="org.eclipse.core.expressions.definitions">
<definition
id="com.myapplication.ui.perspectiveselected.testmanager">
<with
variable="activeWorkbenchWindow.activePerspective">
<equals
value="com.myapplication.ui.perspective.testmanager">
</equals>
</with>
</definition>
</extension>
<extension
point="org.eclipse.core.expressions.definitions">
<definition
id="com.myapplication.ui.perspectiveselected.configurator">
<with
variable="activeWorkbenchWindow.activePerspective">
<equals
value="com.myapplication.ui.perspective.configurator">
</equals>
</with>
</definition>
</extension>
IT DOESN'T WORK !! (menu items are shown always)
Any ideas?
I see that you have applied on the definition itself. Create a new command and register it with your menu and then write your expression on it.
Example:
<command
commandId=" "
label=" "
mnemonic="A">
<visibleWhen
checkEnabled="false">
<with
variable="">
<equals
value="1">
</equals>
</with>
</visibleWhen>
</command>

Resources