![]() ![]() |
Aug 29 2007, 07:24 PM
Post
#21
|
|
|
Web Scheduler Developer Group: Developers Posts: 4,495 Joined: 9-July 03 From: Melb Member No.: 9 Card: None |
QUOTE Is the source filter your using a smart filter? I am not sure what you mean by a "smart filter" QUOTE What is the source pin type/sub/format? The idea is that the producer filters sink the TS into a memory share, the consumer filters then consume the TS data from the memory share. The Source Memory share filter I have written is a push filter very similar to the TS File Source filter. The Source TS memory filter is feeding into a MS Demux and the mapping and pins are created for video and audio on the MS Demux just like in the current version does, the SBE sink filter is connected to the MS Demux and all connections work, the graph is build correctly. LockProfile and then CreateRecording is then called on the sink filter, then finally start is called on the sink filter. This is all just like in the current version. The problem is that the SBE does not create the output recording, a 6KB file is created but no other data is written. It is like all the data is being dropped and not written. To confirm that the MS Demux pins are created correctly and the correct pids mapped I connected then to a dump filter and video and audio are record so the pin and mapping is correct. I have tired a number of things including adding a reference clock to the source filter and using that and still no go. |
|
|
|
Aug 29 2007, 08:54 PM
Post
#22
|
|
|
Forum Regular Group: Members Posts: 3,023 Joined: 24-April 04 From: Queensland Member No.: 808 Card: VisionPlus DVB-t |
QUOTE I am not sure what you mean by a "smart filter" only smart in that it parsed the stream and set the source pin type.QUOTE LockProfile and then CreateRecording is then called on the sink filter, then finally start is called on the sink filter. This is all just like in the current version. Do you release the "IStreamBufferRecordControl" interface and the "RecordingIUnknown" before you exit the function?QUOTE The problem is that the SBE does not create the output recording, a 6KB file is created but no other data is written. I'm beginning to recall a similar issue a long time ago, will have a think.
|
|
|
|
Aug 29 2007, 09:16 PM
Post
#23
|
|
|
Web Scheduler Developer Group: Developers Posts: 4,495 Joined: 9-July 03 From: Melb Member No.: 9 Card: None |
QUOTE only smart in that it parsed the stream and set the source pin type. The push source output pin is always Transport Stream. QUOTE Do you release the "IStreamBufferRecordControl" interface and the "RecordingIUnknown" before you exit the function? No but they are CComPtr so should release when the function exits, is there an issue with not releasing? |
|
|
|
Aug 29 2007, 10:32 PM
Post
#24
|
|
|
Forum Regular Group: Members Posts: 3,023 Joined: 24-April 04 From: Queensland Member No.: 808 Card: VisionPlus DVB-t |
QUOTE No but they are CComPtr so should release when the function exits, is there an issue with not releasing? Not exactly sure, I see in my own version that the RecordIunknown interface is held I think by pushing back as a vector. I don't think I did this on purpose unless it was required, I would have let the pointer release on exit. Another thing I found is that I free run the graph, setting the reference clock to null prior to running the graph. Will have a play to see if I can recreate the same condition. |
|
|
|
Aug 30 2007, 07:30 AM
Post
#25
|
|
|
Web Scheduler Developer Group: Developers Posts: 4,495 Joined: 9-July 03 From: Melb Member No.: 9 Card: None |
QUOTE Another thing I found is that I free run the graph, setting the reference clock to null prior to running the graph. Will have a play to see if I can recreate the same condition. I have tried that but then I get an error when I try to Run the graph (0x80004005) The code I use to set the reference clock to null is: CODE CComPtr <IMediaFilter> pMediaFilter = 0; hr = m_pFilterGraph.QueryInterface(&pMediaFilter); hr = pMediaFilter->SetSyncSource(NULL); I have removed error checking. |
|
|
|
Aug 30 2007, 11:55 AM
Post
#26
|
|
|
Web Scheduler Developer Group: Developers Posts: 4,495 Joined: 9-July 03 From: Melb Member No.: 9 Card: None |
QUOTE Not exactly sure, I see in my own version that the RecordIunknown interface is held I think by pushing back as a vector. I don't think I did this on purpose unless it was required, I would have let the pointer release on exit. I was able to sort out the DVR-MS issue, it turn out you need to keep a reference of the IUnknown that is returned fomr the CreateRecording call to the sink filter for the duration of the capture otherwise no capture for you. Hopefully I will have something to test with tomorrow. |
|
|
|
Aug 30 2007, 03:52 PM
Post
#27
|
|
|
Web Scheduler Developer Group: Developers Posts: 4,495 Joined: 9-July 03 From: Melb Member No.: 9 Card: None |
I have built the test build, it is available from the dev area:
Download Now: http://www.bluebit.com.au/cms.php?id=4 |
|
|
|
Aug 30 2007, 04:55 PM
Post
#28
|
|
|
Forum Regular Group: Members Posts: 829 Joined: 8-November 04 Member No.: 1,988 Card: DVICO FusionHDTV |
Will try it out.
One quick observation. There is now no way to merge items into one file (unless they are merged on epg load). This is not something I ever used and think the setup is simpler and less confusing without it but was wondering... Are you planning on dropping this feature? I myself am all for this as no merging makes everything much simpler to administer and understand. Also I will probably try it on my production machine so is it reasonably reliable for you ATM? Not after any guarantees of course just is there anything to look out for? |
|
|
|
Aug 30 2007, 06:50 PM
Post
#29
|
|
|
Web Scheduler Developer Group: Developers Posts: 4,495 Joined: 9-July 03 From: Melb Member No.: 9 Card: None |
QUOTE Are you planning on dropping this feature? it is dropped, there is not such thing as merging now. The EPG load has the option to merge EPG items that have the same name and are on one after the other for shows that play back to back episodes that you might want in the same file. QUOTE I myself am all for this as no merging makes everything much simpler to administer and understand. yes that is the idea, simple is always good. QUOTE Also I will probably try it on my production machine so is it reasonably reliable for you ATM? It has worked very well for me over the last few days, I have done 100 or so capture of different types, these captures have only deen 5 min long so I can not comment on longer captures but I do not see any reason it would be different. I have done a few long (1 and 2 hour) captures so know longer captures work it is just that I have not done as many long test captures are short ones. There will still be bugs, I am not saying it is bug free but it has been reliable for my tests over the last few days, does this help |
|
|
|
Aug 30 2007, 07:05 PM
Post
#30
|
|
|
Forum Regular Group: Members Posts: 829 Joined: 8-November 04 Member No.: 1,988 Card: DVICO FusionHDTV |
Yep thats good enough for me.
Will install and let you know how it goes. |
|
|
|
Aug 30 2007, 07:24 PM
Post
#31
|
|
|
Forum Regular Group: Members Posts: 3,023 Joined: 24-April 04 From: Queensland Member No.: 808 Card: VisionPlus DVB-t |
QUOTE it turn out you need to keep a reference of the IUnknown that is returned fomr the CreateRecording call to the sink filter for the duration of the capture otherwise no capture for you. ok, that makes sense. well sort of. This post has been edited by bear: Aug 30 2007, 07:24 PM |
|
|
|
| Guest_dns_* |
Aug 30 2007, 07:39 PM
Post
#32
|
|
Guests |
One idea that would be useful but is most likely a lot of work would be some advert detection/skipping.
The simplest detection would involve examining frames of tv and as the video and audio start to fade out place a chapter mark in the movie. I don't know if it would be possible to have a filter module placed in the data stream to do this processing or if it is possible to add this extra information to a movie while it is being recorded. Would it be possible for a third party to write this sort of module in the future? |
|
|
|
Aug 30 2007, 08:07 PM
Post
#33
|
|
|
Web Scheduler Developer Group: Developers Posts: 4,495 Joined: 9-July 03 From: Melb Member No.: 9 Card: None |
QUOTE (bear) ok, that makes sense. well sort of. you think? I have no idea why it is needed, I can not find any docs in the MSDN that say it is needed also so I have no idea why, it was the last thing I tried, it was the only none obvious thing left that was different from the old code the the new classes I have created. Added a member variable for the IUnknown and away it went. QUOTE (dns) One idea that would be useful but is most likely a lot of work would be some advert detection/skipping. this sort of thing will always be best done as a post action and there are already tools available for this http://www.kaashoek.com/comskip/ |
|
|
|
Aug 30 2007, 09:19 PM
Post
#34
|
|
|
Forum Regular Group: Members Posts: 3,023 Joined: 24-April 04 From: Queensland Member No.: 808 Card: VisionPlus DVB-t |
QUOTE I have no idea why it is needed, I can not find any docs in the MSDN that say it is needed also so I have no idea why, Yes it's all comming back, recall finding this while degugging and then went searching for an answer, I think i may have found it but either moved on or just had better things to do with my time. |
|
|
|
Aug 30 2007, 10:37 PM
Post
#35
|
|
|
Forum Regular Group: Members Posts: 829 Joined: 8-November 04 Member No.: 1,988 Card: DVICO FusionHDTV |
OK,
did a quick test tonight. Captures worked well but 1st problem, no xml file written so have rolled back to 4.309. |
|
|
|
Aug 31 2007, 05:29 AM
Post
#36
|
|
|
Participant Group: New Members Posts: 41 Joined: 8-June 06 Member No.: 4,872 Card: VisionPlus DVB-t |
Null,
It's working great so far (I don't use the xml info files) and I use MPG capture format. I'll let you know if I find any problems, but so far it seems ok. My post capture tasks work well and fire as each item completes. With padding overlaps I had it capturing 5 programmes from one mux. Thanks Nige |
|
|
|
Aug 31 2007, 06:58 AM
Post
#37
|
|
|
Web Scheduler Developer Group: Developers Posts: 4,495 Joined: 9-July 03 From: Melb Member No.: 9 Card: None |
QUOTE Captures worked well but 1st problem, no xml file written so have rolled back to 4.309. I will look at this, probably something I missed when removing the merged/parent/child loop form the XML output. QUOTE With padding overlaps I had it capturing 5 programmes from one mux. Cool, the more testing the better. |
|
|
|
Aug 31 2007, 02:53 PM
Post
#38
|
|
|
Participant Group: Members Posts: 44 Joined: 4-June 04 Member No.: 999 |
I have done 5 test captures including overlapping abc and abc2 programs and sequential program captures on same channel, worked fine, received seperate email notifications for all captures and seperate files recorded. The changes made are certainly worthwhile.
|
|
|
|
Aug 31 2007, 05:43 PM
Post
#39
|
|
|
Web Scheduler Developer Group: Developers Posts: 4,495 Joined: 9-July 03 From: Melb Member No.: 9 Card: None |
New test build (5.0.0.1) with fix for the XML details not being saved, available from dev area, link in first post.
|
|
|
|
| Guest_mikeathome_* |
Aug 31 2007, 06:10 PM
Post
#40
|
|
Guests |
Was just looking to buy the product and found my way here .. do you plan to release when completed as a V5 or as a V4.x?
|
|
|
|
![]() ![]() |
|
Lo-Fi Version | Time is now: 22nd May 2013 - 09:32 PM |