Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Usage

Reply
 
Thread Tools Display Modes
Old 25th March 2009, 12:47   #1  |  Link
leoenc
Registered User
 
Join Date: Mar 2007
Posts: 94
DirectShowSource & audio hardware

Is it possible to use DirectShowSource on a machine without any audio hardware?
I'm trying to serve an FLV to x264, but can't make the AVS work.
I have FLVsplitter and ffdshow rendering the video graph, but getting a "no audio hardware" error.
leoenc is offline   Reply With Quote
Old 25th March 2009, 13:42   #2  |  Link
mgh
Registered User
 
Join Date: Oct 2004
Location: India
Posts: 309
directshowsource(yourfile,audio=false)
__________________
A shut mouth gathers no foot
mgh is offline   Reply With Quote
Old 25th March 2009, 14:12   #3  |  Link
leoenc
Registered User
 
Join Date: Mar 2007
Posts: 94
Thanks but I've already tried adding audio=false and it has no effect.
leoenc is offline   Reply With Quote
Old 25th March 2009, 17:40   #4  |  Link
Sagekilla
x264aholic
 
Join Date: Jul 2007
Location: New York
Posts: 1,739
Try building a graph using graphedit, and load it using DirectShowsource(). That should give you complete access over what's being input.
__________________
You can't call your encoding speed slow until you start measuring in seconds per frame.
Sagekilla is offline   Reply With Quote
Old 25th March 2009, 22:26   #5  |  Link
IanB
Avisynth Developer
 
Join Date: Jan 2003
Location: Melbourne, Australia
Posts: 2,246
I thought I had fixed this in 2.5.8.

Please submit the logfile from an attempt to DirectShowSource("yourfile",audio=false, logfile="Blah.log", logmask=-1)
IanB is offline   Reply With Quote
Old 26th March 2009, 15:33   #6  |  Link
leoenc
Registered User
 
Join Date: Mar 2007
Posts: 94
IanB,

Here is the log:

Code:
00:00:00.000 fff 0x00000000 DirectShowSource 2.5.8 build:Dec 22 2008 [08:45:59]
00:00:00.000 080 0x014527E8 0x00000F30 New GetSample (video).
00:00:00.000 080 0x014527D0 0x00000F30 New DirectShowSource.
00:00:00.004 040 0x014527E8 0x00000F30 GetSample::AddRef() -> 2
00:00:00.004 008 0x014527E8 0x00000F30 GetSample::JoinFilterGraph(0x013c9250, GetSample)
00:00:00.004 008 0x014527E8 0x00000F30 GetSample::QueryInterface({8e1c39a1-de53-11cf-aa63-0080c744528d}, ppv) ** E_NOINTERFACE **
00:00:00.004 008 0x014527E8 0x00000F30 GetSample::QueryInterface({f90a6130-b658-11d2-ae49-0000f8754b99}, ppv) ** E_NOINTERFACE **
00:00:00.018 008 0x014527E8 0x00000F30 GetSample::EnumPins()
00:00:00.018 080 0x014532E8 0x00000F30 New GetSampleEnumPins.
00:00:00.018 040 0x014527E8 0x00000F30 GetSample::AddRef() -> 3
00:00:00.018 008 0x014527E8 0x00000F30 GetSample::QueryDirection()
00:00:00.018 040 0x014527E8 0x00000F30 GetSample::Release() -> 2
00:00:00.018 080 0x014532E8 0x00000F30 ~GetSampleEnumPins.
00:00:00.018 008 0x014527E8 0x00000F30 GetSample::EnumPins()
00:00:00.018 080 0x014532E8 0x00000F30 New GetSampleEnumPins.
00:00:00.018 040 0x014527E8 0x00000F30 GetSample::AddRef() -> 3
00:00:00.018 008 0x014527E8 0x00000F30 GetSample::QueryDirection()
00:00:00.018 020 0x014527E8 0x00000F30 GetSample::ConnectedTo() ** VFW_E_NOT_CONNECTED **
00:00:00.018 040 0x014527E8 0x00000F30 GetSample::Release() -> 2
00:00:00.018 080 0x014532E8 0x00000F30 ~GetSampleEnumPins.
00:00:00.018 040 0x014527E8 0x00000F30 GetSample::AddRef() -> 3
00:00:00.018 008 0x014527E8 0x00000F30 GetSample::EnumPins()
00:00:00.018 080 0x014532E8 0x00000F30 New GetSampleEnumPins.
00:00:00.018 040 0x014527E8 0x00000F30 GetSample::AddRef() -> 4
00:00:00.018 008 0x014527E8 0x00000F30 GetSample::QueryDirection()
00:00:00.018 040 0x014527E8 0x00000F30 GetSample::AddRef() -> 5
00:00:00.018 008 0x014527E8 0x00000F30 GetSample::QueryPinInfo() 0x014527e8
00:00:00.018 040 0x014527E8 0x00000F30 GetSample::Release() -> 4
00:00:00.018 020 0x014527E8 0x00000F30 GetSample::ConnectedTo() ** VFW_E_NOT_CONNECTED **
00:00:00.018 008 0x014527E8 0x00000F30 GetSample::QueryInternalConnections()
00:00:00.018 008 0x014527E8 0x00000F30 GetSample::QueryDirection()
00:00:00.018 040 0x014527E8 0x00000F30 GetSample::AddRef() -> 5
00:00:00.018 001 0x014527E8 0x00000F30 GetSample::QueryAccept(video) reject major type {e436eb83-524f-11ce-9f53-0020af0ba770}
00:00:00.018 020 0x014527E8 0x00000F30 GetSample::ReceiveConnection() ** VFW_E_TYPE_NOT_ACCEPTED **
00:00:00.018 040 0x014527E8 0x00000F30 GetSample::Release() -> 4
00:00:00.018 008 0x014527E8 0x00000F30 GetSample::QueryDirection()
00:00:00.018 008 0x014527E8 0x00000F30 GetSample::EnumMediaTypes() ** E_NOTIMPL **
00:00:00.018 040 0x014527E8 0x00000F30 GetSample::Release() -> 3
00:00:00.018 080 0x014532E8 0x00000F30 ~GetSampleEnumPins.
00:00:00.018 040 0x014527E8 0x00000F30 GetSample::Release() -> 2
00:00:00.088 040 0x014527E8 0x00000F30 GetSample::AddRef() -> 3
00:00:00.088 008 0x014527E8 0x00000F30 GetSample::EnumPins()
00:00:00.088 080 0x0145D250 0x00000F30 New GetSampleEnumPins.
00:00:00.088 040 0x014527E8 0x00000F30 GetSample::AddRef() -> 4
00:00:00.088 008 0x014527E8 0x00000F30 GetSample::QueryDirection()
00:00:00.089 040 0x014527E8 0x00000F30 GetSample::AddRef() -> 5
00:00:00.089 008 0x014527E8 0x00000F30 GetSample::QueryPinInfo() 0x014527e8
00:00:00.089 040 0x014527E8 0x00000F30 GetSample::Release() -> 4
00:00:00.089 020 0x014527E8 0x00000F30 GetSample::ConnectedTo() ** VFW_E_NOT_CONNECTED **
00:00:00.089 008 0x014527E8 0x00000F30 GetSample::QueryInternalConnections()
00:00:00.089 008 0x014527E8 0x00000F30 GetSample::EnumMediaTypes() ** E_NOTIMPL **
00:00:00.089 008 0x014527E8 0x00000F30 GetSample::QueryDirection()
00:00:00.089 040 0x014527E8 0x00000F30 GetSample::AddRef() -> 5
00:00:00.089 008 0x014527E8 0x00000F30 GetSample::QueryInterface({56a8689d-0ad4-11ce-b03a-0020af0ba770}, ppv)
00:00:00.089 040 0x014527E8 0x00000F30 GetSample::AddRef() -> 6
00:00:00.089 001 0x014527E8 0x00000F30 GetSample::QueryAccept(video) MEDIATYPE_Video
00:00:00.089 001 0x014527E8 0x00000F30 *** Video: Subtype rejected - {31564c46-0000-0010-8000-00aa00389b71}
00:00:00.089 020 0x014527E8 0x00000F30 GetSample::ReceiveConnection() ** VFW_E_TYPE_NOT_ACCEPTED **
00:00:00.089 040 0x014527E8 0x00000F30 GetSample::Release() -> 5
00:00:00.089 040 0x014527E8 0x00000F30 GetSample::Release() -> 4
00:00:00.089 040 0x014527E8 0x00000F30 GetSample::Release() -> 3
00:00:00.089 080 0x0145D250 0x00000F30 ~GetSampleEnumPins.
00:00:00.089 040 0x014527E8 0x00000F30 GetSample::Release() -> 2
00:00:00.118 040 0x014527E8 0x00000F30 GetSample::AddRef() -> 3
00:00:00.118 008 0x014527E8 0x00000F30 GetSample::GetClassID() E_NOTIMPL
00:00:00.118 040 0x014527E8 0x00000F30 GetSample::Release() -> 2
00:00:00.144 040 0x014527E8 0x00000F30 GetSample::AddRef() -> 3
00:00:00.144 008 0x014527E8 0x00000F30 GetSample::EnumPins()
00:00:00.144 080 0x0145D410 0x00000F30 New GetSampleEnumPins.
00:00:00.144 040 0x014527E8 0x00000F30 GetSample::AddRef() -> 4
00:00:00.144 008 0x014527E8 0x00000F30 GetSample::QueryDirection()
00:00:00.144 040 0x014527E8 0x00000F30 GetSample::AddRef() -> 5
00:00:00.144 008 0x014527E8 0x00000F30 GetSample::QueryPinInfo() 0x014527e8
00:00:00.144 040 0x014527E8 0x00000F30 GetSample::Release() -> 4
00:00:00.144 020 0x014527E8 0x00000F30 GetSample::ConnectedTo() ** VFW_E_NOT_CONNECTED **
00:00:00.144 008 0x014527E8 0x00000F30 GetSample::QueryInternalConnections()
00:00:00.144 040 0x014527E8 0x00000F30 GetSample::AddRef() -> 5
00:00:00.144 008 0x014527E8 0x00000F30 GetSample::QueryPinInfo() 0x014527e8
00:00:00.144 040 0x014527E8 0x00000F30 GetSample::Release() -> 4
00:00:00.144 008 0x014527E8 0x00000F30 GetSample::GetClassID() E_NOTIMPL
00:00:00.144 008 0x014527E8 0x00000F30 GetSample::EnumMediaTypes() ** E_NOTIMPL **
00:00:00.144 040 0x014527E8 0x00000F30 GetSample::AddRef() -> 5
00:00:00.144 008 0x014527E8 0x00000F30 GetSample::QueryPinInfo() 0x014527e8
00:00:00.144 040 0x014527E8 0x00000F30 GetSample::Release() -> 4
00:00:00.144 008 0x014527E8 0x00000F30 GetSample::GetClassID() E_NOTIMPL
00:00:00.144 008 0x014527E8 0x00000F30 GetSample::QueryDirection()
00:00:00.144 040 0x014527E8 0x00000F30 GetSample::AddRef() -> 5
00:00:00.144 008 0x014527E8 0x00000F30 GetSample::QueryInterface({56a8689d-0ad4-11ce-b03a-0020af0ba770}, ppv)
00:00:00.144 040 0x014527E8 0x00000F30 GetSample::AddRef() -> 6
00:00:00.144 001 0x014527E8 0x00000F30 GetSample::QueryAccept(video) MEDIATYPE_Video
00:00:00.144 001 0x014527E8 0x00000F30 *** Video: format accepted: 320x240, pixel_type a0000008, avg_time_per_frame 400000x100ns
00:00:00.144 001 0x014527E8 0x00000F30 *** Video: bFixedSizeSamples=1, bTemporalCompression=0, lSampleSize=115200
00:00:00.144 008 0x014527E8 0x00000F30 GetSample::ReceiveConnection(0x0163fdac, pmt)
00:00:00.144 040 0x014527E8 0x00000F30 GetSample::AddRef() -> 7
00:00:00.144 008 0x014527E8 0x00000F30 GetSample::QueryPinInfo() 0x014527e8
00:00:00.144 040 0x014527E8 0x00000F30 GetSample::Release() -> 6
00:00:00.144 008 0x014527E8 0x00000F30 GetSample::GetClassID() E_NOTIMPL
00:00:00.144 008 0x014527E8 0x00000F30 GetSample::GetAllocatorRequirements(0, 0, 0, 0) E_NOTIMPL
00:00:00.144 008 0x014527E8 0x00000F30 GetSample::GetAllocator() VFW_E_NO_ALLOCATOR
00:00:00.144 040 0x014527E8 0x00000F30 GetSample::AddRef() -> 7
00:00:00.144 008 0x014527E8 0x00000F30 GetSample::QueryPinInfo() 0x014527e8
00:00:00.144 040 0x014527E8 0x00000F30 GetSample::Release() -> 6
00:00:00.144 008 0x014527E8 0x00000F30 GetSample::GetClassID() E_NOTIMPL
00:00:00.144 040 0x014527E8 0x00000F30 GetSample::AddRef() -> 7
00:00:00.144 008 0x014527E8 0x00000F30 GetSample::QueryPinInfo() 0x014527e8
00:00:00.144 040 0x014527E8 0x00000F30 GetSample::Release() -> 6
00:00:00.144 008 0x014527E8 0x00000F30 GetSample::GetClassID() E_NOTIMPL
00:00:00.145 008 0x014527E8 0x00000F30 GetSample::NotifyAllocator(0x014baa0c, 0) was 0x00000000 (video)
00:00:00.145 040 0x014527E8 0x00000F30 GetSample::AddRef() -> 7
00:00:00.145 008 0x014527E8 0x00000F30 GetSample::QueryInterface({56a8689d-0ad4-11ce-b03a-0020af0ba770}, ppv)
00:00:00.145 008 0x014527E8 0x00000F30 GetSample::QueryInternalConnections()
00:00:00.145 040 0x014527E8 0x00000F30 GetSample::AddRef() -> 8
00:00:00.145 008 0x014527E8 0x00000F30 GetSample::QueryInterface({0000010c-0000-0000-c000-000000000046}, ppv)
00:00:00.145 008 0x014527E8 0x00000F30 GetSample::GetClassID() E_NOTIMPL
00:00:00.145 040 0x014527E8 0x00000F30 GetSample::Release() -> 7
00:00:00.146 040 0x014527E8 0x00000F30 GetSample::AddRef() -> 8
00:00:00.146 008 0x014527E8 0x00000F30 GetSample::QueryId()
00:00:00.146 040 0x014527E8 0x00000F30 GetSample::AddRef() -> 9
00:00:00.146 008 0x014527E8 0x00000F30 GetSample::QueryPinInfo() 0x014527e8
00:00:00.146 040 0x014527E8 0x00000F30 GetSample::Release() -> 8
00:00:00.146 040 0x014527E8 0x00000F30 GetSample::Release() -> 7
00:00:00.146 008 0x014527E8 0x00000F30 GetSample::QueryId()
00:00:00.146 008 0x014527E8 0x00000F30 GetSample::ConnectedTo() is 0x0163fdac
00:00:00.146 040 0x014527E8 0x00000F30 GetSample::AddRef() -> 8
00:00:00.146 008 0x014527E8 0x00000F30 GetSample::QueryPinInfo() 0x014527e8
00:00:00.146 040 0x014527E8 0x00000F30 GetSample::Release() -> 7
00:00:00.146 040 0x014527E8 0x00000F30 GetSample::Release() -> 6
00:00:00.146 080 0x0145D410 0x00000F30 ~GetSampleEnumPins.
00:00:00.146 040 0x014527E8 0x00000F30 GetSample::Release() -> 5
00:00:00.146 040 0x014527E8 0x00000F30 GetSample::AddRef() -> 6
00:00:00.146 008 0x014527E8 0x00000F30 GetSample::QueryInternalConnections()
00:00:00.146 040 0x014527E8 0x00000F30 GetSample::Release() -> 5
00:00:00.146 040 0x014527E8 0x00000F30 GetSample::AddRef() -> 6
00:00:00.146 008 0x014527E8 0x00000F30 GetSample::EnumPins()
00:00:00.146 080 0x0145D410 0x00000F30 New GetSampleEnumPins.
00:00:00.146 040 0x014527E8 0x00000F30 GetSample::AddRef() -> 7
00:00:00.146 008 0x014527E8 0x00000F30 GetSample::QueryDirection()
00:00:00.146 040 0x014527E8 0x00000F30 GetSample::AddRef() -> 8
00:00:00.146 008 0x014527E8 0x00000F30 GetSample::QueryPinInfo() 0x014527e8
00:00:00.146 040 0x014527E8 0x00000F30 GetSample::Release() -> 7
00:00:00.146 008 0x014527E8 0x00000F30 GetSample::ConnectedTo() is 0x0163fdac
00:00:00.146 040 0x014527E8 0x00000F30 GetSample::Release() -> 6
00:00:00.146 080 0x0145D410 0x00000F30 ~GetSampleEnumPins.
00:00:00.146 040 0x014527E8 0x00000F30 GetSample::Release() -> 5
00:00:00.161 040 0x014527E8 0x00000F30 GetSample::AddRef() -> 6
00:00:00.161 008 0x014527E8 0x00000F30 GetSample::QueryInternalConnections()
00:00:00.161 040 0x014527E8 0x00000F30 GetSample::Release() -> 5
00:00:00.161 040 0x014527E8 0x00000F30 GetSample::AddRef() -> 6
00:00:00.161 008 0x014527E8 0x00000F30 GetSample::EnumPins()
00:00:00.161 080 0x01453490 0x00000F30 New GetSampleEnumPins.
00:00:00.161 040 0x014527E8 0x00000F30 GetSample::AddRef() -> 7
00:00:00.161 008 0x014527E8 0x00000F30 GetSample::QueryDirection()
00:00:00.161 040 0x014527E8 0x00000F30 GetSample::AddRef() -> 8
00:00:00.161 008 0x014527E8 0x00000F30 GetSample::QueryPinInfo() 0x014527e8
00:00:00.161 040 0x014527E8 0x00000F30 GetSample::Release() -> 7
00:00:00.161 008 0x014527E8 0x00000F30 GetSample::ConnectedTo() is 0x0163fdac
00:00:00.161 040 0x014527E8 0x00000F30 GetSample::Release() -> 6
00:00:00.161 080 0x01453490 0x00000F30 ~GetSampleEnumPins.
00:00:00.161 040 0x014527E8 0x00000F30 GetSample::Release() -> 5
00:00:00.229 080 0x014527E8 0x00000F30 Releasing Allocator 0x014baa0c.
00:00:00.229 008 0x014527E8 0x00000F30 GetSample::Disconnect()
00:00:00.229 040 0x014527E8 0x00000F30 GetSample::Release() -> 4
00:00:00.230 040 0x014527E8 0x00000F30 GetSample::Release() -> 3
00:00:00.230 040 0x014527E8 0x00000F30 GetSample::Release() -> 2
00:00:00.231 040 0x014527E8 0x00000F30 GetSample::AddRef() -> 3
00:00:00.231 008 0x014527E8 0x00000F30 GetSample::GetClassID() E_NOTIMPL
00:00:00.231 040 0x014527E8 0x00000F30 GetSample::Release() -> 2
00:00:00.232 008 0x014527E8 0x00000F30 GetSample::FindPin(GetSample01, ppPin) E_NOTIMPL
00:00:00.233 008 0x014527E8 0x00000F30 GetSample::GetState(), state is State_Stopped
00:00:00.233 010 0x014527E8 0x00000F30 StopGraph() indicating done with sample - State_Stopped
00:00:00.236 008 0x014527E8 0x00000F30 GetSample::QueryInterface({f90a6130-b658-11d2-ae49-0000f8754b99}, ppv) ** E_NOINTERFACE **
00:00:00.236 008 0x014527E8 0x00000F30 GetSample::EnumPins()
00:00:00.236 080 0x0145D4F0 0x00000F30 New GetSampleEnumPins.
00:00:00.236 040 0x014527E8 0x00000F30 GetSample::AddRef() -> 3
00:00:00.236 008 0x014527E8 0x00000F30 GetSample::QueryDirection()
00:00:00.236 020 0x014527E8 0x00000F30 GetSample::ConnectedTo() ** VFW_E_NOT_CONNECTED **
00:00:00.236 040 0x014527E8 0x00000F30 GetSample::Release() -> 2
00:00:00.236 080 0x0145D4F0 0x00000F30 ~GetSampleEnumPins.
00:00:00.236 008 0x014527E8 0x00000F30 GetSample::SetSyncSource(0x00000000), was 0x00000000
00:00:00.236 008 0x014527E8 0x00000F30 GetSample::JoinFilterGraph(0x00000000, (null))
00:00:00.236 008 0x014527E8 0x00000F30 GetSample::QueryInterface({8e1c39a1-de53-11cf-aa63-0080c744528d}, ppv) ** E_NOINTERFACE **
00:00:00.236 008 0x014527E8 0x00000F30 GetSample::GetState(), state is State_Stopped
00:00:00.236 040 0x014527E8 0x00000F30 GetSample::Release() -> 1
00:00:00.236 080 0x014527E8 0x00000F30 ~GetSample(video).
00:00:00.236 fff 0x00000000 Close video log 1.
leoenc is offline   Reply With Quote
Old 27th March 2009, 14:17   #7  |  Link
IanB
Avisynth Developer
 
Join Date: Jan 2003
Location: Melbourne, Australia
Posts: 2,246
Hmmm, most strange It does all the right things then just disconnects the GetSample input pin and stops.

What is the exact error message text?

Is it DirectShowSource() reporting the error or does your application require an audio track. i.e. try :-
Code:
DirectShowSource("yourfile",audio=false, logfile="Blah.log", logmask=-1)
AudioDub(BlankClip(Last, audio_rate=48000, channels=2))
IanB is offline   Reply With Quote
Old 28th March 2009, 13:36   #8  |  Link
leoenc
Registered User
 
Join Date: Mar 2007
Posts: 94
It seems to be DirectShowSource that is reporting the error. I've tried your suggestion and the error remains the same:

Avisynth open failure:
DirectShowSource: couldn't open file test.flv:
No combination of filters could be found to render the stream.
leoenc is offline   Reply With Quote
Old 28th March 2009, 14:26   #9  |  Link
IanB
Avisynth Developer
 
Join Date: Jan 2003
Location: Melbourne, Australia
Posts: 2,246
If you render test.flv in graphedit what graph do you end up with?
IanB is offline   Reply With Quote
Old 28th March 2009, 21:14   #10  |  Link
leoenc
Registered User
 
Join Date: Mar 2007
Posts: 94
After okaying the error "Cannot play back the audio stream: no audio hardware is available", this is the graph that shows:

test.flv -> FLV Splitter -> ffdshow Video Decoder -> AVI Decompressor -> Video Renderer

When playing the graph, the video plays for a few seconds and then stops.
leoenc is offline   Reply With Quote
Old 29th March 2009, 01:23   #11  |  Link
IanB
Avisynth Developer
 
Join Date: Jan 2003
Location: Melbourne, Australia
Posts: 2,246
Okay, "no audio hardware is available", that is the error message I was expecting and is what is now handled in DirectShowSource() 2.5.8.

The "No combination of filters could be found to render the stream." message usually means you do not have all the required components installed, but obviously you do. The log entries in bold (below) prove that a valid connection was established, but for some dumb reason something threw it away (line in red).

I suspect the FindPin() call (line in blue), which we do not implement, was the beginning of an attempt to put that connection back. Obviously it will always fail, I guess you would like the FindPin() call implemented, I will add it to the list.
Code:
00:00:00.144 001 0x014527E8 0x00000F30 GetSample::QueryAccept(video) MEDIATYPE_Video
00:00:00.144 001 0x014527E8 0x00000F30 *** Video: format accepted: 320x240, pixel_type a0000008, avg_time_per_frame 400000x100ns
00:00:00.144 001 0x014527E8 0x00000F30 *** Video: bFixedSizeSamples=1, bTemporalCompression=0, lSampleSize=115200
00:00:00.144 008 0x014527E8 0x00000F30 GetSample::ReceiveConnection(0x0163fdac, pmt)

00:00:00.146 008 0x014527E8 0x00000F30 GetSample::QueryPinInfo() 0x014527e8
00:00:00.146 008 0x014527E8 0x00000F30 GetSample::QueryId()
00:00:00.146 008 0x014527E8 0x00000F30 GetSample::ConnectedTo() is 0x0163fdac


00:00:00.229 008 0x014527E8 0x00000F30 GetSample::Disconnect()


00:00:00.232 008 0x014527E8 0x00000F30 GetSample::FindPin(GetSample01, ppPin) E_NOTIMPL
In the mean time you will need to manually build a graph and use it, i.e. delete the "Video Renderer" and save this :-

test.flv -> FLV Splitter -> ffdshow Video Decoder -> AVI Decompressor ->
IanB is offline   Reply With Quote
Old 29th March 2009, 10:44   #12  |  Link
leoenc
Registered User
 
Join Date: Mar 2007
Posts: 94
Okay IanB, thanks a lot for your help with this.
leoenc is offline   Reply With Quote
Old 25th April 2009, 01:58   #13  |  Link
IanB
Avisynth Developer
 
Join Date: Jan 2003
Location: Melbourne, Australia
Posts: 2,246
Bryce Kahle (bwkahle) on sourceforge.net emailed a patch.
Code:
  HRESULT __stdcall GetSample::FindPin(LPCWSTR Id, IPin** ppPin) { // See QueryID
    if (!Id) {
      dssRPT0(dssERROR, "GetSample::FindPin(Id, ppPin) ** E_POINTER **\n");
      return E_POINTER;
    }

    if (!ppPin) {
      dssRPT1(dssERROR, "GetSample::FindPin(%ls, ppPin) ** E_POINTER **\n", Id);
      return E_POINTER;
    }

    if (lstrcmpW(L"GetSample01", Id)) {
      dssRPT1(dssERROR, "GetSample::FindPin(%ls, ppPin) ** VFW_E_NOT_FOUND **\n", Id);
      *ppPin = NULL;
      return VFW_E_NOT_FOUND;
    }

    dssRPT1(dssCMD, "GetSample::FindPin(%ls, ppPin)\n", Id);

    *ppPin = static_cast<IPin*>(this);

    AddRef();

    return S_OK;
  }
I found a few minutes and built a new version of DirectShowSource.dll that includes code for the required IPin::FindPin() interface.

Download it from here :- DirectShowSource_2587.zip

Replace your existing DirectShowSource.dll in your Avisynth plugin directory with the one in the .ZIP file.

Last edited by IanB; 25th April 2009 at 04:32.
IanB is offline   Reply With Quote
Old 25th April 2009, 03:15   #14  |  Link
squid_80
Registered User
 
Join Date: Dec 2004
Location: Melbourne, AU
Posts: 1,890
I might be missing something but it doesn't look like the reference count is being incremented there?
squid_80 is offline   Reply With Quote
Old 25th April 2009, 04:06   #15  |  Link
IanB
Avisynth Developer
 
Join Date: Jan 2003
Location: Melbourne, Australia
Posts: 2,246
Damn! I hate COM
IanB is offline   Reply With Quote
Old 4th July 2009, 05:38   #16  |  Link
vi
Registered User
 
Join Date: Mar 2009
Posts: 6
Source code

Hi,

could you please post the source code to the updated DLL here or update the archive on sourceforge ? Thanks.
vi is offline   Reply With Quote
Old 4th July 2009, 08:43   #17  |  Link
IanB
Avisynth Developer
 
Join Date: Jan 2003
Location: Melbourne, Australia
Posts: 2,246
directshow_source.cpp revision 1.32
IanB is offline   Reply With Quote
Old 4th July 2009, 19:07   #18  |  Link
vi
Registered User
 
Join Date: Mar 2009
Posts: 6
OK I thought it was a specially patched version. Thanks.
vi is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 06:41.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.